21 #include "HomgPlane3D.hh"
23 #include <Base/Common/CompareFloatingPoint.hh>
57 if ( fabs(poph[3]) > fabs(sp) ){
63 data_[3] = -sp / poph[3];
68 double lambda = -poph[3] / sp;
69 data_[0] = lambda * normal[0];
70 data_[1] = lambda * normal[1];
71 data_[2] = lambda * normal[2];
void ScalarProduct(const Vector3< T > &argvec, T &result) const
scalar product (=inner product) of two vectors, storing the result in result
double NormL2() const
Return the L2 norm: sqrt(a^2 + b^2 + c^2 + d^2)
class HomgPoint3D describes a point with 3 degrees of freedom in projective coordinates.
bool Equal(const T left, const T right, const T eps)
comparison function for floating point values See http://www.boost.org/libs/test/doc/components/test_...
void Set(const Vector3< double > &PointOnPlane, const Vector3< double > &NormalVector)
construct plane, given arbitrary point and normal
double NormL2() const
the L2 norm sqrt(a^2 + b^2 + c^2)