CubbyFlow::ImplicitSurface3 Class Referenceabstract

Abstract base class for 3-D implicit surface. More...

#include <Core/Surface/ImplicitSurface3.h>

Inheritance diagram for CubbyFlow::ImplicitSurface3:
CubbyFlow::Surface3 CubbyFlow::CustomImplicitSurface3 CubbyFlow::ImplicitSurfaceSet3 CubbyFlow::ImplicitTriangleMesh3 CubbyFlow::SurfaceToImplicit3

Public Member Functions

 ImplicitSurface3 (const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
 Default constructor. More...
 
 ImplicitSurface3 (const ImplicitSurface3 &other)
 Copy constructor. More...
 
virtual ~ImplicitSurface3 ()
 Default destructor. More...
 
double SignedDistance (const Vector3D &otherPoint) const
 Returns signed distance from the given point otherPoint. 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...
 

Protected Member Functions

virtual double SignedDistanceLocal (const Vector3D &otherPoint) const =0
 Returns signed distance from the given point otherPoint in local space. More...
 
- Protected Member Functions inherited from CubbyFlow::Surface3
virtual Vector3D ClosestPointLocal (const Vector3D &otherPoint) const =0
 
virtual BoundingBox3D BoundingBoxLocal () const =0
 Returns the bounding box of this surface object in local frame. More...
 
virtual SurfaceRayIntersection3 ClosestIntersectionLocal (const Ray3D &ray) const =0
 Returns the closest intersection point for given ray in local frame. More...
 
virtual Vector3D ClosestNormalLocal (const Vector3D &otherPoint) const =0
 
virtual bool IntersectsLocal (const Ray3D &ray) const
 

Additional Inherited Members

- Public Attributes inherited from CubbyFlow::Surface3
Transform3 transform
 Local-to-world transform. More...
 
bool isNormalFlipped = false
 Flips normal when calling Surface3::closestNormal(...). More...
 

Detailed Description

Abstract base class for 3-D implicit surface.

Constructor & Destructor Documentation

◆ ImplicitSurface3() [1/2]

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

Default constructor.

◆ ImplicitSurface3() [2/2]

CubbyFlow::ImplicitSurface3::ImplicitSurface3 ( const ImplicitSurface3 other)

Copy constructor.

◆ ~ImplicitSurface3()

virtual CubbyFlow::ImplicitSurface3::~ImplicitSurface3 ( )
virtual

Default destructor.

Member Function Documentation

◆ SignedDistance()

double CubbyFlow::ImplicitSurface3::SignedDistance ( const Vector3D otherPoint) const

Returns signed distance from the given point otherPoint.

◆ SignedDistanceLocal()

virtual double CubbyFlow::ImplicitSurface3::SignedDistanceLocal ( const Vector3D otherPoint) const
protectedpure virtual

Returns signed distance from the given point otherPoint in local space.

Implemented in CubbyFlow::SurfaceToImplicit3.


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