#include <motion.h>
Inheritance diagram for fcl::InterpMotion< BV >:
Public Member Functions | |
InterpMotion () | |
Default transformations are all identities. | |
InterpMotion (const Matrix3f &R1, const Vec3f &T1, const Matrix3f &R2, const Vec3f &T2) | |
Construct motion from the initial rotation/translation and goal rotation/translation. | |
InterpMotion (const Transform3f &tf1_, const Transform3f &tf2_) | |
InterpMotion (const Matrix3f &R1, const Vec3f &T1, const Matrix3f &R2, const Vec3f &T2, const Vec3f &O) | |
Construct motion from the initial rotation/translation and goal rotation/translation related to some rotation center. | |
InterpMotion (const Transform3f &tf1_, const Transform3f &tf2_, const Vec3f &O) | |
bool | integrate (double dt) |
Integrate the motion from 0 to dt We compute the current transformation from zero point instead of from last integrate time, for precision. | |
FCL_REAL | computeMotionBound (const BV &bv, const Vec3f &n) const |
Compute the motion bound for a bounding volume along a given direction n For general BV, not implemented so return trivial 0. | |
FCL_REAL | computeMotionBound (const Vec3f &a, const Vec3f &b, const Vec3f &c, const Vec3f &n) const |
Compute the motion bound for a triangle along a given direction n according to mu < |v * n| + ||w x n||(max||ci*||) where ||ci*|| = ||R0(ci) x w|| / \|w\|. w is the angular velocity and ci are the triangle vertex coordinates. Notice that the triangle is in the local frame of the object, but n should be in the global frame (the reason is that the motion (t1, t2 and t) is in global frame). | |
void | getCurrentTransform (Matrix3f &R, Vec3f &T) const |
Get the rotation and translation in current step. | |
void | getCurrentRotation (Matrix3f &R) const |
void | getCurrentTranslation (Vec3f &T) const |
void | getCurrentTransform (Transform3f &tf_) const |
template<> | |
FCL_REAL | computeMotionBound (const RSS &bv, const Vec3f &n) const |
template<> | |
FCL_REAL | computeMotionBound (const RSS &bv, const Vec3f &n) const |
Protected Member Functions | |
void | computeVelocity () |
Quaternion3f | deltaRotation (FCL_REAL dt) const |
Quaternion3f | absoluteRotation (FCL_REAL dt) const |
Protected Attributes | |
Transform3f | tf1 |
The transformation at time 0. | |
Transform3f | tf2 |
The transformation at time 1. | |
Transform3f | tf |
The transformation at current time t. | |
Vec3f | linear_vel |
Linear velocity. | |
FCL_REAL | angular_vel |
Angular speed. | |
Vec3f | angular_axis |
Angular velocity axis. | |
Vec3f | reference_p |
Reference point for the motion (in the object's local frame). |
Definition at line 489 of file motion.h.
fcl::InterpMotion< BV >::InterpMotion | ( | ) | [inline] |
fcl::InterpMotion< BV >::InterpMotion | ( | const Matrix3f & | R1, | |
const Vec3f & | T1, | |||
const Matrix3f & | R2, | |||
const Vec3f & | T2 | |||
) | [inline] |
fcl::InterpMotion< BV >::InterpMotion | ( | const Transform3f & | tf1_, | |
const Transform3f & | tf2_ | |||
) | [inline] |
fcl::InterpMotion< BV >::InterpMotion | ( | const Matrix3f & | R1, | |
const Vec3f & | T1, | |||
const Matrix3f & | R2, | |||
const Vec3f & | T2, | |||
const Vec3f & | O | |||
) | [inline] |