#include <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 | |
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 | |
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 | |
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 |
Stores a quadric as a 4x4 symmetrix matrix. Used by the error quadric based mesh decimation algorithms.