41 return x*x*a2 + 2*x*y*ab + 2*x*z*ac + 2*x*ad
42 + y*y*b2 + 2*y*z*bc + 2*y*bd
56 Ainv.
Mult(GetVector(),v);
65 a2 = Q.
a2; ab = Q.
ab; ac = Q.
ac; ad = Q.
ad;
66 b2 = Q.
b2; bc = Q.
bc; bd = Q.
bd;
80 a2 += Q.
a2; ab += Q.
ab; ac += Q.
ac; ad += Q.
ad;
81 b2 += Q.
b2; bc += Q.
bc; bd += Q.
bd;
82 c2 += Q.
c2; cd += Q.
cd;
92 a2 *= s; ab *= s; ac *= s; ad *= s;
93 b2 *= s; bc *= s; bd *= s;
bool Optimize(Vector3< double > &v)
Quadric3 & operator*=(double s)
double Evaluate(double x, double y, double z)
Vector3< double > GetVector()
void Mult(const Vector3< T > &argvec, Vector3< T > &destvec) const
matrix - vector multiplicate this matrix with Vector3, storing the result in destvec calculates: dest...
Matrix3x3< double > GetTensor()
Quadric3 & operator+=(const Quadric3 &Q)
void MultIP(const T &scalar)
T GetDeterminant() const
returns the Determinant |A| of this
Matrix4x4< double > GetHomogenous()
int InvertIP()
In place matrix conversion.
Implements a 3D quadric and quadric operations.
Quadric3 & operator=(const Quadric3 &Q)