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

| OpenMesh

Public Types | Public Member Functions | Protected Member Functions | List of all members
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+ (const QuadricT< Scalar > &_other) const
QuadricT< Scalar > & | operator*= (Scalar _s)
| multiply by scalar
QuadricT< Scalar > | operator* (Scalar _s) const
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:

- OpenMesh/Core/Geometry/QuadricT.hh