Go to the documentation of this file.
7 #ifndef INCLUDE_JET_PLANE3_H_
8 #define INCLUDE_JET_PLANE3_H_
70 const Ray3D& ray)
const override;
101 #endif // INCLUDE_JET_PLANE3_H_
static Builder builder()
Returns builder fox Plane3.
bool intersectsLocal(const Ray3D &ray) const override
3-D plane geometry.
Definition: plane3.h:20
Vector3D normal
Plane normal.
Definition: plane3.h:25
Plane3(const Vector3D &point0, const Vector3D &point1, const Vector3D &point2, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Plane3 build() const
Builds Plane3.
Vector3D closestNormalLocal(const Vector3D &otherPoint) const override
3-D axis-aligned bounding box class.
Definition: bounding_box3.h:41
Plane3Ptr makeShared() const
Builds shared pointer of Plane3 instance.
Plane3(const Vector3D &normal, const Vector3D &point, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs a plane that cross point with surface normal normal.
std::shared_ptr< Plane3 > Plane3Ptr
Shared pointer for the Plane3 type.
Definition: plane3.h:74
Plane3(const Plane3 &other)
Copy constructor.
BoundingBox3D boundingBoxLocal() const override
Returns the bounding box of this surface object in local frame.
Vector3D closestPointLocal(const Vector3D &otherPoint) const override
Builder & withNormal(const Vector3D &normal)
Returns builder with plane normal.
Base class for 3-D surface builder.
Definition: surface3.h:115
bool isNormalFlipped
Flips normal when calling Surface3::closestNormal(...).
Definition: surface3.h:33
Definition: advection_solver2.h:18
Plane3(const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs a plane that crosses (0, 0, 0) with surface normal (0, 1, 0).
Front-end to create Plane3 objects step by step.
Definition: plane3.h:80
bool isBounded() const override
Returns true if bounding box can be defined.
Transform3 transform
Local-to-world transform.
Definition: surface3.h:30
Class for 2-D ray.
Definition: ray3.h:21
Struct that represents ray-surface intersection point.
Definition: surface3.h:19
Vector3< double > Vector3D
Double-type 3D vector.
Definition: vector3.h:349
3-D vector class.
Definition: vector3.h:25
Abstract base class for 3-D surface.
Definition: surface3.h:27
Builder & withPoint(const Vector3D &point)
Returns builder with point on the plane.
Vector3D point
Point that lies on the plane.
Definition: plane3.h:28
SurfaceRayIntersection3 closestIntersectionLocal(const Ray3D &ray) const override
Returns the closest intersection point for given ray in local frame.