Go to the documentation of this file.
7 #ifndef INCLUDE_JET_SPHERE2_H_
8 #define INCLUDE_JET_SPHERE2_H_
52 double closestDistanceLocal(
const Vector2D& otherPoint)
const override;
54 bool intersectsLocal(
const Ray2D& ray)
const override;
61 const Ray2D& ray)
const override;
93 #endif // INCLUDE_JET_SPHERE2_H_
std::shared_ptr< Sphere2 > Sphere2Ptr
Shared pointer for the Sphere2 type.
Definition: sphere2.h:65
Sphere2(const Sphere2 &other)
Copy constructor.
Struct that represents ray-surface intersection point.
Definition: surface2.h:19
bool isNormalFlipped
Flips normal.
Definition: surface2.h:33
2-D sphere geometry.
Definition: sphere2.h:21
static Builder builder()
Returns builder fox Sphere2.
double radius
Radius of the sphere.
Definition: sphere2.h:29
Class for 2-D ray.
Definition: ray2.h:21
Front-end to create Sphere2 objects step by step.
Definition: sphere2.h:71
Definition: advection_solver2.h:18
Transform2 transform
Local-to-world transform.
Definition: surface2.h:30
Sphere2Ptr makeShared() const
Builds shared pointer of Sphere2 instance.
Sphere2 build() const
Builds Sphere2.
Sphere2(const Vector2D ¢er, double radius, const Transform2 &transform=Transform2(), bool isNormalFlipped=false)
Constructs a sphere with center and radius.
Vector2D center
Center of the sphere.
Definition: sphere2.h:23
2-D vector class.
Definition: vector2.h:24
Base class for 2-D surface builder.
Definition: surface2.h:115
Builder & withCenter(const Vector2D ¢er)
Returns builder with sphere center.
2-D axis-aligned bounding box class.
Definition: bounding_box2.h:41
Abstract base class for 2-D surface.
Definition: surface2.h:27
Sphere2(const Transform2 &transform=Transform2(), bool isNormalFlipped=false)
Constructs a sphere with center at (0, 0) and radius of 1.
Builder & withRadius(double radius)
Returns builder with sphere radius.