Developer Documentation
ACG::Geometry::QuadricT< Scalar > Class Template Reference

#include <OpenFlipper/libs_required/ACG/Geometry/Types/QuadricT.hh>

Public Member Functions

 QuadricT (Scalar _a, Scalar _b, Scalar _c, Scalar _d, Scalar _e, Scalar _f, Scalar _g, Scalar _h, Scalar _i, Scalar _j)
 construct with upper triangle of symmetrix 4x4 matrix More...
 
 QuadricT (Scalar _a=0.0, Scalar _b=0.0, Scalar _c=0.0, Scalar _d=0.0)
 constructor from given plane equation: ax+by+cz+d=0 More...
 
void clear ()
 set all entries to zero More...
 
QuadricT< Scalar > & operator+= (const QuadricT< Scalar > &_q)
 add quadrics More...
 
QuadricT< Scalar > & operator*= (Scalar _s)
 multiply by scalar More...
 
VectorT< Scalar, 4 > operator* (const VectorT< Scalar, 4 > &_v) const
 multiply 4D vector from right: Q*v More...
 
Scalar operator() (const VectorT< Scalar, 3 > _v) const
 evaluate quadric Q at vector v: v*Q*v More...
 
Scalar operator() (const VectorT< Scalar, 4 > _v) const
 evaluate quadric Q at vector v: v*Q*v More...
 

Private Attributes

Scalar a
 
Scalar b
 
Scalar c
 
Scalar d
 
Scalar e
 
Scalar f
 
Scalar g
 
Scalar h
 
Scalar i
 
Scalar j
 

Detailed Description

template<class Scalar>
class ACG::Geometry::QuadricT< Scalar >

/class QuadricT QuadricT.hh <ACG/Geometry/Types/QuadricT.hh>

Stores a quadric as a 4x4 symmetrix matrix. Used by the error quadric based mesh decimation algorithms.

Definition at line 77 of file QuadricT.hh.

Constructor & Destructor Documentation

◆ QuadricT() [1/2]

template<class Scalar >
ACG::Geometry::QuadricT< Scalar >::QuadricT ( Scalar  _a,
Scalar  _b,
Scalar  _c,
Scalar  _d,
Scalar  _e,
Scalar  _f,
Scalar  _g,
Scalar  _h,
Scalar  _i,
Scalar  _j 
)
inline

construct with upper triangle of symmetrix 4x4 matrix

Definition at line 83 of file QuadricT.hh.

◆ QuadricT() [2/2]

template<class Scalar >
ACG::Geometry::QuadricT< Scalar >::QuadricT ( Scalar  _a = 0.0,
Scalar  _b = 0.0,
Scalar  _c = 0.0,
Scalar  _d = 0.0 
)
inline

constructor from given plane equation: ax+by+cz+d=0

Definition at line 95 of file QuadricT.hh.

Member Function Documentation

◆ clear()

template<class Scalar >
void ACG::Geometry::QuadricT< Scalar >::clear ( )
inline

set all entries to zero

Definition at line 104 of file QuadricT.hh.

◆ operator()() [1/2]

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::operator() ( const VectorT< Scalar, 3 >  _v) const
inline

evaluate quadric Q at vector v: v*Q*v

Definition at line 140 of file QuadricT.hh.

◆ operator()() [2/2]

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::operator() ( const VectorT< Scalar, 4 >  _v) const
inline

evaluate quadric Q at vector v: v*Q*v

Definition at line 151 of file QuadricT.hh.

◆ operator*()

template<class Scalar >
VectorT< Scalar, 4 > ACG::Geometry::QuadricT< Scalar >::operator* ( const VectorT< Scalar, 4 > &  _v) const
inline

multiply 4D vector from right: Q*v

Definition at line 130 of file QuadricT.hh.

◆ operator*=()

template<class Scalar >
QuadricT< Scalar > & ACG::Geometry::QuadricT< Scalar >::operator*= ( Scalar  _s)
inline

multiply by scalar

Definition at line 119 of file QuadricT.hh.

◆ operator+=()

template<class Scalar >
QuadricT< Scalar > & ACG::Geometry::QuadricT< Scalar >::operator+= ( const QuadricT< Scalar > &  _q)
inline

add quadrics

Definition at line 108 of file QuadricT.hh.

Member Data Documentation

◆ a

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::a
private

Definition at line 163 of file QuadricT.hh.

◆ b

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::b
private

Definition at line 163 of file QuadricT.hh.

◆ c

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::c
private

Definition at line 163 of file QuadricT.hh.

◆ d

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::d
private

Definition at line 163 of file QuadricT.hh.

◆ e

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::e
private

Definition at line 164 of file QuadricT.hh.

◆ f

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::f
private

Definition at line 164 of file QuadricT.hh.

◆ g

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::g
private

Definition at line 164 of file QuadricT.hh.

◆ h

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::h
private

Definition at line 165 of file QuadricT.hh.

◆ i

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::i
private

Definition at line 165 of file QuadricT.hh.

◆ j

template<class Scalar >
Scalar ACG::Geometry::QuadricT< Scalar >::j
private

Definition at line 166 of file QuadricT.hh.


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