#include <hpp/fcl/ccd/motion.h>
Public Member Functions | |
ScrewMotion () | |
Default transformations are all identities. More... | |
ScrewMotion (const Matrix3f &R1, const Vec3f &T1, const Matrix3f &R2, const Vec3f &T2) | |
Construct motion from the initial rotation/translation and goal rotation/translation. More... | |
ScrewMotion (const Transform3f &tf1_, const Transform3f &tf2_) | |
Construct motion from the initial transform and goal transform. More... | |
bool | integrate (double dt) const |
Integrate the motion from 0 to dt We compute the current transformation from zero point instead of from last integrate time, for precision. More... | |
FCL_REAL | computeMotionBound (const BVMotionBoundVisitor &mb_visitor) const |
Compute the motion bound for a bounding volume along a given direction n, which is defined in the visitor. More... | |
FCL_REAL | computeMotionBound (const TriangleMotionBoundVisitor &mb_visitor) const |
Compute the motion bound for a triangle along a given direction n, which is defined in the visitor. More... | |
void | getCurrentTransform (Transform3f &tf_) const |
Get the rotation and translation in current step. More... | |
void | getTaylorModel (TMatrix3 &tm, TVector3 &tv) const |
FCL_REAL | getLinearVelocity () const |
FCL_REAL | getAngularVelocity () const |
const Vec3f & | getAxis () const |
const Vec3f & | getAxisOrigin () const |
![]() | |
MotionBase () | |
virtual | ~MotionBase () |
void | getCurrentTransform (Matrix3f &R, Vec3f &T) const |
Get the rotation and translation in current step. More... | |
void | getCurrentTransform (Quaternion3f &Q, Vec3f &T) const |
void | getCurrentRotation (Matrix3f &R) const |
void | getCurrentRotation (Quaternion3f &Q) const |
void | getCurrentTranslation (Vec3f &T) const |
const boost::shared_ptr < TimeInterval > & | getTimeInterval () const |
Protected Member Functions | |
void | computeScrewParameter () |
Quaternion3f | deltaRotation (FCL_REAL dt) const |
Quaternion3f | absoluteRotation (FCL_REAL dt) const |
Protected Attributes | |
Transform3f | tf1 |
The transformation at time 0. More... | |
Transform3f | tf2 |
The transformation at time 1. More... | |
Transform3f | tf |
The transformation at current time t. More... | |
Vec3f | axis |
screw axis More... | |
Vec3f | p |
A point on the axis S. More... | |
FCL_REAL | linear_vel |
linear velocity along the axis More... | |
FCL_REAL | angular_vel |
angular velocity More... | |
![]() | |
boost::shared_ptr< TimeInterval > | time_interval_ |
|
inline |
Default transformations are all identities.
References angular_vel, axis, linear_vel, and fcl::Vec3fX< T >::setValue().
|
inline |
Construct motion from the initial rotation/translation and goal rotation/translation.
References computeScrewParameter().
|
inline |
Construct motion from the initial transform and goal transform.
References computeScrewParameter().
|
inlineprotected |
References deltaRotation(), fcl::Transform3f::getQuatRotation(), and tf1.
Referenced by integrate().
|
inlinevirtual |
Compute the motion bound for a bounding volume along a given direction n, which is defined in the visitor.
Implements fcl::MotionBase.
References fcl::BVMotionBoundVisitor::visit().
|
inlinevirtual |
Compute the motion bound for a triangle along a given direction n, which is defined in the visitor.
Implements fcl::MotionBase.
References fcl::TriangleMotionBoundVisitor::visit().
|
inlineprotected |
|
inlineprotected |
References angular_vel, axis, and fcl::Quaternion3f::fromAxisAngle().
Referenced by absoluteRotation(), and integrate().
|
inline |
References angular_vel.
|
inlinevirtual |
|
inline |
References linear_vel.
Implements fcl::MotionBase.
References angular_vel, axis, fcl::generateTaylorModelForCosFunc(), fcl::generateTaylorModelForLinearFunc(), fcl::generateTaylorModelForSinFunc(), fcl::Transform3f::getRotation(), fcl::MotionBase::getTimeInterval(), fcl::Transform3f::getTranslation(), fcl::hat(), linear_vel, p, and tf1.
|
inlinevirtual |
Integrate the motion from 0 to dt We compute the current transformation from zero point instead of from last integrate time, for precision.
Implements fcl::MotionBase.
References absoluteRotation(), axis, deltaRotation(), fcl::Transform3f::getTranslation(), linear_vel, p, fcl::Transform3f::setQuatRotation(), fcl::Transform3f::setTranslation(), tf, tf1, and fcl::Quaternion3f::transform().
|
protected |
angular velocity
Referenced by computeScrewParameter(), deltaRotation(), getAngularVelocity(), getTaylorModel(), and ScrewMotion().
|
protected |
screw axis
Referenced by computeScrewParameter(), deltaRotation(), getAxis(), getTaylorModel(), integrate(), and ScrewMotion().
|
protected |
linear velocity along the axis
Referenced by computeScrewParameter(), getLinearVelocity(), getTaylorModel(), integrate(), and ScrewMotion().
|
protected |
A point on the axis S.
Referenced by computeScrewParameter(), getAxisOrigin(), getTaylorModel(), and integrate().
|
mutableprotected |
The transformation at current time t.
Referenced by getCurrentTransform(), and integrate().
|
protected |
The transformation at time 0.
Referenced by absoluteRotation(), computeScrewParameter(), getTaylorModel(), and integrate().
|
protected |
The transformation at time 1.
Referenced by computeScrewParameter().