Go to the documentation of this file.
7 #ifndef INCLUDE_JET_PLANE2_H_
8 #define INCLUDE_JET_PLANE2_H_
54 bool intersectsLocal(
const Ray2D& ray)
const override;
61 const Ray2D& ray)
const override;
92 #endif // INCLUDE_JET_PLANE2_H_
Struct that represents ray-surface intersection point.
Definition: surface2.h:19
bool isNormalFlipped
Flips normal.
Definition: surface2.h:33
Plane2(const Transform2 &transform=Transform2(), bool isNormalFlipped=false)
Constructs a plane that crosses (0, 0) with surface normal (0, 1).
Plane2(const Vector2D &normal, const Vector2D &point, const Transform2 &transform=Transform2(), bool isNormalFlipped=false)
Constructs a plane that cross point with surface normal normal.
Plane2 build() const
Builds Plane2.
Builder & withNormal(const Vector2D &normal)
Returns builder with plane normal.
Vector2< double > Vector2D
Double-type 2D vector.
Definition: vector2.h:340
Class for 2-D ray.
Definition: ray2.h:21
Plane2(const Plane2 &other)
Copy constructor.
Builder & withPoint(const Vector2D &point)
Returns builder with point on the plane.
2-D plane geometry.
Definition: plane2.h:20
Plane2Ptr makeShared() const
Builds shared pointer of Plane2 instance.
Vector2D normal
Plane normal.
Definition: plane2.h:25
Definition: advection_solver2.h:18
Transform2 transform
Local-to-world transform.
Definition: surface2.h:30
Vector2D point
Point that lies on the plane.
Definition: plane2.h:28
2-D vector class.
Definition: vector2.h:24
Base class for 2-D surface builder.
Definition: surface2.h:115
bool isBounded() const override
Returns true if bounding box can be defined.
2-D axis-aligned bounding box class.
Definition: bounding_box2.h:41
Abstract base class for 2-D surface.
Definition: surface2.h:27
static Builder builder()
Returns builder fox Plane2.
Front-end to create Plane2 objects step by step.
Definition: plane2.h:71
std::shared_ptr< Plane2 > Plane2Ptr
Shared pointer for the Plane2 type.
Definition: plane2.h:65