#include <motion.h>
Public Member Functions | |
template<> | |
FCL_REAL | computeMotionBound (const RSS &bv, const Vec3f &n) const |
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, given the closest direction n between two query objects. | |
template<> | |
FCL_REAL | computeMotionBound (const RSS &bv, const Vec3f &n) const |
void | getCurrentRotation (Matrix3f &R) const |
void | getCurrentTransform (Matrix3f &R, Vec3f &T) const |
Get the rotation and translation in current step. | |
void | getCurrentTransform (Transform3f &tf_) const |
void | getCurrentTranslation (Vec3f &T) const |
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. | |
ScrewMotion () | |
ScrewMotion (const Matrix3f &R1, const Vec3f &T1, const Matrix3f &R2, const Vec3f &T2) | |
Construct motion from the initial rotation/translation and goal rotation/translation. | |
ScrewMotion (const Transform3f &tf1_, const Transform3f &tf2_) | |
Construct motion from the initial transform and goal transform. | |
Protected Member Functions | |
Quaternion3f | absoluteRotation (FCL_REAL dt) const |
void | computeScrewParameter () |
Quaternion3f | deltaRotation (FCL_REAL dt) const |
Protected Attributes | |
FCL_REAL | angular_vel |
angular velocity | |
Vec3f | axis |
screw axis | |
FCL_REAL | linear_vel |
linear velocity along the axis | |
Vec3f | p |
A point on the axis S. | |
Transform3f | tf |
The transformation at current time t. | |
Transform3f | tf1 |
The transformation at time 0. | |
Transform3f | tf2 |
The transformation at time 1. |
fcl::ScrewMotion< BV >::ScrewMotion | ( | ) | [inline] |
fcl::ScrewMotion< BV >::ScrewMotion | ( | const Matrix3f & | R1, |
const Vec3f & | T1, | ||
const Matrix3f & | R2, | ||
const Vec3f & | T2 | ||
) | [inline] |
fcl::ScrewMotion< BV >::ScrewMotion | ( | const Transform3f & | tf1_, |
const Transform3f & | tf2_ | ||
) | [inline] |
Quaternion3f fcl::ScrewMotion< BV >::absoluteRotation | ( | FCL_REAL | dt | ) | const [inline, protected] |
FCL_REAL fcl::ScrewMotion< RSS >::computeMotionBound | ( | const RSS & | bv, |
const Vec3f & | n | ||
) | const |
Definition at line 65 of file motion.cpp.
FCL_REAL fcl::ScrewMotion< BV >::computeMotionBound | ( | const BV & | bv, |
const Vec3f & | n | ||
) | const [inline, virtual] |
Compute the motion bound for a bounding volume along a given direction n For general BV, not implemented so return trivial 0.
Implements fcl::MotionBase< BV >.
FCL_REAL fcl::ScrewMotion< BV >::computeMotionBound | ( | const Vec3f & | a, |
const Vec3f & | b, | ||
const Vec3f & | c, | ||
const Vec3f & | n | ||
) | const [inline, virtual] |
Compute the motion bound for a triangle, given the closest direction n between two query objects.
Implements fcl::MotionBase< BV >.
FCL_REAL fcl::ScrewMotion< RSS >::computeMotionBound | ( | const RSS & | bv, |
const Vec3f & | n | ||
) | const |
void fcl::ScrewMotion< BV >::computeScrewParameter | ( | ) | [inline, protected] |
Quaternion3f fcl::ScrewMotion< BV >::deltaRotation | ( | FCL_REAL | dt | ) | const [inline, protected] |
void fcl::ScrewMotion< BV >::getCurrentRotation | ( | Matrix3f & | R | ) | const [inline, virtual] |
Implements fcl::MotionBase< BV >.
void fcl::ScrewMotion< BV >::getCurrentTransform | ( | Matrix3f & | R, |
Vec3f & | T | ||
) | const [inline, virtual] |
Get the rotation and translation in current step.
Implements fcl::MotionBase< BV >.
void fcl::ScrewMotion< BV >::getCurrentTransform | ( | Transform3f & | tf_ | ) | const [inline, virtual] |
Implements fcl::MotionBase< BV >.
void fcl::ScrewMotion< BV >::getCurrentTranslation | ( | Vec3f & | T | ) | const [inline, virtual] |
Implements fcl::MotionBase< BV >.
bool fcl::ScrewMotion< BV >::integrate | ( | double | dt | ) | [inline, virtual] |
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< BV >.
FCL_REAL fcl::ScrewMotion< BV >::angular_vel [protected] |
Vec3f fcl::ScrewMotion< BV >::axis [protected] |
FCL_REAL fcl::ScrewMotion< BV >::linear_vel [protected] |
Vec3f fcl::ScrewMotion< BV >::p [protected] |
Transform3f fcl::ScrewMotion< BV >::tf [protected] |
Transform3f fcl::ScrewMotion< BV >::tf1 [protected] |
Transform3f fcl::ScrewMotion< BV >::tf2 [protected] |