Go to the documentation of this file.
7 #ifndef INCLUDE_JET_SPHERE3_H_
8 #define INCLUDE_JET_SPHERE3_H_
52 double closestDistanceLocal(
const Vector3D& otherPoint)
const override;
54 bool intersectsLocal(
const Ray3D& ray)
const override;
61 const Ray3D& ray)
const override;
92 #endif // INCLUDE_JET_SPHERE3_H_
3-D axis-aligned bounding box class.
Definition: bounding_box3.h:41
double radius
Radius of the sphere.
Definition: sphere3.h:29
Sphere3(const Vector3D ¢er, double radius, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs a sphere with center and radius.
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 sphere geometry.
Definition: sphere3.h:21
Builder & withRadius(double radius)
Returns builder with sphere radius.
Definition: advection_solver2.h:18
Sphere3(const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs a sphere with center at (0, 0, 0) and radius of 1.
Sphere3(const Sphere3 &other)
Copy constructor.
Sphere3 build() const
Builds Sphere3.
Transform3 transform
Local-to-world transform.
Definition: surface3.h:30
Class for 2-D ray.
Definition: ray3.h:21
static Builder builder()
Returns builder fox Sphere3.
Struct that represents ray-surface intersection point.
Definition: surface3.h:19
Front-end to create Sphere3 objects step by step.
Definition: sphere3.h:70
Builder & withCenter(const Vector3D ¢er)
Returns builder with sphere center.
3-D vector class.
Definition: vector3.h:25
Sphere3Ptr makeShared() const
Builds shared pointer of Sphere3 instance.
Abstract base class for 3-D surface.
Definition: surface3.h:27
std::shared_ptr< Sphere3 > Sphere3Ptr
Shared pointer for the Sphere3 type.
Definition: sphere3.h:65
Vector3D center
Center of the sphere.
Definition: sphere3.h:23