Go to the documentation of this file.
7 #ifndef INCLUDE_JET_BOX3_H_
8 #define INCLUDE_JET_BOX3_H_
66 const Ray3D& ray)
const override;
101 #endif // INCLUDE_JET_BOX3_H_
Box3(const BoundingBox3D &boundingBox, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs a box with BoundingBox3D instance.
std::shared_ptr< Box3 > Box3Ptr
Shared pointer type for the Box3.
Definition: box3.h:70
bool intersectsLocal(const Ray3D &ray) const override
static Builder builder()
Returns builder fox Box3.
Builder & withUpperCorner(const Vector3D &pt)
Returns builder with upper corner set.
3-D axis-aligned bounding box class.
Definition: bounding_box3.h:41
Vector3D closestPointLocal(const Vector3D &otherPoint) const override
BoundingBox3D bound
Bounding box of this box.
Definition: box3.h:28
Box3 build() const
Builds Box3.
Base class for 3-D surface builder.
Definition: surface3.h:115
Box3(const Box3 &other)
Copy constructor.
bool isNormalFlipped
Flips normal when calling Surface3::closestNormal(...).
Definition: surface3.h:33
Builder & withBoundingBox(const BoundingBox3D &bbox)
Returns builder with bounding box.
BoundingBox3D boundingBoxLocal() const override
Returns the bounding box of this surface object in local frame.
Definition: advection_solver2.h:18
Front-end to create Box3 objects step by step.
Definition: box3.h:76
BoundingBox3< double > BoundingBox3D
Double-type 3-D BoundingBox.
Definition: bounding_box3.h:127
Box3(const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs (0, 0, 0) x (1, 1, 1) box.
Box3Ptr makeShared() const
Builds shared pointer of Box3 instance.
SurfaceRayIntersection3 closestIntersectionLocal(const Ray3D &ray) const override
Returns the closest intersection point for given ray in local frame.
3-D box geometry.
Definition: box3.h:22
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
Builder & withLowerCorner(const Vector3D &pt)
Returns builder with lower corner set.
3-D vector class.
Definition: vector3.h:25
Box3(const Vector3D &lowerCorner, const Vector3D &upperCorner, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs a box with given lowerCorner and upperCorner.
BoundingBox3D boundingBox() const
Returns the bounding box of this surface object.
Vector3D closestNormalLocal(const Vector3D &otherPoint) const override
Abstract base class for 3-D surface.
Definition: surface3.h:27