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

Box of arbitrary dimensions centered at the origin, with rounded corners. More...

#include <EBGeometry_AnalyticDistanceFunctions.hpp>

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

Public Member Functions

 RoundedBoxSDF ()=delete
 Disallowed default constructor.
 
 RoundedBoxSDF (const Vec3T< T > &a_dimensions, const T a_curvature) noexcept
 Full constructor. User inputs dimensions and corner curvature. More...
 
virtual ~RoundedBoxSDF () noexcept
 Destructor (does nothing).
 
virtual T signedDistance (const Vec3T< T > &a_point) const noexcept override
 Signed distance function for the rounded box.
 
- 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< SphereSDF< T > > m_sphere
 Sphere at origin with radius a_curvature.
 
Vec3T< T > m_dimensions
 Box dimensions.
 

Detailed Description

template<class T>
class RoundedBoxSDF< T >

Box of arbitrary dimensions centered at the origin, with rounded corners.

Constructor & Destructor Documentation

◆ RoundedBoxSDF()

template<class T >
RoundedBoxSDF< T >::RoundedBoxSDF ( const Vec3T< T > &  a_dimensions,
const T  a_curvature 
)
inlinenoexcept

Full constructor. User inputs dimensions and corner curvature.

Note
The extensions of the box in each direction 'dir' is a_dimensions[dir] + a_curvature.
Parameters
[in]a_dimensionsBox dimensions (width, length, height)
[in]a_curvatureCorner curvature.
Note
Curvature must be > 0.0

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