|
| ImplicitTriangleMesh3 (TriangleMesh3Ptr mesh, size_t resolutionX=32, double margin=0.2, const Transform3 &_transform=Transform3{}, bool _isNormalFlipped=false) |
| Constructs an ImplicitSurface3 with mesh and other grid parameters. More...
|
|
| ImplicitTriangleMesh3 (const ImplicitTriangleMesh3 &)=default |
| Default copy constructor. More...
|
|
| ImplicitTriangleMesh3 (ImplicitTriangleMesh3 &&) noexcept=default |
| Default move constructor. More...
|
|
| ~ImplicitTriangleMesh3 () override=default |
| Default virtual destructor. More...
|
|
ImplicitTriangleMesh3 & | operator= (const ImplicitTriangleMesh3 &)=default |
| Default copy assignment operator. More...
|
|
ImplicitTriangleMesh3 & | operator= (ImplicitTriangleMesh3 &&) noexcept=default |
| Default move assignment operator. More...
|
|
const VertexCenteredScalarGrid3Ptr & | GetGrid () const |
| Returns grid data. More...
|
|
| ImplicitSurface (const Transform< N > &_transform=Transform< N >{}, bool _isNormalFlipped=false) |
| Constructs an implicit surface with normal direction. More...
|
|
| ~ImplicitSurface () override=default |
| Default virtual destructor. More...
|
|
| ImplicitSurface (const ImplicitSurface &other) |
| Copy constructor. More...
|
|
| ImplicitSurface (ImplicitSurface &&other) noexcept |
| Move constructor. More...
|
|
ImplicitSurface & | operator= (const ImplicitSurface &other) |
| Copy assignment operator. More...
|
|
ImplicitSurface & | operator= (ImplicitSurface &&other) noexcept |
| Move assignment operator. More...
|
|
double | SignedDistance (const Vector< double, N > &otherPoint) const |
| Returns signed distance from the given point otherPoint . More...
|
|
| Surface (const Transform< N > &transform=Transform< N >(), bool isNormalFlipped=false) |
| Constructs a surface with normal direction. More...
|
|
virtual | ~Surface ()=default |
| Default virtual destructor. More...
|
|
| Surface (const Surface &other) |
| Copy constructor. More...
|
|
| Surface (Surface &&other) noexcept |
| Move constructor. More...
|
|
Surface & | operator= (const Surface &other) |
| Copy assignment operator. More...
|
|
Surface & | operator= (Surface &&other) noexcept |
| Move assignment operator. More...
|
|
Vector< double, N > | ClosestPoint (const Vector< double, N > &otherPoint) const |
|
BoundingBox< double, N > | GetBoundingBox () const |
| Returns the bounding box of this surface object. More...
|
|
bool | Intersects (const Ray< double, N > &ray) const |
| Returns true if the given ray intersects with this surface object. More...
|
|
double | ClosestDistance (const Vector< double, N > &otherPoint) const |
|
SurfaceRayIntersection< N > | ClosestIntersection (const Ray< double, N > &ray) const |
| Returns the closest intersection point for given ray . More...
|
|
Vector< double, N > | ClosestNormal (const Vector< double, N > &otherPoint) const |
|
virtual void | UpdateQueryEngine () |
| Updates internal spatial query engine. More...
|
|
virtual bool | IsBounded () const |
| Returns true if bounding box can be defined. More...
|
|
virtual bool | IsValidGeometry () const |
| Returns true if the surface is a valid geometry. More...
|
|
bool | IsInside (const Vector< double, N > &otherPoint) const |
|
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.