Public Member Functions | List of all members
fcl::Transform3f Class Reference

Simple transform class used locally by InterpMotion. More...

#include <hpp/fcl/math/transform.h>

Public Member Functions

 Transform3f ()
 Default transform is no movement. More...
 
 Transform3f (const Matrix3f &R_, const Vec3f &T_)
 Construct transform from rotation and translation. More...
 
 Transform3f (const Quaternion3f &q_, const Vec3f &T_)
 Construct transform from rotation and translation. More...
 
 Transform3f (const Matrix3f &R_)
 Construct transform from rotation. More...
 
 Transform3f (const Quaternion3f &q_)
 Construct transform from rotation. More...
 
 Transform3f (const Vec3f &T_)
 Construct transform from translation. More...
 
 Transform3f (const Transform3f &tf)
 Construct transform from another transform. More...
 
Transform3foperator= (const Transform3f &tf)
 operator = More...
 
const Vec3fgetTranslation () const
 get translation More...
 
const Matrix3fgetRotation () const
 get rotation More...
 
const Quaternion3fgetQuatRotation () const
 get quaternion More...
 
void setTransform (const Matrix3f &R_, const Vec3f &T_)
 set transform from rotation and translation More...
 
void setTransform (const Quaternion3f &q_, const Vec3f &T_)
 set transform from rotation and translation More...
 
void setRotation (const Matrix3f &R_)
 set transform from rotation More...
 
void setTranslation (const Vec3f &T_)
 set transform from translation More...
 
void setQuatRotation (const Quaternion3f &q_)
 set transform from rotation More...
 
Vec3f transform (const Vec3f &v) const
 transform a given vector by the transform More...
 
Transform3finverse ()
 inverse transform More...
 
Transform3f inverseTimes (const Transform3f &other) const
 inverse the transform and multiply with another More...
 
const Transform3foperator*= (const Transform3f &other)
 multiply with another transform More...
 
Transform3f operator* (const Transform3f &other) const
 multiply with another transform More...
 
bool isIdentity () const
 check whether the transform is identity More...
 
void setIdentity ()
 set the transform to be identity transform More...
 
bool operator== (const Transform3f &other) const
 
bool operator!= (const Transform3f &other) const
 

Detailed Description

Simple transform class used locally by InterpMotion.

Constructor & Destructor Documentation

◆ Transform3f() [1/7]

fcl::Transform3f::Transform3f ( )
inline

Default transform is no movement.

◆ Transform3f() [2/7]

fcl::Transform3f::Transform3f ( const Matrix3f R_,
const Vec3f T_ 
)
inline

Construct transform from rotation and translation.

References fcl::Quaternion3f::fromRotation().

◆ Transform3f() [3/7]

fcl::Transform3f::Transform3f ( const Quaternion3f q_,
const Vec3f T_ 
)
inline

Construct transform from rotation and translation.

◆ Transform3f() [4/7]

fcl::Transform3f::Transform3f ( const Matrix3f R_)
inline

Construct transform from rotation.

References fcl::Quaternion3f::fromRotation().

◆ Transform3f() [5/7]

fcl::Transform3f::Transform3f ( const Quaternion3f q_)
inline

Construct transform from rotation.

◆ Transform3f() [6/7]

fcl::Transform3f::Transform3f ( const Vec3f T_)
inline

Construct transform from translation.

References fcl::Matrix3fX< T >::setIdentity().

◆ Transform3f() [7/7]

fcl::Transform3f::Transform3f ( const Transform3f tf)
inline

Construct transform from another transform.

Member Function Documentation

◆ getQuatRotation()

const Quaternion3f& fcl::Transform3f::getQuatRotation ( ) const
inline

◆ getRotation()

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::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeConservativeAdvancementTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeConservativeAdvancementTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshConservativeAdvancementTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshConservativeAdvancementTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MotionBase::getCurrentRotation(), fcl::MotionBase::getCurrentTransform(), fcl::details::setupShapeMeshDistanceOrientedNode(), fcl::GJKSolver_indep::shapeDistance(), fcl::GJKSolver_indep::shapeIntersect(), fcl::GJKSolver_indep::shapeTriangleDistance(), and fcl::GJKSolver_indep::shapeTriangleIntersect().

◆ getTranslation()

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::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeConservativeAdvancementTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MeshShapeConservativeAdvancementTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshConservativeAdvancementTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::ShapeMeshConservativeAdvancementTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), fcl::MotionBase::getCurrentTransform(), fcl::MotionBase::getCurrentTranslation(), operator==(), and fcl::details::setupShapeMeshDistanceOrientedNode().

◆ inverse()

Transform3f& fcl::Transform3f::inverse ( )
inline

inverse transform

References fcl::Quaternion3f::conj(), and fcl::Quaternion3f::transform().

◆ inverseTimes()

Transform3f fcl::Transform3f::inverseTimes ( const Transform3f other) const
inline

◆ isIdentity()

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().

◆ operator!=()

bool fcl::Transform3f::operator!= ( const Transform3f other) const
inline

◆ operator*()

Transform3f fcl::Transform3f::operator* ( const Transform3f other) const
inline

multiply with another transform

References fcl::Quaternion3f::transform().

◆ operator*=()

const Transform3f& fcl::Transform3f::operator*= ( const Transform3f other)
inline

multiply with another transform

References fcl::Quaternion3f::transform().

◆ operator=()

Transform3f& fcl::Transform3f::operator= ( const Transform3f tf)
inline

operator =

◆ operator==()

bool fcl::Transform3f::operator== ( const Transform3f other) const
inline

◆ setIdentity()

void fcl::Transform3f::setIdentity ( )
inline

set the transform to be identity transform

References fcl::Quaternion3f::Quaternion3f(), fcl::Matrix3fX< T >::setIdentity(), and fcl::Vec3fX< T >::setValue().

Referenced by fcl::initialize().

◆ setQuatRotation()

void fcl::Transform3f::setQuatRotation ( const Quaternion3f q_)
inline

set transform from rotation

◆ setRotation()

void fcl::Transform3f::setRotation ( const Matrix3f R_)
inline

set transform from rotation

References fcl::Quaternion3f::fromRotation().

◆ setTransform() [1/2]

void fcl::Transform3f::setTransform ( const Matrix3f R_,
const Vec3f T_ 
)
inline

set transform from rotation and translation

References fcl::Quaternion3f::fromRotation().

◆ setTransform() [2/2]

void fcl::Transform3f::setTransform ( const Quaternion3f q_,
const Vec3f T_ 
)
inline

set transform from rotation and translation

◆ setTranslation()

void fcl::Transform3f::setTranslation ( const Vec3f T_)
inline

set transform from translation

◆ transform()

Vec3f fcl::Transform3f::transform ( const Vec3f v) const
inline