EBGeometry
1.0
|
Abstract representation of a signed distance function. More...
#include <EBGeometry_SignedDistanceFunction.hpp>
Public Member Functions | |
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 T | signedDistance (const Vec3T< T > &a_point) const noexcept=0 |
Signed distance function. 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) | |
T | 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... | |
Abstract representation of a signed distance function.
Users can put whatever they like in here, e.g. analytic functions, DCEL meshes, or DCEL meshes stored in full or compact BVH trees. The signedDistance function must be implemented by the user. When computing it, the user can apply transformation operators (rotations, scaling, translations) by calling transformPoint on the input coordinate.
|
inlinevirtualnoexcept |
Signed distance normal vector.
Computed using finite differences with step a_delta
[in] | a_point | 3D point |
[in] | a_delta | Finite difference step |
|
pure virtualnoexcept |
Signed distance function.
[in] | a_point | 3D point. |
Implemented in FastCompactMeshSDF< T, Meta, BV, K >, FastMeshSDF< T, Meta, BV, K >, MeshSDF< T, Meta >, PerlinSDF< T >, RoundedBoxSDF< T >, ConeSDF< T >, InfiniteConeSDF< T >, CapsuleSDF< T >, InfiniteCylinderSDF< T >, CylinderSDF< T >, TorusSDF< T >, BoxSDF< T >, SphereSDF< T >, and PlaneSDF< T >.
|
finaloverridevirtualnoexcept |
Implementation of ImplicitFunction::value.
[in] | a_point | 3D point. |
Implements ImplicitFunction< T >.