Go to the documentation of this file.
7 #ifndef INCLUDE_JET_CYLINDER3_H_
8 #define INCLUDE_JET_CYLINDER3_H_
66 const Ray3D& ray)
const override;
103 #endif // INCLUDE_JET_CYLINDER3_H_
Vector3D closestPointLocal(const Vector3D &otherPoint) const override
Cylinder3(const Cylinder3 &other)
Copy constructor.
Front-end to create Cylinder3 objects step by step.
Definition: cylinder3.h:77
std::shared_ptr< Cylinder3 > Cylinder3Ptr
Shared pointer type for the Cylinder3.
Definition: cylinder3.h:70
BoundingBox3D boundingBoxLocal() const override
Returns the bounding box of this surface object in local frame.
Cylinder3Ptr makeShared() const
Builds shared pointer of Cylinder3 instance.
3-D axis-aligned bounding box class.
Definition: bounding_box3.h:41
double closestDistanceLocal(const Vector3D &otherPoint) const override
Builder & withCenter(const Vector3D ¢er)
Returns builder with center.
Builder & withHeight(double height)
Returns builder with height.
Base class for 3-D surface builder.
Definition: surface3.h:115
bool isNormalFlipped
Flips normal when calling Surface3::closestNormal(...).
Definition: surface3.h:33
3-D cylinder geometry.
Definition: cylinder3.h:20
static Builder builder()
Returns builder fox Cylinder3.
Definition: advection_solver2.h:18
double radius
Radius of the cylinder.
Definition: cylinder3.h:28
Vector3D closestNormalLocal(const Vector3D &otherPoint) const override
Cylinder3(const Vector3D ¢er, double radius, double height, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs a cylinder with center, radius, and height.
Cylinder3(const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs a cylinder with.
Vector3D center
Center of the cylinder.
Definition: cylinder3.h:22
Transform3 transform
Local-to-world transform.
Definition: surface3.h:30
Class for 2-D ray.
Definition: ray3.h:21
Cylinder3 build() const
Builds Cylinder3.
Struct that represents ray-surface intersection point.
Definition: surface3.h:19
3-D vector class.
Definition: vector3.h:25
bool intersectsLocal(const Ray3D &ray) const override
SurfaceRayIntersection3 closestIntersectionLocal(const Ray3D &ray) const override
Returns the closest intersection point for given ray in local frame.
Abstract base class for 3-D surface.
Definition: surface3.h:27
double height
Height of the cylinder.
Definition: cylinder3.h:31
Builder & withRadius(double radius)
Returns builder with radius.