EBGeometry 1.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
RotateIF< T > Class Template Reference

Rotated implicit function. Rotates an implicit function about an axis. More...

#include <EBGeometry_Transform.hpp>

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

Public Member Functions

 RotateIF ()=delete
 No weak construction.
 
 RotateIF (const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction, const T a_angle, const size_t a_axis) noexcept
 Rounded SDF. Rounds the input SDF.
 
virtual ~RotateIF ()
 Destructor.
 
virtual T value (const Vec3T< T > &a_point) const noexcept override
 Implementation of value function with rotation.
 
- 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

std::shared_ptr< ImplicitFunction< T > > m_implicitFunction
 Underlying implicit function.
 
size_t m_axis
 Axis to rotate about.
 
T m_angle
 Angle to rotate.
 
T m_cosAngle
 Parameter in rotation matrix. Stored for efficiency.
 
T m_sinAngle
 Parameter in rotation matrix. Stored for efficiency.
 

Detailed Description

template<class T>
class RotateIF< T >

Rotated implicit function. Rotates an implicit function about an axis.

Constructor & Destructor Documentation

◆ RotateIF()

template<class T >
RotateIF< T >::RotateIF ( const std::shared_ptr< ImplicitFunction< T > > &  a_implicitFunction,
const T  a_angle,
const size_t  a_axis 
)
noexcept

Rounded SDF. Rounds the input SDF.

Parameters
[in]a_implicitFunctionInput implicit function.
[in]a_angleAngle to rotate (in degrees)
[in]a_axisAxis to rotate about

Member Function Documentation

◆ value()

template<class T >
virtual T RotateIF< T >::value ( const Vec3T< T > &  a_point) const
overridevirtualnoexcept

Implementation of value function with rotation.

Implements ImplicitFunction< T >.


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