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

3-D implicit surface set. More...

#include <jet/implicit_surface_set3.h>

Inheritance diagram for jet::ImplicitSurfaceSet3:
jet::ImplicitSurface3 jet::Surface3

Classes

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

Public Member Functions

 ImplicitSurfaceSet3 ()
 Constructs an empty implicit surface set. More...
 
 ImplicitSurfaceSet3 (const std::vector< ImplicitSurface3Ptr > &surfaces, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
 Constructs an implicit surface set using list of other surfaces. More...
 
 ImplicitSurfaceSet3 (const std::vector< Surface3Ptr > &surfaces, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
 Constructs an implicit surface set using list of other surfaces. More...
 
 ImplicitSurfaceSet3 (const ImplicitSurfaceSet3 &other)
 Copy constructor. More...
 
void updateQueryEngine () override
 Updates internal spatial query engine. More...
 
bool isBounded () const override
 Returns true if bounding box can be defined. More...
 
bool isValidGeometry () const override
 Returns true if the surface is a valid geometry. More...
 
size_t numberOfSurfaces () const
 Returns the number of implicit surfaces. More...
 
const ImplicitSurface3PtrsurfaceAt (size_t i) const
 Returns the i-th implicit surface. More...
 
void addExplicitSurface (const Surface3Ptr &surface)
 Adds an explicit surface instance. More...
 
void addSurface (const ImplicitSurface3Ptr &surface)
 Adds an implicit surface instance. 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
 
bool isInside (const Vector3D &otherPoint) const
 

Static Public Member Functions

static Builder builder ()
 Returns builder fox ImplicitSurfaceSet3. 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

3-D implicit surface set.

This class represents 3-D implicit surface set which extends ImplicitSurface3 by overriding implicit surface-related quries. This is class can hold a collection of other implicit surface instances.

Constructor & Destructor Documentation

◆ ImplicitSurfaceSet3() [1/4]

jet::ImplicitSurfaceSet3::ImplicitSurfaceSet3 ( )

Constructs an empty implicit surface set.

◆ ImplicitSurfaceSet3() [2/4]

jet::ImplicitSurfaceSet3::ImplicitSurfaceSet3 ( const std::vector< ImplicitSurface3Ptr > &  surfaces,
const Transform3 transform = Transform3(),
bool  isNormalFlipped = false 
)

Constructs an implicit surface set using list of other surfaces.

◆ ImplicitSurfaceSet3() [3/4]

jet::ImplicitSurfaceSet3::ImplicitSurfaceSet3 ( const std::vector< Surface3Ptr > &  surfaces,
const Transform3 transform = Transform3(),
bool  isNormalFlipped = false 
)

Constructs an implicit surface set using list of other surfaces.

◆ ImplicitSurfaceSet3() [4/4]

jet::ImplicitSurfaceSet3::ImplicitSurfaceSet3 ( const ImplicitSurfaceSet3 other)

Copy constructor.

Member Function Documentation

◆ addExplicitSurface()

void jet::ImplicitSurfaceSet3::addExplicitSurface ( const Surface3Ptr surface)

Adds an explicit surface instance.

◆ addSurface()

void jet::ImplicitSurfaceSet3::addSurface ( const ImplicitSurface3Ptr surface)

Adds an implicit surface instance.

◆ builder()

static Builder jet::ImplicitSurfaceSet3::builder ( )
static

Returns builder fox ImplicitSurfaceSet3.

◆ isBounded()

bool jet::ImplicitSurfaceSet3::isBounded ( ) const
overridevirtual

Returns true if bounding box can be defined.

Reimplemented from jet::Surface3.

◆ isValidGeometry()

bool jet::ImplicitSurfaceSet3::isValidGeometry ( ) const
overridevirtual

Returns true if the surface is a valid geometry.

Reimplemented from jet::Surface3.

◆ numberOfSurfaces()

size_t jet::ImplicitSurfaceSet3::numberOfSurfaces ( ) const

Returns the number of implicit surfaces.

◆ surfaceAt()

const ImplicitSurface3Ptr& jet::ImplicitSurfaceSet3::surfaceAt ( size_t  i) const

Returns the i-th implicit surface.

◆ updateQueryEngine()

void jet::ImplicitSurfaceSet3::updateQueryEngine ( )
overridevirtual

Updates internal spatial query engine.

Reimplemented from jet::Surface3.


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