38 #ifndef FCL_CCD_SCREWMOTION_H 39 #define FCL_CCD_SCREWMOTION_H 43 #include "fcl/math/geometry.h" 44 #include "fcl/math/motion/motion_base.h" 45 #include "fcl/math/motion/bv_motion_bound_visitor.h" 46 #include "fcl/math/motion/triangle_motion_bound_visitor.h" 52 class ScrewMotion :
public MotionBase<S>
59 ScrewMotion(
const Matrix3<S>& R1,
const Vector3<S>& T1,
60 const Matrix3<S>& R2,
const Vector3<S>& T2);
64 const Transform3<S>& tf2_);
79 void getTaylorModel(TMatrix3<S>& tm, TVector3<S>& tv)
const;
82 void computeScrewParameter();
84 Quaternion<S> deltaRotation(S dt)
const;
86 Quaternion<S> absoluteRotation(S dt)
const;
95 mutable Transform3<S>
tf;
111 S getLinearVelocity()
const;
113 S getAngularVelocity()
const;
115 const Vector3<S>& getAxis()
const;
117 const Vector3<S>& getAxisOrigin()
const;
119 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
124 #include "fcl/math/motion/screw_motion-inl.h" S angular_vel
angular velocity
Definition: screw_motion.h:107
Main namespace.
Definition: broadphase_bruteforce-inl.h:45
Vector3< S > p
A point on the axis.
Definition: screw_motion.h:101
void getCurrentTransform(Transform3< S > &tf_) const
Get the rotation and translation in current step.
Definition: screw_motion-inl.h:125
ScrewMotion()
Default transformations are all identities.
Definition: screw_motion-inl.h:52
S linear_vel
linear velocity along the axis
Definition: screw_motion.h:104
Vector3< S > axis
screw axis
Definition: screw_motion.h:98
Transform3< S > tf
The transformation at current time t.
Definition: screw_motion.h:95
S computeMotionBound(const BVMotionBoundVisitor< S > &mb_visitor) const
Compute the motion bound for a bounding volume along a given direction n, which is defined in the vis...
Definition: screw_motion-inl.h:109
Transform3< S > tf2
The transformation at time 1.
Definition: screw_motion.h:92
bool integrate(double dt) const
Integrate the motion from 0 to dt We compute the current transformation from zero point instead of fr...
Definition: screw_motion-inl.h:95
Transform3< S > tf1
The transformation at time 0.
Definition: screw_motion.h:89