Blender  V3.3
Classes | Macros | Functions | Variables
btTransform.h File Reference
#include "btMatrix3x3.h"

Go to the source code of this file.

Classes

struct  btTransformFloatData
 for serialization More...
 
struct  btTransformDoubleData
 

Macros

#define btTransformData   btTransformFloatData
 

Functions

SIMD_FORCE_INLINE btTransform (const btQuaternion &q, const btVector3 &c=btVector3(btScalar(0), btScalar(0), btScalar(0)))
 Constructor from btQuaternion (optional btVector3 ) More...
 
SIMD_FORCE_INLINE btTransform (const btMatrix3x3 &b, const btVector3 &c=btVector3(btScalar(0), btScalar(0), btScalar(0)))
 Constructor from btMatrix3x3 (optional btVector3) More...
 
SIMD_FORCE_INLINE btTransform (const btTransform &other)
 Copy constructor. More...
 
SIMD_FORCE_INLINE btTransformoperator= (const btTransform &other)
 Assignment Operator. More...
 
SIMD_FORCE_INLINE void mult (const btTransform &t1, const btTransform &t2)
 Set the current transform as the value of the product of two transforms. More...
 
SIMD_FORCE_INLINE btVector3 operator() (const btVector3 &x) const
 Return the transform of the vector. More...
 
SIMD_FORCE_INLINE btVector3 operator* (const btVector3 &x) const
 Return the transform of the vector. More...
 
SIMD_FORCE_INLINE btQuaternion operator* (const btQuaternion &q) const
 Return the transform of the btQuaternion. More...
 
SIMD_FORCE_INLINE btMatrix3x3getBasis ()
 Return the basis matrix for the rotation. More...
 
SIMD_FORCE_INLINE btVector3getOrigin ()
 Return the origin vector translation. More...
 
btQuaternion getRotation () const
 Return a quaternion representing the rotation. More...
 
void setFromOpenGLMatrix (const btScalar *m)
 Set from an array. More...
 
void getOpenGLMatrix (btScalar *m) const
 Fill an array representation. More...
 
SIMD_FORCE_INLINE void setOrigin (const btVector3 &origin)
 Set the translational element. More...
 
SIMD_FORCE_INLINE btVector3 invXform (const btVector3 &inVec) const
 
SIMD_FORCE_INLINE void setBasis (const btMatrix3x3 &basis)
 Set the rotational element by btMatrix3x3. More...
 
SIMD_FORCE_INLINE void setRotation (const btQuaternion &q)
 Set the rotational element by btQuaternion. More...
 
void setIdentity ()
 Set this transformation to the identity. More...
 
btTransformoperator*= (const btTransform &t)
 Multiply this Transform by another(this = this * another) More...
 
btTransform inverse () const
 Return the inverse of this transform. More...
 
btTransform inverseTimes (const btTransform &t) const
 Return the inverse of this transform times the other transform. More...
 
btTransform operator* (const btTransform &t) const
 Return the product of this transform and the other. More...
 
static const btTransformgetIdentity ()
 Return an identity transform. More...
 
void serialize (struct btTransformData &dataOut) const
 
void serializeFloat (struct btTransformFloatData &dataOut) const
 
void deSerialize (const struct btTransformData &dataIn)
 
void deSerializeDouble (const struct btTransformDoubleData &dataIn)
 
void deSerializeFloat (const struct btTransformFloatData &dataIn)
 
SIMD_FORCE_INLINE bool operator== (const btTransform &t1, const btTransform &t2)
 Test if two transforms have all elements equal. More...
 

Variables

 btTransform
 The btTransform class supports rigid transforms with only translation and rotation and no scaling/shear. It can be used in combination with btVector3, btQuaternion and btMatrix3x3 linear algebra classes. More...
 
btVector3 m_origin
 Storage for the translation. More...
 

Macro Definition Documentation

◆ btTransformData

#define btTransformData   btTransformFloatData

