S_ObjectNonNormalized.hxx
Go to the documentation of this file.
1 inline Point3 S_ObjectNonNormalized::support(const Vector3 & v) const
2 {
3  Vector3 vp(v);
4  vp = v * mRot_; // ie : mRot.transpose*v (applying inverse transformation on the support vector)
5  if(vp.normsquared() == 0)
6  {
7  vp.Set(1, 0, 0);
8  }
9  int k = -1;
10  Point3 p(mRot_ * l_Support(vp, k));
11  return p + trans_;
12 }
13 
14 inline Point3 S_ObjectNonNormalized::support(const Vector3 & v, int & LastFeature) const
15 {
16  Vector3 vp(v);
17  vp = v * mRot_; // ie : mRot.transpose*v (applying inverse transformation on the support vector)
18  if(vp.normsquared() == 0)
19  {
20  vp.Set(1, 0, 0);
21  }
22  Point3 p(mRot_ * l_Support(vp, LastFeature));
23  return p + trans_;
24 }
CD_Matrix::Vector3T::normsquared
T normsquared() const
Definition: SmallVector3T.h:308
CD_Matrix::Vector3T::Set
void Set(const T &x, const T &y, const T &z)
Definition: SmallVector3T.h:95
CD_Matrix::Vector3T< Scalar, false >