EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
EBGeometry::Fused::SmoothCombineOp< T, IsUnion > Struct Template Reference

Smooth union or intersection: a smooth minimum (maximum) of the two smallest (largest) values. More...

#include <EBGeometry_Fused.hpp>

Public Member Functions

template<class O >
T evaluate (const O &a_operands, const Vec3T< T > &a_point) const noexcept
 The value.
 
template<class O >
BoundingVolumes::AABBT< T > box (const O &a_operands) const
 The box: as a union or intersection's, a union's grown by how far the blend can move its surface out (s/4 polynomial, s ln 2 exponential).
 

Static Public Member Functions

template<class... Cs>
static constexpr DistanceQuality quality () noexcept
 Distance quality: a bound at best.
 

Public Attributes

T m_smooth
 Smoothing length.
 
bool m_exponential
 Whether the blend is exponential (BlendKind::Exponential) rather than polynomial.
 

Detailed Description

template<class T, bool IsUnion>
struct EBGeometry::Fused::SmoothCombineOp< T, IsUnion >

Smooth union or intersection: a smooth minimum (maximum) of the two smallest (largest) values.

Template Parameters
TFloating-point precision.
IsUnionWhether this is a union.

Member Function Documentation

◆ box()

template<class T , bool IsUnion>
template<class O >
BoundingVolumes::AABBT< T > EBGeometry::Fused::SmoothCombineOp< T, IsUnion >::box ( const O &  a_operands) const
inline

The box: as a union or intersection's, a union's grown by how far the blend can move its surface out (s/4 polynomial, s ln 2 exponential).

Template Parameters
OOperands type.
Parameters
[in]a_operandsOperands.
Returns
The box.

◆ evaluate()

template<class T , bool IsUnion>
template<class O >
T EBGeometry::Fused::SmoothCombineOp< T, IsUnion >::evaluate ( const O &  a_operands,
const Vec3T< T > &  a_point 
) const
inlinenoexcept

The value.

Template Parameters
OOperands type.
Parameters
[in]a_operandsOperands.
[in]a_pointPoint.
Returns
The value.

◆ quality()

template<class T , bool IsUnion>
template<class... Cs>
static constexpr DistanceQuality EBGeometry::Fused::SmoothCombineOp< T, IsUnion >::quality ( )
inlinestaticconstexprnoexcept

Distance quality: a bound at best.

Template Parameters
CsOperand types.
Returns
The quality.

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