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

`#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)

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 >

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 .