|
EBGeometry 1.0
|
Signed distance field for a cylinder. More...
#include <EBGeometry_AnalyticDistanceFunctions.hpp>


Public Member Functions | |
| CylinderSDF ()=delete | |
| Disallowed weak construction. Use one of the full constructors. | |
| CylinderSDF (const Vec3T< T > &a_center1, const Vec3T< T > &a_center2, const T &a_radius) noexcept | |
| Full constructor. | |
| virtual | ~CylinderSDF () noexcept |
| Destructor (does nothing). | |
| const Vec3T< T > & | getCenter1 () const noexcept |
| Get one endpoint. | |
| const Vec3T< T > & | getCenter2 () const noexcept |
| Get the other endpoint. | |
| const T & | getRadius () const noexcept |
| Get radius. | |
| virtual T | signedDistance (const Vec3T< T > &a_point) const noexcept override |
| Signed distance function for a torus. | |
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. | |
| virtual Vec3T< T > | normal (const Vec3T< T > &a_point, const T &a_delta) const noexcept |
| Signed distance normal vector. | |
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. | |
| 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. | |
Protected Attributes | |
| Vec3T< T > | m_center1 |
| One endpoint. | |
| Vec3T< T > | m_center2 |
| The other endpoint. | |
| Vec3T< T > | m_center |
| Halfway between center1 and m_center2. | |
| Vec3T< T > | m_axis |
| "Axis", pointing from m_center1 to m_center2. | |
| T | m_length |
| Cylinder length. | |
| T | m_radius |
| radius. | |
|
inlinenoexcept |
Full constructor.
| [in] | a_center1 | One endpoint. |
| [in] | a_center2 | Other endpoint. |
| [in] | a_radius | Cylinder radius. |
Get one endpoint.
Get the other endpoint.
Get radius.
|
inlineoverridevirtualnoexcept |
Signed distance function for a torus.
| [in] | a_point | Position. |
Implements SignedDistanceFunction< T >.