EBGeometry
1.0
|
Signed distance field for a torus. More...
#include <EBGeometry_AnalyticDistanceFunctions.hpp>
Public Member Functions | |
TorusSDF ()=delete | |
Disallowed weak construction. | |
TorusSDF (const Vec3T< T > &a_center, const T &a_majorRadius, const T &a_minorRadius) noexcept | |
Full constructor. More... | |
virtual | ~TorusSDF () noexcept |
Destructor (does nothing). | |
const Vec3T< T > & | getCenter () const noexcept |
Get torus center. More... | |
Vec3T< T > & | getCenter () noexcept |
Get torus center. More... | |
const T & | getMajorRadius () const noexcept |
Get major radius. More... | |
T & | getMajorRadius () noexcept |
Get major radius. More... | |
const T & | getMinorRadius () const noexcept |
Get minor radius. More... | |
T & | getMinorRadius () noexcept |
Get minor radius. More... | |
virtual T | signedDistance (const Vec3T< T > &a_point) const noexcept override |
Signed distance function for a torus. More... | |
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) | |
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... | |
Protected Attributes | |
Vec3T< T > | m_center |
Torus center. | |
T | m_majorRadius |
Major torus radius. | |
T | m_minorRadius |
Minor torus radius. | |
Signed distance field for a torus.
This is constructed such that the donut lies in the xy-plane.
|
inlinenoexcept |
Full constructor.
[in] | a_center | Torus center. |
[in] | a_majorRadius | Major torus radius. |
[in] | a_minorRadius | Minor torus radius. |
Get torus center.
Get torus center.
|
inlinenoexcept |
Get major radius.
|
inlinenoexcept |
Get major radius.
|
inlinenoexcept |
Get minor radius.
|
inlinenoexcept |
Get minor radius.
|
inlineoverridevirtualnoexcept |
Signed distance function for a torus.
[in] | a_point | Position. |
Implements SignedDistanceFunction< T >.