OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
QuadricEdgeCollapse::SymMat Class Reference

Public Member Functions

 SymMat (ArithmeticOnly< T > c=T())
 SymMat (T a, T b, T c, T d)
T operator[] (int c) const
T det (int a11, int a12, int a13, int a21, int a22, int a23, int a31, int a32, int a33) const
const SymMat & operator+= (const SymMat &n)

Private Types

using T = double

Private Attributes

T m [N]

Static Private Attributes

static const constexpr size_t N = 10

Detailed Description

Member Typedef Documentation

◆ T

using QuadricEdgeCollapse::SymMat::T = double
private

Constructor & Destructor Documentation

◆ SymMat() [1/2]

QuadricEdgeCollapse::SymMat::SymMat ( ArithmeticOnly< T > c = T())
inlineexplicit
35{ std::fill(m, m + N, c); }
static const constexpr size_t N
Definition QuadricEdgeCollapse.cpp:32
T m[N]
Definition QuadricEdgeCollapse.cpp:33

References m, and N.

Referenced by operator+=().

Here is the caller graph for this function:

◆ SymMat() [2/2]

QuadricEdgeCollapse::SymMat::SymMat ( T a,
T b,
T c,
T d )
inline
39 {
40 m[0] = a * a; m[1] = a * b; m[2] = a * c; m[3] = a * d;
41 m[4] = b * b; m[5] = b * c; m[6] = b * d;
42 m[7] = c * c; m[8] = c * d;
43 m[9] = d * d;
44 }

References m.

Member Function Documentation

◆ det()

T QuadricEdgeCollapse::SymMat::det ( int a11,
int a12,
int a13,
int a21,
int a22,
int a23,
int a31,
int a32,
int a33 ) const
inline
52 {
53 T det = m[a11] * m[a22] * m[a33] + m[a13] * m[a21] * m[a32] +
54 m[a12] * m[a23] * m[a31] - m[a13] * m[a22] * m[a31] -
55 m[a11] * m[a23] * m[a32] - m[a12] * m[a21] * m[a33];
56
57 return det;
58 }
T det(int a11, int a12, int a13, int a21, int a22, int a23, int a31, int a32, int a33) const
Definition QuadricEdgeCollapse.cpp:49
double T
Definition QuadricEdgeCollapse.cpp:31

References det(), and m.

Referenced by QuadricEdgeCollapse::calculate_determinant(), QuadricEdgeCollapse::calculate_vertex(), and det().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator+=()

const SymMat & QuadricEdgeCollapse::SymMat::operator+= ( const SymMat & n)
inline
61 {
62 for (size_t i = 0; i < N; ++i) m[i] += n[i];
63 return *this;
64 }

References SymMat(), m, and N.

Here is the call graph for this function:

◆ operator[]()

T QuadricEdgeCollapse::SymMat::operator[] ( int c) const
inline
46{ return m[c]; }

References m.

Member Data Documentation

◆ m

T QuadricEdgeCollapse::SymMat::m[N]
private

◆ N

const constexpr size_t QuadricEdgeCollapse::SymMat::N = 10
staticconstexprprivate

Referenced by SymMat(), and operator+=().


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