9 #ifndef CUBBYFLOW_PLANE2_H 10 #define CUBBYFLOW_PLANE2_H 49 bool IntersectsLocal(
const Ray2D& ray)
const override;
Builder & WithPoint(const Vector2D &point)
Returns builder with point on the plane.
Vector2D point
Point that lies on the plane.
Definition: Plane2.h:31
Plane2 Build() const
Builds Plane2.
Builder & WithNormal(const Vector2D &normal)
Returns builder with plane normal.
Base class for 2-D surface builder.
Definition: Surface2.h:106
Class for 2-D ray.
Definition: Ray2.h:23
Transform2 transform
Local-to-world transform.
Definition: Surface2.h:36
Structure that represents ray-surface intersection point.
Definition: Surface2.h:23
Abstract base class for 2-D surface.
Definition: Surface2.h:32
static Builder GetBuilder()
Returns builder fox Plane2.
Plane2Ptr MakeShared() const
Builds shared pointer of Plane2 instance.
Front-end to create Plane2 objects step by step.
Definition: Plane2.h:64
2-D plane geometry.
Definition: Plane2.h:22
Vector2D normal
Plane normal.
Definition: Plane2.h:28
2-D axis-aligned bounding box class.
Definition: BoundingBox2.h:44
bool isNormalFlipped
Flips normal.
Definition: Surface2.h:39
Definition: pybind11Utils.h:24
Vector2< double > Vector2D
Double-type 2D vector.
Definition: Vector2.h:341
std::shared_ptr< Plane2 > Plane2Ptr
Shared pointer for the Plane2 type.
Definition: Plane2.h:59
Plane2(const Transform2 &transform=Transform2(), bool isNormalFlipped=false)
Constructs a plane that crosses (0, 0) with surface normal (0, 1).
2-D vector class.
Definition: Vector2.h:26