Definition at line 23 of file btTransform.h.

Function Documentation

◆ btTransform() [1/3]

SIMD_FORCE_INLINE btTransform ( const btMatrix3x3 b,
const btVector3 c = btVector3(btScalar(0), btScalar(0), btScalar(0)) 
)
explicit

Constructor from btMatrix3x3 (optional btVector3)

Parameters
bRotation from Matrix
cTranslation from Vector default (0,0,0)

Definition at line 52 of file btTransform.h.

◆ btTransform() [2/3]

SIMD_FORCE_INLINE btTransform ( const btQuaternion q,
const btVector3 c = btVector3(btScalar(0), btScalar(0), btScalar(0)) 
)
explicit

Constructor from btQuaternion (optional btVector3 )

Parameters
qRotation from quaternion
cTranslation from Vector (default 0,0,0)

Definition at line 42 of file btTransform.h.

◆ btTransform() [3/3]

SIMD_FORCE_INLINE btTransform ( const btTransform &  other)

Copy constructor.

Definition at line 59 of file btTransform.h.

◆ deSerialize()

void deSerialize ( const struct btTransformData dataIn)

◆ deSerializeDouble()

void deSerializeDouble ( const struct btTransformDoubleData dataIn)

◆ deSerializeFloat()

void deSerializeFloat ( const struct btTransformFloatData dataIn)

◆ getBasis()

SIMD_FORCE_INLINE const btMatrix3x3 & getBasis ( )

Return the basis matrix for the rotation.

Definition at line 108 of file btTransform.h.

◆ getIdentity()

static const btTransform& getIdentity ( )
static

Return an identity transform.

Definition at line 197 of file btTransform.h.

References btTransform.

◆ getOpenGLMatrix()

void getOpenGLMatrix ( btScalar m) const

Fill an array representation.

