Jet  v1.3.3
Classes | Public Member Functions | Static Public Member Functions | List of all members
jet::CustomImplicitSurface3 Class Referencefinal

Custom 3-D implicit surface using arbitrary function. More...

#include <jet/custom_implicit_surface3.h>

Inheritance diagram for jet::CustomImplicitSurface3:
jet::ImplicitSurface3 jet::Surface3

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...
 
- Public Member Functions inherited from jet::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 jet::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
 
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

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

Detailed Description

Custom 3-D implicit surface using arbitrary function.

Constructor & Destructor Documentation

◆ CustomImplicitSurface3()

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.

Parameters
funcCustom SDF function object.
domainBounding box of the SDF if exists.
resolutionFinite differencing resolution for derivatives.
rayMarchingResolutionRay marching resolution for ray tests.
maxNumOfIterationsNumber of iterations for closest point search.
transformLocal-to-world transform.
isNormalFlippedTrue if normal is flipped.

◆ ~CustomImplicitSurface3()

virtual jet::CustomImplicitSurface3::~CustomImplicitSurface3 ( )
virtual

Destructor.

Member Function Documentation

◆ builder()

static Builder jet::CustomImplicitSurface3::builder ( )
static

Returns builder for CustomImplicitSurface3.


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