Jet
v1.3.3
|
Custom 3-D implicit surface using arbitrary function. More...
#include <jet/custom_implicit_surface3.h>
Classes | |
class | Builder |
Front-end to create CustomImplicitSurface3 objects step by step. More... | |
Public Member Functions | |
CustomImplicitSurface3 (const std::function< double(const Vector3D &)> &func, const BoundingBox3D &domain=BoundingBox3D(), double resolution=1e-3, double rayMarchingResolution=1e-6, unsigned int maxNumOfIterations=5, const Transform3 &transform=Transform3(), bool isNormalFlipped=false) | |
virtual | ~CustomImplicitSurface3 () |
Destructor. More... | |
![]() | |
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... | |
![]() | |
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 |
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... | |
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 Vector3D &otherPoint) const |
Static Public Member Functions | |
static Builder | builder () |
Returns builder for CustomImplicitSurface3. More... | |
Additional Inherited Members | |
![]() | |
Transform3 | transform |
Local-to-world transform. More... | |
bool | isNormalFlipped = false |
Flips normal when calling Surface3::closestNormal(...). More... | |
Custom 3-D implicit surface using arbitrary function.
jet::CustomImplicitSurface3::CustomImplicitSurface3 | ( | const std::function< double(const Vector3D &)> & | func, |
const BoundingBox3D & | domain = BoundingBox3D() , |
||
double | resolution = 1e-3 , |
||
double | rayMarchingResolution = 1e-6 , |
||
unsigned int | maxNumOfIterations = 5 , |
||
const Transform3 & | transform = Transform3() , |
||
bool | isNormalFlipped = false |
||
) |
Constructs an implicit surface using the given signed-distance function.
func | Custom SDF function object. |
domain | Bounding box of the SDF if exists. |
resolution | Finite differencing resolution for derivatives. |
rayMarchingResolution | Ray marching resolution for ray tests. |
maxNumOfIterations | Number of iterations for closest point search. |
transform | Local-to-world transform. |
isNormalFlipped | True if normal is flipped. |
|
virtual |
Destructor.
|
static |
Returns builder for CustomImplicitSurface3.