EBGeometry  1.0
Public Types | Public Member Functions | Protected Attributes | List of all members
MeshSDF< T, Meta > Class Template Reference

Signed distance function for a DCEL mesh. Does not use BVHs. More...

#include <EBGeometry_MeshDistanceFunctions.hpp>

Inheritance diagram for MeshSDF< T, Meta >:
Inheritance graph
[legend]
Collaboration diagram for MeshSDF< T, Meta >:
Collaboration graph
[legend]

Public Types

using Mesh = EBGeometry::DCEL::MeshT< T, Meta >
 Alias for DCEL mesh type.
 

Public Member Functions

 MeshSDF ()=delete
 Disallowed constructor.
 
 MeshSDF (const std::shared_ptr< Mesh > &a_mesh) noexcept
 Full constructor. More...
 
virtual ~MeshSDF ()=default
 Destructor.
 
virtual T signedDistance (const Vec3T< T > &a_point) const noexcept override
 Value function.
 
const std::shared_ptr< MeshgetMesh () const noexcept
 Get the surface mesh.
 
template<class BV >
BV computeBoundingVolume () const noexcept
 Compute bounding volume for this mesh.
 
- Public Member Functions inherited from SignedDistanceFunction< T >
 SignedDistanceFunction ()=default
 Disallowed, use the full constructor.
 
virtual ~SignedDistanceFunction ()=default
 Destructor (does nothing)
 
virtual T value (const Vec3T< T > &a_point) const noexcept override final
 Implementation of ImplicitFunction::value. More...
 
virtual Vec3T< T > normal (const Vec3T< T > &a_point, const T &a_delta) const noexcept
 Signed distance normal vector. More...
 
- Public Member Functions inherited from ImplicitFunction< T >
 ImplicitFunction ()=default
 Disallowed, use the full constructor.
 
virtual ~ImplicitFunction ()=default
 Destructor (does nothing)
 
operator() (const Vec3T< T > &a_point) const noexcept
 Alternative signature for the value function. More...
 
template<class BV >
BV approximateBoundingVolumeOctree (const Vec3T< T > &a_initialLowCorner, const Vec3T< T > &a_initialHighCorner, const unsigned int a_maxTreeDepth, const T &a_safety=0.0) const noexcept
 Compute an approximation to the bounding volume for the implicit surface, using octrees. More...
 

Protected Attributes

std::shared_ptr< Meshm_mesh
 DCEL mesh.
 

Detailed Description

template<class T, class Meta = DCEL::DefaultMetaData>
class MeshSDF< T, Meta >

Signed distance function for a DCEL mesh. Does not use BVHs.

Constructor & Destructor Documentation

◆ MeshSDF()

template<class T , class Meta = DCEL::DefaultMetaData>
MeshSDF< T, Meta >::MeshSDF ( const std::shared_ptr< Mesh > &  a_mesh)
noexcept

Full constructor.

Parameters
[in]a_meshInput mesh

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