OpenABF 2.1.0
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Friends | List of all members
OpenABF::detail::hlscm::Quadric< T > Struct Template Reference

Symmetric 4×4 quadric matrix for QEM error metric (Garland-Heckbert) More...

Public Member Functions

 Quadric (T a, T b, T c, T d)
 
auto operator+= (const Quadric &o) -> Quadric &
 
auto evaluate (T x, T y, T z) const -> T
 

Public Attributes

std::array< T, 10 > q {}
 

Friends

auto operator+ (Quadric a, const Quadric &b) -> Quadric
 

Detailed Description

template<typename T>
struct OpenABF::detail::hlscm::Quadric< T >

Symmetric 4×4 quadric matrix for QEM error metric (Garland-Heckbert)

Constructor & Destructor Documentation

◆ Quadric()

template<typename T >
OpenABF::detail::hlscm::Quadric< T >::Quadric ( a,
b,
c,
d 
)
inline

Construct from plane equation ax + by + cz + d = 0

Member Function Documentation

◆ evaluate()

template<typename T >
auto OpenABF::detail::hlscm::Quadric< T >::evaluate ( x,
y,
z 
) const -> T
inline

Evaluate quadric error at point (x, y, z)

◆ operator+=()

template<typename T >
auto OpenABF::detail::hlscm::Quadric< T >::operator+= ( const Quadric< T > &  o) -> Quadric&
inline

In-place accumulation of another quadric

Friends And Related Symbol Documentation

◆ operator+

template<typename T >
auto operator+ ( Quadric< T >  a,
const Quadric< T > &  b 
) -> Quadric
friend

Quadric addition

Member Data Documentation

◆ q

template<typename T >
std::array<T, 10> OpenABF::detail::hlscm::Quadric< T >::q {}

Upper triangle stored row-major: a00 a01 a02 a03 a11 a12 a13 a22 a23 a33