#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] |