CubbyFlow::ImplicitTriangleMesh3 Class Referencefinal

TriangleMesh3 to ImplicitSurface3 converter. More...

#include <Core/Geometry/ImplicitTriangleMesh3.h>

Inheritance diagram for CubbyFlow::ImplicitTriangleMesh3:
CubbyFlow::ImplicitSurface3 CubbyFlow::Surface3

Classes

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

Public Member Functions

 ImplicitTriangleMesh3 (const TriangleMesh3Ptr &mesh, size_t resolutionX, double margin, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
 
virtual ~ImplicitTriangleMesh3 ()
 
const VertexCenteredScalarGrid3PtrGetGrid () const
 Returns grid data. More...
 
- Public Member Functions inherited from CubbyFlow::ImplicitSurface3
 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...
 

Static Public Member Functions

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

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

TriangleMesh3 to ImplicitSurface3 converter.

This class builds signed-distance field for given TriangleMesh3 instance so that it can be used as an ImplicitSurface3 instance. The mesh is discretized into a regular grid and the signed-distance is measured at each grid point. Thus, there is a sampling error and its magnitude depends on the grid resolution.

Constructor & Destructor Documentation

◆ ImplicitTriangleMesh3()

CubbyFlow::ImplicitTriangleMesh3::ImplicitTriangleMesh3 ( const TriangleMesh3Ptr mesh,
size_t  resolutionX,
double  margin,
const Transform3 transform = Transform3(),
bool  isNormalFlipped = false 
)

◆ ~ImplicitTriangleMesh3()

virtual CubbyFlow::ImplicitTriangleMesh3::~ImplicitTriangleMesh3 ( )
virtual

Member Function Documentation

◆ GetBuilder()

static Builder CubbyFlow::ImplicitTriangleMesh3::GetBuilder ( )
static

Returns builder fox ImplicitTriangleMesh3.

◆ GetGrid()

const VertexCenteredScalarGrid3Ptr& CubbyFlow::ImplicitTriangleMesh3::GetGrid ( ) const

Returns grid data.


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