3-D sphere geometry. More...

#include <Core/Geometry/Sphere3.h>

Inheritance diagram for CubbyFlow::Sphere3:
CubbyFlow::Surface3

Classes

class  Builder
 Front-end to create Sphere3 objects step by step. More...
 

Public Member Functions

 Sphere3 (const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
 Constructs a sphere with center at (0, 0, 0) and radius of 1. More...
 
 Sphere3 (const Vector3D &center, double radius, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
 Constructs a sphere with center and radius. More...
 
 Sphere3 (const Sphere3 &other)
 Copy constructor. More...
 
- Public Member Functions inherited from CubbyFlow::Surface3
 Surface3 (const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
 Constructs a surface with normal direction. More...
 
 Surface3 (const Surface3 &other)
 Copy constructor. More...
 
virtual ~Surface3 ()
 Default destructor. More...
 
Vector3D ClosestPoint (const Vector3D &otherPoint) const
 Returns the closest point from the given point otherPoint to the surface. More...
 
BoundingBox3D BoundingBox () const
 Returns the bounding box of this surface object. More...
 
bool Intersects (const Ray3D &ray) const
 Returns true if the given ray intersects with this surface object. More...
 
double ClosestDistance (const Vector3D &otherPoint) const
 
SurfaceRayIntersection3 ClosestIntersection (const Ray3D &ray) const
 Returns the closest intersection point for given ray. More...
 
Vector3D ClosestNormal (const Vector3D &otherPoint) const
 
virtual void UpdateQueryEngine ()
 Updates internal spatial query engine. More...
 

Static Public Member Functions

static Builder GetBuilder ()
 Returns builder fox Sphere3. More...
 

Public Attributes

Vector3D center
 Center of the sphere. More...
 
double radius = 1.0
 Radius of the sphere. More...
 
- Public Attributes inherited from CubbyFlow::Surface3
Transform3 transform
 Local-to-world transform. More...
 
bool isNormalFlipped = false
 Flips normal when calling Surface3::closestNormal(...). More...
 

Additional Inherited Members

Detailed Description

3-D sphere geometry.

This class represents 3-D sphere geometry which extends Surface3 by overriding surface-related queries.

Constructor & Destructor Documentation

◆ Sphere3() [1/3]

CubbyFlow::Sphere3::Sphere3 ( const Transform3 transform = Transform3(),
bool  isNormalFlipped = false 
)

Constructs a sphere with center at (0, 0, 0) and radius of 1.

◆ Sphere3() [2/3]

CubbyFlow::Sphere3::Sphere3 ( const Vector3D center,
double  radius,
const Transform3 transform = Transform3(),
bool  isNormalFlipped = false 
)

Constructs a sphere with center and radius.

◆ Sphere3() [3/3]

CubbyFlow::Sphere3::Sphere3 ( const Sphere3 other)

Copy constructor.

Member Function Documentation

◆ GetBuilder()

static Builder CubbyFlow::Sphere3::GetBuilder ( )
static

Returns builder fox Sphere3.

Member Data Documentation

◆ center

Vector3D CubbyFlow::Sphere3::center

Center of the sphere.

◆ radius

double CubbyFlow::Sphere3::radius = 1.0

Radius of the sphere.


The documentation for this class was generated from the following file: