#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. | |
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. | |
SplineMotion (const Vec3f &Td0, const Vec3f &Td1, const Vec3f &Td2, const Vec3f &Td3, const Vec3f &Rd0, const Vec3f &Rd1, const Vec3f &Rd2, const Vec3f &Rd3) | |
Construct motion from 4 deBoor points. | |
Protected Member Functions | |
FCL_REAL | computeDWMax () const |
void | computeSplineParameter () |
FCL_REAL | computeTBound (const Vec3f &n) const |
FCL_REAL | getWeight0 (FCL_REAL t) const |
FCL_REAL | getWeight1 (FCL_REAL t) const |
FCL_REAL | getWeight2 (FCL_REAL t) const |
FCL_REAL | getWeight3 (FCL_REAL t) const |
Protected Attributes | |
Vec3f | RA |
Vec3f | RB |
Vec3f | RC |
Vec3f | Rd [4] |
FCL_REAL | Rd0Rd0 |
FCL_REAL | Rd0Rd1 |
FCL_REAL | Rd0Rd2 |
FCL_REAL | Rd0Rd3 |
FCL_REAL | Rd1Rd1 |
FCL_REAL | Rd1Rd2 |
FCL_REAL | Rd1Rd3 |
FCL_REAL | Rd2Rd2 |
FCL_REAL | Rd2Rd3 |
FCL_REAL | Rd3Rd3 |
Vec3f | TA |
Vec3f | TB |
Vec3f | TC |
Vec3f | Td [4] |
Transform3f | tf |
The transformation at current time t. | |
FCL_REAL | tf_t |
The time related with tf. |
fcl::SplineMotion< BV >::SplineMotion | ( | const Vec3f & | Td0, |
const Vec3f & | Td1, | ||
const Vec3f & | Td2, | ||
const Vec3f & | Td3, | ||
const Vec3f & | Rd0, | ||
const Vec3f & | Rd1, | ||
const Vec3f & | Rd2, | ||
const Vec3f & | Rd3 | ||
) | [inline] |
FCL_REAL fcl::SplineMotion< BV >::computeDWMax | ( | ) | const [inline, protected] |
FCL_REAL fcl::SplineMotion< RSS >::computeMotionBound | ( | const RSS & | bv, |
const Vec3f & | n | ||
) | const |
Definition at line 88 of file motion.cpp.
FCL_REAL fcl::SplineMotion< 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::SplineMotion< 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 >.
void fcl::SplineMotion< BV >::computeSplineParameter | ( | ) | [inline, protected] |
FCL_REAL fcl::SplineMotion< BV >::computeTBound | ( | const Vec3f & | n | ) | const [inline, protected] |
void fcl::SplineMotion< BV >::getCurrentRotation | ( | Matrix3f & | R | ) | const [inline, virtual] |
Implements fcl::MotionBase< BV >.
void fcl::SplineMotion< BV >::getCurrentTransform | ( | Matrix3f & | R, |
Vec3f & | T | ||
) | const [inline, virtual] |
Get the rotation and translation in current step.
Implements fcl::MotionBase< BV >.
void fcl::SplineMotion< BV >::getCurrentTransform | ( | Transform3f & | tf_ | ) | const [inline, virtual] |
Implements fcl::MotionBase< BV >.
void fcl::SplineMotion< BV >::getCurrentTranslation | ( | Vec3f & | T | ) | const [inline, virtual] |
Implements fcl::MotionBase< BV >.
FCL_REAL fcl::SplineMotion< BV >::getWeight0 | ( | FCL_REAL | t | ) | const [inline, protected] |
FCL_REAL fcl::SplineMotion< BV >::getWeight1 | ( | FCL_REAL | t | ) | const [inline, protected] |
FCL_REAL fcl::SplineMotion< BV >::getWeight2 | ( | FCL_REAL | t | ) | const [inline, protected] |
FCL_REAL fcl::SplineMotion< BV >::getWeight3 | ( | FCL_REAL | t | ) | const [inline, protected] |
bool fcl::SplineMotion< 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 >.
Vec3f fcl::SplineMotion< BV >::RA [protected] |
Vec3f fcl::SplineMotion< BV >::RB [protected] |
Vec3f fcl::SplineMotion< BV >::RC [protected] |
Vec3f fcl::SplineMotion< BV >::Rd[4] [protected] |
FCL_REAL fcl::SplineMotion< BV >::Rd0Rd0 [protected] |
FCL_REAL fcl::SplineMotion< BV >::Rd0Rd1 [protected] |
FCL_REAL fcl::SplineMotion< BV >::Rd0Rd2 [protected] |
FCL_REAL fcl::SplineMotion< BV >::Rd0Rd3 [protected] |
FCL_REAL fcl::SplineMotion< BV >::Rd1Rd1 [protected] |
FCL_REAL fcl::SplineMotion< BV >::Rd1Rd2 [protected] |
FCL_REAL fcl::SplineMotion< BV >::Rd1Rd3 [protected] |
FCL_REAL fcl::SplineMotion< BV >::Rd2Rd2 [protected] |
FCL_REAL fcl::SplineMotion< BV >::Rd2Rd3 [protected] |
FCL_REAL fcl::SplineMotion< BV >::Rd3Rd3 [protected] |
Vec3f fcl::SplineMotion< BV >::TA [protected] |
Vec3f fcl::SplineMotion< BV >::TB [protected] |
Vec3f fcl::SplineMotion< BV >::TC [protected] |
Vec3f fcl::SplineMotion< BV >::Td[4] [protected] |
Transform3f fcl::SplineMotion< BV >::tf [protected] |
FCL_REAL fcl::SplineMotion< BV >::tf_t [protected] |