OpenMesh
OpenMesh::Geometry::QuadricT< Scalar > Class Template Reference

/class QuadricT Geometry/QuadricT.hh More...

#include <OpenMesh/Core/Geometry/QuadricT.hh>

Public Types

typedef Scalar value_type
 
typedef QuadricT< Scalar > type
 
typedef QuadricT< Scalar > Self
 

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
 
 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
 
template<class _Point >
 QuadricT (const _Point &_pt)
 
template<class _Normal , class _Point >
 QuadricT (const _Normal &_n, const _Point &_p)
 
void set (Scalar _a, Scalar _b, Scalar _c, Scalar _d, Scalar _e, Scalar _f, Scalar _g, Scalar _h, Scalar _i, Scalar _j)
 
template<class _Point >
void set_distance_to_point (const _Point &_pt)
 
void set_distance_to_plane (Scalar _a, Scalar _b, Scalar _c, Scalar _d)
 
template<class _Normal , class _Point >
void set_distance_to_plane (const _Normal &_n, const _Point &_p)
 
void clear ()
 set all entries to zero
 
QuadricT< Scalar > & operator+= (const QuadricT< Scalar > &_q)
 add quadrics
 
QuadricT< Scalar > & operator*= (Scalar _s)
 multiply by scalar
 
template<class _Vec4 >
_Vec4 operator* (const _Vec4 &_v) const
 multiply 4D vector from right: Q*v
 
template<class _Vec >
Scalar operator() (const _Vec &_v) const
 evaluate quadric Q at (3D or 4D) vector v: v*Q*v
 
Scalar a () const
 
Scalar b () const
 
Scalar c () const
 
Scalar d () const
 
Scalar e () const
 
Scalar f () const
 
Scalar g () const
 
Scalar h () const
 
Scalar i () const
 
Scalar j () const
 
Scalar xx () const
 
Scalar xy () const
 
Scalar xz () const
 
Scalar xw () const
 
Scalar yy () const
 
Scalar yz () const
 
Scalar yw () const
 
Scalar zz () const
 
Scalar zw () const
 
Scalar ww () const
 

Protected Member Functions

template<class _Vec3 >
Scalar evaluate (const _Vec3 &_v, GenProg::Int2Type< 3 >) const
 evaluate quadric Q at 3D vector v: v*Q*v
 
template<class _Vec4 >
Scalar evaluate (const _Vec4 &_v, GenProg::Int2Type< 4 >) const
 evaluate quadric Q at 4D vector v: v*Q*v
 

Detailed Description

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

/class QuadricT Geometry/QuadricT.hh

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


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

Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .