OpenMesh
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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:

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