Parameters
mA pointer to a 16 element array (12 rotation(row major padded on the right by 1), and 3 translation

Definition at line 135 of file btTransform.h.

References m_origin.

◆ getOrigin()

SIMD_FORCE_INLINE const btVector3 & getOrigin ( )

Return the origin vector translation.

Definition at line 113 of file btTransform.h.

References m_origin.

Referenced by Freestyle::ViewMapBuilder::FindOccludee().

◆ getRotation()

btQuaternion getRotation ( ) const

Return a quaternion representing the rotation.

Definition at line 118 of file btTransform.h.

Referenced by operator*().

◆ inverse()

btTransform inverse ( ) const

◆ inverseTimes()

SIMD_FORCE_INLINE btTransform btTransform::inverseTimes ( const btTransform t) const

Return the inverse of this transform times the other transform.

Parameters
tThe other transform return this.inverse() * the other

Definition at line 222 of file btTransform.h.

References btTransform, btVector3, m_origin, t, and v.

◆ invXform()

SIMD_FORCE_INLINE btVector3 btTransform::invXform ( const btVector3 inVec) const

Definition at line 215 of file btTransform.h.

References btVector3, m_origin, and v.

◆ mult()

SIMD_FORCE_INLINE void mult ( const btTransform t1,
const btTransform t2 
)

Set the current transform as the value of the product of two transforms.

Parameters
t1Transform 1
t2Transform 2 This = Transform1 * Transform2

Definition at line 76 of file btTransform.h.

References m_origin.

Referenced by mathutils_array_hash().

◆ operator()()

SIMD_FORCE_INLINE btVector3 operator() ( const btVector3 x) const

Return the transform of the vector.

Definition at line 90 of file btTransform.h.

References m_origin, and x.

Referenced by DiagSplit::post_split(), and btMultiBodyDynamicsWorld::solveExternalForces().

◆ operator*() [1/3]

SIMD_FORCE_INLINE btQuaternion operator* ( const btQuaternion q) const

Return the transform of the btQuaternion.

Definition at line 102 of file btTransform.h.

References getRotation().

◆ operator*() [2/3]

btTransform operator* ( const btTransform t) const

Return the product of this transform and the other.

◆ operator*() [3/3]

SIMD_FORCE_INLINE btVector3 operator* ( const btVector3 x) const

Return the transform of the vector.

Definition at line 96 of file btTransform.h.

References x.

◆ operator*=()

btTransform& operator*= ( const btTransform t)

Multiply this Transform by another(this = this * another)

Parameters
tThe other transform

Definition at line 174 of file btTransform.h.

References m_origin, and t.

◆ operator=()

SIMD_FORCE_INLINE btTransform& operator= ( const btTransform other)

Assignment Operator.

Definition at line 65 of file btTransform.h.

References m_origin.

◆ operator==()

SIMD_FORCE_INLINE bool operator== ( const btTransform t1,
const btTransform t2 
)

Test if two transforms have all elements equal.

Definition at line 237 of file btTransform.h.

◆ serialize()

void serialize ( struct btTransformData dataOut) const

◆ serializeFloat()

void serializeFloat ( struct btTransformFloatData dataOut) const

◆ setBasis()

SIMD_FORCE_INLINE void setBasis ( const btMatrix3x3 basis)

Set the rotational element by btMatrix3x3.

Definition at line 154 of file btTransform.h.

◆ setFromOpenGLMatrix()

void setFromOpenGLMatrix ( const btScalar m)

Set from an array.

Parameters
mA pointer to a 16 element array (12 rotation(row major padded on the right by 1), and 3 translation

Definition at line 127 of file btTransform.h.

References m_origin.

◆ setIdentity()

void setIdentity ( )

Set this transformation to the identity.

Definition at line 166 of file btTransform.h.

References m_origin.

◆ setOrigin()

SIMD_FORCE_INLINE void setOrigin ( const btVector3 origin)

Set the translational element.

Parameters
originThe vector to set the translation to

Definition at line 146 of file btTransform.h.

References m_origin.

◆ setRotation()

SIMD_FORCE_INLINE void setRotation ( const btQuaternion q)

Set the rotational element by btQuaternion.

Definition at line 160 of file btTransform.h.

Variable Documentation

◆ btTransform

btTransform
Initial value:
{
btMatrix3x3 m_basis
btMatrix3x3
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
Definition: btMatrix3x3.h:50

The btTransform class supports rigid transforms with only translation and rotation and no scaling/shear. It can be used in combination with btVector3, btQuaternion and btMatrix3x3 linear algebra classes.

No initialization constructor.

Definition at line 29 of file btTransform.h.

Referenced by btCollisionWorld::addCollisionObject(), btSoftBody::appendDeformableAnchor(), b2CollidePolygons(), btAdjustInternalEdgeContacts(), btComputeGjkEpaPenetration(), btCreateCompoundFromGimpactShape(), btHinge2Constraint(), btUniversalConstraint(), calc_from_homogenic(), calcAngleInfo2(), btMinkowskiPenetrationDepthSolver::calcPenDepth(), btContinuousConvexCollision::calcTimeOfImpact(), btGjkConvexCast::calcTimeOfImpact(), btSubsimplexConvexCast::calcTimeOfImpact(), calculateLocalInertia(), calculatePrincipalAxisTransform(), btCompoundCollisionAlgorithm::calculateTimeOfImpact(), btSoftBodyConcaveCollisionAlgorithm::calculateTimeOfImpact(), btSoftBody::checkContact(), btSoftBody::checkDeformableContact(), btSoftBody::checkDeformableFaceContact(), btGImpactCollisionAlgorithm::collide_sat_triangles(), btConvexPlaneCollisionAlgorithm::collideSingleContact(), btCollisionWorldImporter::convertAllObjects(), btCollisionWorldImporter::convertCollisionShape(), btCollisionWorld::convexSweepTest(), createPredictiveContactsInternal(), btMultiBodyFixedConstraint::debugDraw(), btMultiBodySliderConstraint::debugDraw(), debugDrawConstraint(), btCollisionWorld::debugDrawObject(), btMultiBodyDynamicsWorld::debugDrawWorld(), btSoftBody::defaultCollisionHandler(), btSparseSdf< CELLSIZE >::DistanceToShape(), btSoftColliders::CollideSDF_RDF::DoNode(), btSoftColliders::CollideSDF_RS::DoNode(), btSoftColliders::CollideSDF_RD::DoNode(), btIDebugDraw::drawCapsule(), btIDebugDraw::drawSphere(), btGImpactCompoundShape::CompoundPrimitiveManager::get_primitive_box(), getBaseWorldTransform(), getBoundingSphere(), btGImpactMeshShapePart::getChildTransform(), btGImpactMeshShape::getChildTransform(), btBoxBoxDetector::getClosestPoints(), SphereTriangleDetector::getClosestPoints(), btGjkPairDetector::getClosestPointsNonVirtual(), btRaycastVehicle::getForwardVector(), getIdentity(), getInfo2Internal(), getInfo2InternalUsingFrameOffset(), getInfo2NonVirtual(), btSoftBody::getRigidTransform(), btSphereBoxCollisionAlgorithm::getSphereDistance(), btGImpactCollisionAlgorithm::gimpact_vs_compoundshape(), btGImpactCollisionAlgorithm::gimpact_vs_concave(), btGImpactCollisionAlgorithm::gimpact_vs_gimpact(), btGImpactCollisionAlgorithm::gimpact_vs_shape(), btGImpactCollisionAlgorithm::gimpact_vs_shape_find_pairs(), btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision(), btSimpleDynamicsWorld::integrateTransforms(), btDeformableMultiBodyDynamicsWorld::integrateTransforms(), integrateTransformsInternal(), MyInternalTriangleIndexCallback::internalProcessTriangleIndex(), inverse(), inverseTimes(), make_constraint_transforms(), btCollisionWorld::objectQuerySingleInternal(), btDeformableMultiBodyDynamicsWorld::positionCorrection(), btCompoundLeafCallback::Process(), btCompoundCompoundLeafCallback::Process(), btCompoundLeafCallback::ProcessChildShape(), btCompoundCollisionAlgorithm::processCollision(), btCompoundCompoundCollisionAlgorithm::processCollision(), btConvexConvexAlgorithm::processCollision(), btConvexPlaneCollisionAlgorithm::processCollision(), btSoftBodyTriangleCallback::processTriangle(), btSoftBody::PSolve_Anchors(), btCollisionWorld::rayTestSingleInternal(), RB_body_get_transform_matrix(), RB_body_new(), RB_body_set_loc_rot(), RB_body_set_mass(), RB_compound_add_child_shape(), RB_constraint_new_6dof(), RB_constraint_new_6dof_spring(), RB_constraint_new_6dof_spring2(), RB_constraint_new_fixed(), RB_constraint_new_hinge(), RB_constraint_new_motor(), RB_constraint_new_piston(), RB_constraint_new_slider(), RB_world_convex_sweep_test(), recoverFromPenetration(), btCollisionWorld::refreshBroadphaseProxy(), btSoftBody::rotate(), setAxis(), btSoftBodyTriangleCallback::setTimeStepAndCounters(), setUpVector(), btGjkEpaSolver2::SignedDistance(), solveConstraintObsolete(), stepDown(), stepForwardAndStrafe(), stepUp(), synchronizeSingleMotionState(), btSoftBody::transformTo(), btSoftBody::translate(), btCollisionWorld::updateAabbs(), btSimpleDynamicsWorld::updateAabbs(), updateCollisionObjectInterpolationWorldTransforms(), updateCollisionObjectWorldTransforms(), btRaycastVehicle::updateFriction(), btRaycastVehicle::updateVehicle(), btRaycastVehicle::updateWheelTransformsWS(), writebackVelocityAndTransform(), and btSoftBody::Body::xform().

◆ m_origin

btVector3 m_origin