38 #ifndef FCL_CCD_SPLINEMOTION_H 39 #define FCL_CCD_SPLINEMOTION_H 43 #include "fcl/math/geometry.h" 44 #include "fcl/math/motion/motion_base.h" 45 #include "fcl/math/detail/polysolver.h" 46 #include "fcl/math/motion/bv_motion_bound_visitor.h" 47 #include "fcl/math/motion/triangle_motion_bound_visitor.h" 53 class SplineMotion :
public MotionBase<S>
57 SplineMotion(
const Vector3<S>& Td0,
const Vector3<S>& Td1,
const Vector3<S>& Td2,
const Vector3<S>& Td3,
58 const Vector3<S>& Rd0,
const Vector3<S>& Rd1,
const Vector3<S>& Rd2,
const Vector3<S>& Rd3);
62 const Matrix3<S>& R2,
const Vector3<S>& T2);
65 const Transform3<S>& tf2);
80 void getTaylorModel(TMatrix3<S>& tm, TVector3<S>& tv)
const override;
83 void computeSplineParameter();
85 S getWeight0(S t)
const;
86 S getWeight1(S t)
const;
87 S getWeight2(S t)
const;
88 S getWeight3(S t)
const;
93 Vector3<S> TA, TB, TC;
94 Vector3<S> RA, RB, RC;
96 S Rd0Rd0, Rd0Rd1, Rd0Rd2, Rd0Rd3, Rd1Rd1, Rd1Rd2, Rd1Rd3, Rd2Rd2, Rd2Rd3, Rd3Rd3;
98 mutable Transform3<S> tf;
104 S computeTBound(
const Vector3<S>& n)
const;
106 S computeDWMax()
const;
108 S getCurrentTime()
const;
110 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
115 #include "fcl/math/motion/spline_motion-inl.h" bool integrate(S dt) const override
Integrate the motion from 0 to dt We compute the current transformation from zero point instead of fr...
Definition: spline_motion-inl.h:110
S tf_t
The time related with tf.
Definition: spline_motion.h:101
Main namespace.
Definition: broadphase_bruteforce-inl.h:45
S computeMotionBound(const BVMotionBoundVisitor< S > &mb_visitor) const override
Compute the motion bound for a bounding volume along a given direction n, which is defined in the vis...
Definition: spline_motion-inl.h:129
SplineMotion(const Vector3< S > &Td0, const Vector3< S > &Td1, const Vector3< S > &Td2, const Vector3< S > &Td3, const Vector3< S > &Rd0, const Vector3< S > &Rd1, const Vector3< S > &Rd2, const Vector3< S > &Rd3)
Construct motion from 4 deBoor points.
Definition: spline_motion-inl.h:52
void getCurrentTransform(Transform3< S > &tf_) const override
Get the rotation and translation in current step.
Definition: spline_motion-inl.h:143
void getTaylorModel(TMatrix3< S > &tm, TVector3< S > &tv) const override
Definition: spline_motion-inl.h:150