EBGeometry  1.0
Public Member Functions | Protected Attributes | List of all members
ConeSDF< T > Class Template Reference

Signed distance field for an finite cone. Oriented along +z. More...

#include <EBGeometry_AnalyticDistanceFunctions.hpp>

Inheritance diagram for ConeSDF< T >:
Inheritance graph
[legend]
Collaboration diagram for ConeSDF< T >:
Collaboration graph
[legend]

Public Member Functions

 ConeSDF ()=delete
 Disallowed weak construction.
 
 ConeSDF (const Vec3T< T > &a_tip, const T &a_height, const T &a_angle) noexcept
 Finite cone function. More...
 
virtual ~ConeSDF ()
 Destructor – does nothing.
 
virtual T signedDistance (const Vec3T< T > &a_point) const noexcept override
 Implementation of the signed distance function. 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)
 
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_tip
 Tip position.
 
Vec2T< T > m_c
 Sine/cosine of angle.
 
m_height
 Cone height.
 

Detailed Description

template<class T>
class ConeSDF< T >

Signed distance field for an finite cone. Oriented along +z.

Constructor & Destructor Documentation

◆ ConeSDF()

template<class T >
ConeSDF< T >::ConeSDF ( const Vec3T< T > &  a_tip,
const T &  a_height,
const T &  a_angle 
)
inlinenoexcept

Finite cone function.

Parameters
[in]a_tipCone tip position
[in]a_heightCone height, measured from top to bottom.
[in]a_angleCone opening angle.

Member Function Documentation

◆ signedDistance()

template<class T >
virtual T ConeSDF< T >::signedDistance ( const Vec3T< T > &  a_point) const
inlineoverridevirtualnoexcept

Implementation of the signed distance function.

Parameters
[in]a_pointPosition.

Implements SignedDistanceFunction< T >.


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