Simple transform class used locally by InterpMotion. More...
#include <hpp/fcl/math/transform.h>
Public Member Functions | |
Transform3f () | |
Default transform is no movement. | |
Transform3f (const Matrix3f &R_, const Vec3f &T_) | |
Construct transform from rotation and translation. | |
Transform3f (const Quaternion3f &q_, const Vec3f &T_) | |
Construct transform from rotation and translation. | |
Transform3f (const Matrix3f &R_) | |
Construct transform from rotation. | |
Transform3f (const Quaternion3f &q_) | |
Construct transform from rotation. | |
Transform3f (const Vec3f &T_) | |
Construct transform from translation. | |
Transform3f (const Transform3f &tf) | |
Construct transform from another transform. | |
Transform3f & | operator= (const Transform3f &tf) |
operator = | |
const Vec3f & | getTranslation () const |
get translation | |
const Matrix3f & | getRotation () const |
get rotation | |
const Quaternion3f & | getQuatRotation () const |
get quaternion | |
void | setTransform (const Matrix3f &R_, const Vec3f &T_) |
set transform from rotation and translation | |
void | setTransform (const Quaternion3f &q_, const Vec3f &T_) |
set transform from rotation and translation | |
void | setRotation (const Matrix3f &R_) |
set transform from rotation | |
void | setTranslation (const Vec3f &T_) |
set transform from translation | |
void | setQuatRotation (const Quaternion3f &q_) |
set transform from rotation | |
Vec3f | transform (const Vec3f &v) const |
transform a given vector by the transform | |
Transform3f & | inverse () |
inverse transform | |
Transform3f | inverseTimes (const Transform3f &other) const |
inverse the transform and multiply with another | |
const Transform3f & | operator*= (const Transform3f &other) |
multiply with another transform | |
Transform3f | operator* (const Transform3f &other) const |
multiply with another transform | |
bool | isIdentity () const |
check whether the transform is identity | |
void | setIdentity () |
set the transform to be identity transform | |
bool | operator== (const Transform3f &other) const |
bool | operator!= (const Transform3f &other) const |
Simple transform class used locally by InterpMotion.
fcl::Transform3f::Transform3f | ( | ) | [inline] |
Default transform is no movement.
References setIdentity().
Referenced by inverseTimes(), and operator*().
Construct transform from rotation and translation.
References fcl::Quaternion3f::fromRotation().
fcl::Transform3f::Transform3f | ( | const Quaternion3f & | q_, |
const Vec3f & | T_ | ||
) | [inline] |
Construct transform from rotation and translation.
fcl::Transform3f::Transform3f | ( | const Matrix3f & | R_ | ) | [inline] |
Construct transform from rotation.
References fcl::Quaternion3f::fromRotation().
fcl::Transform3f::Transform3f | ( | const Quaternion3f & | q_ | ) | [inline] |
Construct transform from rotation.
fcl::Transform3f::Transform3f | ( | const Vec3f & | T_ | ) | [inline] |
Construct transform from translation.
References fcl::Matrix3fX< T >::setIdentity().
fcl::Transform3f::Transform3f | ( | const Transform3f & | tf | ) | [inline] |
Construct transform from another transform.
const Quaternion3f& fcl::Transform3f::getQuatRotation | ( | ) | const [inline] |
get quaternion
Referenced by fcl::ScrewMotion::absoluteRotation(), fcl::CollisionObject::computeAABB(), fcl::ScrewMotion::computeScrewParameter(), fcl::MotionBase::getCurrentRotation(), fcl::MotionBase::getCurrentTransform(), fcl::CollisionObject::getQuatRotation(), fcl::InterpMotion::getTaylorModel(), and operator==().
const Matrix3f& fcl::Transform3f::getRotation | ( | ) | const [inline] |
get rotation
Referenced by fcl::MeshShapeCollisionTraversalNodeOBB< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeCollisionTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeCollisionTraversalNodekIOS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeCollisionTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshCollisionTraversalNodeOBB< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshCollisionTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshCollisionTraversalNodekIOS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshCollisionTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MotionBase::getCurrentRotation(), fcl::MotionBase::getCurrentTransform(), fcl::CollisionObject::getRotation(), fcl::ScrewMotion::getTaylorModel(), fcl::InterpMotion::getTaylorModel(), fcl::details::setupShapeMeshDistanceOrientedNode(), fcl::GJKSolver_indep::shapeDistance(), fcl::GJKSolver_indep::shapeIntersect(), fcl::GJKSolver_indep::shapeTriangleDistance(), and fcl::GJKSolver_indep::shapeTriangleIntersect().
const Vec3f& fcl::Transform3f::getTranslation | ( | ) | const [inline] |
get translation
Referenced by fcl::MeshShapeCollisionTraversalNodeOBB< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeCollisionTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeCollisionTraversalNodekIOS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeCollisionTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshCollisionTraversalNodeOBB< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshCollisionTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshCollisionTraversalNodekIOS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshCollisionTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::CollisionObject::computeAABB(), fcl::ScrewMotion::computeScrewParameter(), fcl::MotionBase::getCurrentTransform(), fcl::MotionBase::getCurrentTranslation(), fcl::ScrewMotion::getTaylorModel(), fcl::CollisionObject::getTranslation(), fcl::ScrewMotion::integrate(), operator==(), and fcl::details::setupShapeMeshDistanceOrientedNode().
Transform3f& fcl::Transform3f::inverse | ( | ) | [inline] |
inverse transform
References fcl::Quaternion3f::conj(), and fcl::Quaternion3f::transform().
Transform3f fcl::Transform3f::inverseTimes | ( | const Transform3f & | other | ) | const [inline] |
inverse the transform and multiply with another
References fcl::conj(), fcl::Quaternion3f::transform(), and Transform3f().
Referenced by fcl::GJKSolver_indep::shapeDistance(), fcl::GJKSolver_indep::shapeIntersect(), fcl::GJKSolver_indep::shapeTriangleDistance(), and fcl::GJKSolver_indep::shapeTriangleIntersect().
bool fcl::Transform3f::isIdentity | ( | ) | const [inline] |
check whether the transform is identity
References fcl::Quaternion3f::isIdentity(), and fcl::Vec3fX< T >::isZero().
Referenced by fcl::initialize(), and fcl::CollisionObject::isIdentityTransform().
bool fcl::Transform3f::operator!= | ( | const Transform3f & | other | ) | const [inline] |
Transform3f fcl::Transform3f::operator* | ( | const Transform3f & | other | ) | const [inline] |
multiply with another transform
References fcl::Quaternion3f::transform(), and Transform3f().
const Transform3f& fcl::Transform3f::operator*= | ( | const Transform3f & | other | ) | [inline] |
multiply with another transform
References fcl::Quaternion3f::transform().
Transform3f& fcl::Transform3f::operator= | ( | const Transform3f & | tf | ) | [inline] |
operator =
bool fcl::Transform3f::operator== | ( | const Transform3f & | other | ) | const [inline] |
References getQuatRotation(), and getTranslation().
void fcl::Transform3f::setIdentity | ( | ) | [inline] |
set the transform to be identity transform
References fcl::Matrix3fX< T >::setIdentity(), and fcl::Vec3fX< T >::setValue().
Referenced by fcl::initialize(), fcl::CollisionObject::setIdentityTransform(), and Transform3f().
void fcl::Transform3f::setQuatRotation | ( | const Quaternion3f & | q_ | ) | [inline] |
set transform from rotation
Referenced by fcl::ScrewMotion::integrate(), and fcl::CollisionObject::setQuatRotation().
void fcl::Transform3f::setRotation | ( | const Matrix3f & | R_ | ) | [inline] |
set transform from rotation
References fcl::Quaternion3f::fromRotation().
Referenced by fcl::CollisionObject::setRotation().
set transform from rotation and translation
References fcl::Quaternion3f::fromRotation().
Referenced by fcl::CollisionObject::setTransform().
void fcl::Transform3f::setTransform | ( | const Quaternion3f & | q_, |
const Vec3f & | T_ | ||
) | [inline] |
set transform from rotation and translation
void fcl::Transform3f::setTranslation | ( | const Vec3f & | T_ | ) | [inline] |
set transform from translation
Referenced by fcl::ScrewMotion::integrate(), and fcl::CollisionObject::setTranslation().
transform a given vector by the transform
References fcl::Quaternion3f::transform().
Referenced by fcl::CollisionObject::computeAABB(), fcl::generateBVHModel(), fcl::InterpMotion::getTaylorModel(), fcl::initialize(), fcl::ShapeConservativeAdvancementTraversalNode< S1, S2, NarrowPhaseSolver >::leafTesting(), fcl::GJKSolver_indep::shapeDistance(), fcl::GJKSolver_indep::shapeIntersect(), fcl::GJKSolver_indep::shapeTriangleDistance(), fcl::GJKSolver_indep::shapeTriangleIntersect(), and fcl::details::MinkowskiDiff::support1().