#include <hpp/fcl/ccd/motion_base.h>
Public Member Functions | |
MotionBase () | |
virtual | ~MotionBase () |
virtual bool | integrate (double dt) const =0 |
Integrate the motion from 0 to dt. | |
virtual FCL_REAL | computeMotionBound (const BVMotionBoundVisitor &mb_visitor) const =0 |
Compute the motion bound for a bounding volume, given the closest direction n between two query objects. | |
virtual FCL_REAL | computeMotionBound (const TriangleMotionBoundVisitor &mb_visitor) const =0 |
Compute the motion bound for a triangle, given the closest direction n between two query objects. | |
void | getCurrentTransform (Matrix3f &R, Vec3f &T) const |
Get the rotation and translation in current step. | |
void | getCurrentTransform (Quaternion3f &Q, Vec3f &T) const |
void | getCurrentRotation (Matrix3f &R) const |
void | getCurrentRotation (Quaternion3f &Q) const |
void | getCurrentTranslation (Vec3f &T) const |
virtual void | getCurrentTransform (Transform3f &tf) const =0 |
virtual void | getTaylorModel (TMatrix3 &tm, TVector3 &tv) const =0 |
const boost::shared_ptr < TimeInterval > & | getTimeInterval () const |
Protected Attributes | |
boost::shared_ptr< TimeInterval > | time_interval_ |
fcl::MotionBase::MotionBase | ( | ) | [inline] |
virtual fcl::MotionBase::~MotionBase | ( | ) | [inline, virtual] |
virtual FCL_REAL fcl::MotionBase::computeMotionBound | ( | const BVMotionBoundVisitor & | mb_visitor | ) | const [pure virtual] |
Compute the motion bound for a bounding volume, given the closest direction n between two query objects.
Implemented in fcl::InterpMotion, fcl::ScrewMotion, fcl::SplineMotion, and fcl::TranslationMotion.
Referenced by fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::canStop(), fcl::MeshShapeConservativeAdvancementTraversalNode< OBBRSS, S, NarrowPhaseSolver >::canStop(), fcl::ShapeMeshConservativeAdvancementTraversalNode< S, OBBRSS, NarrowPhaseSolver >::canStop(), fcl::ShapeConservativeAdvancementTraversalNode< S1, S2, NarrowPhaseSolver >::leafTesting(), fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::leafTesting(), fcl::MeshShapeConservativeAdvancementTraversalNode< OBBRSS, S, NarrowPhaseSolver >::leafTesting(), fcl::ShapeMeshConservativeAdvancementTraversalNode< S, OBBRSS, NarrowPhaseSolver >::leafTesting(), fcl::details::meshConservativeAdvancementTraversalNodeCanStop(), fcl::details::meshShapeConservativeAdvancementOrientedNodeCanStop(), and fcl::details::meshShapeConservativeAdvancementOrientedNodeLeafTesting().
virtual FCL_REAL fcl::MotionBase::computeMotionBound | ( | const TriangleMotionBoundVisitor & | mb_visitor | ) | const [pure virtual] |
Compute the motion bound for a triangle, given the closest direction n between two query objects.
Implemented in fcl::InterpMotion, fcl::ScrewMotion, fcl::SplineMotion, and fcl::TranslationMotion.
void fcl::MotionBase::getCurrentRotation | ( | Matrix3f & | R | ) | const [inline] |
References getCurrentTransform(), and fcl::Transform3f::getRotation().
void fcl::MotionBase::getCurrentRotation | ( | Quaternion3f & | Q | ) | const [inline] |
References getCurrentTransform(), and fcl::Transform3f::getQuatRotation().
Get the rotation and translation in current step.
References fcl::Transform3f::getRotation(), and fcl::Transform3f::getTranslation().
Referenced by getCurrentRotation(), getCurrentTransform(), and getCurrentTranslation().
void fcl::MotionBase::getCurrentTransform | ( | Quaternion3f & | Q, |
Vec3f & | T | ||
) | const [inline] |
virtual void fcl::MotionBase::getCurrentTransform | ( | Transform3f & | tf | ) | const [pure virtual] |
Implemented in fcl::InterpMotion, fcl::ScrewMotion, fcl::SplineMotion, and fcl::TranslationMotion.
void fcl::MotionBase::getCurrentTranslation | ( | Vec3f & | T | ) | const [inline] |
References getCurrentTransform(), and fcl::Transform3f::getTranslation().
Implemented in fcl::InterpMotion, fcl::ScrewMotion, fcl::SplineMotion, and fcl::TranslationMotion.
const boost::shared_ptr<TimeInterval>& fcl::MotionBase::getTimeInterval | ( | ) | const [inline] |
References time_interval_.
Referenced by fcl::SplineMotion::getTaylorModel(), fcl::ScrewMotion::getTaylorModel(), and fcl::InterpMotion::getTaylorModel().
virtual bool fcl::MotionBase::integrate | ( | double | dt | ) | const [pure virtual] |
Integrate the motion from 0 to dt.
Implemented in fcl::InterpMotion, fcl::ScrewMotion, fcl::SplineMotion, and fcl::TranslationMotion.
boost::shared_ptr<TimeInterval> fcl::MotionBase::time_interval_ [protected] |
Referenced by getTimeInterval().