12#ifndef EBGeometry_Transform 
   13#define EBGeometry_Transform 
   25std::shared_ptr<ImplicitFunction<T>>
 
   34std::shared_ptr<ImplicitFunction<T>>
 
   44std::shared_ptr<ImplicitFunction<T>>
 
   53std::shared_ptr<ImplicitFunction<T>>
 
   62std::shared_ptr<ImplicitFunction<T>>
 
   71std::shared_ptr<ImplicitFunction<T>>
 
   80std::shared_ptr<ImplicitFunction<T>>
 
   90std::shared_ptr<ImplicitFunction<T>>
 
  211           const size_t                                a_axis) 
noexcept;
 
 
  572#include "EBGeometry_NamespaceFooter.hpp" 
  574#include "EBGeometry_TransformImplem.hpp" 
Abstract base class for representing an implicit function.
 
Declaration of 2D and 3D point/vector classes with templated precision. Used with DCEL tools.
 
Annular implicit function function. Creates a shell out of the implicit function.
Definition EBGeometry_Transform.hpp:341
 
virtual T value(const Vec3T< T > &a_point) const noexcept override
Value function.
 
std::shared_ptr< const ImplicitFunction< T > > m_implicitFunction
Original implicit function.
Definition EBGeometry_Transform.hpp:371
 
AnnularIF(const std::shared_ptr< ImplicitFunction< T > > a_implicitFunction, const T a_delta)
Full constructor.
 
T m_delta
Shell thickness.
Definition EBGeometry_Transform.hpp:376
 
AnnularIF()=delete
Disallowed weak construction.
 
virtual ~AnnularIF()
Destructor.
 
Blurred/interpolated implicit function - can be used for smoothing.
Definition EBGeometry_Transform.hpp:387
 
BlurIF()=delete
Disallowed weak constructino.
 
BlurIF(const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction, const T a_blurDistance, const T a_alpha=0.5) noexcept
Full constructor.
 
Complemented implicit function.
Definition EBGeometry_Transform.hpp:118
 
std::shared_ptr< ImplicitFunction< T > > m_implicitFunction
Implicit function.
Definition EBGeometry_Transform.hpp:146
 
ComplementIF(const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction) noexcept
Full constructor.
 
virtual ~ComplementIF()
Destructor (does nothing)
 
virtual T value(const Vec3T< T > &a_point) const noexcept override
Value function.
 
ComplementIF()=delete
No weak construction for this one.
 
Implicit function which is an elongation of another implicit function along some axis.
Definition EBGeometry_Transform.hpp:491
 
virtual ~ElongateIF() noexcept
Destructor.
 
ElongateIF()=delete
Disallowed weak construction.
 
ElongateIF(const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction, const Vec3T< T > &a_elongation) noexcept
Full constructor.
 
Abstract representation of an implicit function function (not necessarily signed distance).
Definition EBGeometry_ImplicitFunction.hpp:27
 
Mollified implicit function.
Definition EBGeometry_Transform.hpp:438
 
virtual ~MollifyIF() noexcept
Destructor.
 
MollifyIF()=delete
Disallowed weak construction.
 
MollifyIF(const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction, const std::shared_ptr< ImplicitFunction< T > > &a_mollifier, const T a_maxValue, const size_t a_numPoints) noexcept
Full constructor.
 
Offset implicit function. Offsets the implicit function using the input value.
Definition EBGeometry_Transform.hpp:256
 
OffsetIF(const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction, const T a_offset) noexcept
Rounded SDF. Rounds the input SDF.
 
std::shared_ptr< ImplicitFunction< T > > m_implicitFunction
Underlying implicit function.
Definition EBGeometry_Transform.hpp:285
 
virtual ~OffsetIF()
Destructor.
 
T m_offset
Offset value.
Definition EBGeometry_Transform.hpp:290
 
OffsetIF()=delete
Disallowed weak construction.
 
virtual T value(const Vec3T< T > &a_point) const noexcept override
Implementation of value function with offset.
 
Implicit function which is a reflection of another implicit function.
Definition EBGeometry_Transform.hpp:534
 
virtual ~ReflectIF() noexcept
Destructor.
 
ReflectIF(const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction, const size_t &a_reflectPlane) noexcept
Full constructor. Reflects around the input plane (0=yz-plane, 1=xz-plane, 2=xy-plane).
 
ReflectIF()=delete
Disallowed weak construction.
 
Rotated implicit function. Rotates an implicit function about an axis.
Definition EBGeometry_Transform.hpp:196
 
virtual ~RotateIF()
Destructor.
 
T m_sinAngle
Parameter in rotation matrix. Stored for efficiency.
Definition EBGeometry_Transform.hpp:248
 
std::shared_ptr< ImplicitFunction< T > > m_implicitFunction
Underlying implicit function.
Definition EBGeometry_Transform.hpp:228
 
RotateIF()=delete
No weak construction.
 
T m_angle
Angle to rotate.
Definition EBGeometry_Transform.hpp:238
 
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.
 
T m_cosAngle
Parameter in rotation matrix. Stored for efficiency.
Definition EBGeometry_Transform.hpp:243
 
size_t m_axis
Axis to rotate about.
Definition EBGeometry_Transform.hpp:233
 
virtual T value(const Vec3T< T > &a_point) const noexcept override
Implementation of value function with rotation.
 
Scaled implicit function.
Definition EBGeometry_Transform.hpp:298
 
T m_scale
Scaling factor.
Definition EBGeometry_Transform.hpp:333
 
virtual T value(const Vec3T< T > &a_point) const noexcept override
Value function.
 
ScaleIF()=delete
Disallowed weak construction.
 
std::shared_ptr< ImplicitFunction< T > > m_implicitFunction
Original implicit function.
Definition EBGeometry_Transform.hpp:328
 
virtual ~ScaleIF() noexcept
Destructor.
 
ScaleIF(const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction, const T a_scale) noexcept
Scaled implicit function.
 
Translated implicit function.
Definition EBGeometry_Transform.hpp:154
 
Vec3T< T > m_shift
Input point translate.
Definition EBGeometry_Transform.hpp:188
 
virtual ~TranslateIF()
Destructor (does nothing)
 
virtual T value(const Vec3T< T > &a_point) const noexcept override
Value function.
 
TranslateIF()=delete
No weak construction for this one.
 
std::shared_ptr< ImplicitFunction< T > > m_implicitFunction
Underlying implicit function.
Definition EBGeometry_Transform.hpp:183
 
TranslateIF(const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction, const Vec3T< T > &a_shift) noexcept
Full constructor.
 
Three-dimensional vector class with arithmetic operators.
Definition EBGeometry_Vec.hpp:218