1 #include <Base/Geometry/PlueckerMatrix.hh>
3 #include <Base/Debug/Exception.hh>
4 #include <Base/Common/CompareFloatingPoint.hh>
15 BEXCEPTION(
"not a Pluecker matrix: "<<*
this);
24 return Equal(l[0]*l[5] + l[1]*l[4] + l[2]*l[3], 0.0);
40 res[0] = (*this)[0][1];
41 res[1] = (*this)[0][2];
42 res[2] = (*this)[0][3];
43 res[3] = (*this)[1][2];
44 res[4] = (*this)[3][1];
45 res[5] = (*this)[2][3];
53 return HomgPoint3D((*
this)[0][3], (*
this)[1][3], (*
this)[2][3], 1.0);
60 return HomgPoint3D((*
this)[0][1], (*
this)[0][2], (*
this)[1][2], 1.0);
HomgPoint3D GetDirection() const
direction vetor
Matrix4x4< T > OuterProduct(const Vector4< T > &v) const
outer product, constructs a matrix.
bool CheckConstraint_() const
checks for the rank two constraint, i.e.
void Set(const HomgPoint3D &p1, const HomgPoint3D &p2)
construction of a line through 2 points
class for column vectors with arbitrary size
Vector< PLUECKERMATRIX_TYPE > GetPlueckerLineCoordinates() const
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_...
HomgPoint3D GetNormal() const
normal vector to the line
void SubIP(const Matrix< PLUECKERMATRIX_TYPE > &arg)
Subtracts arg from this this -= arg.
class BIASGeometryBase_EXPORT HomgPoint3D