Blender
V3.3
|
#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 btTransform & | operator= (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 btMatrix3x3 & | getBasis () |
Return the basis matrix for the rotation. More... | |
SIMD_FORCE_INLINE btVector3 & | getOrigin () |
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... | |
btTransform & | operator*= (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 btTransform & | getIdentity () |
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... | |
#define btTransformData btTransformFloatData |
Definition at line 23 of file btTransform.h.
|
explicit |
Constructor from btMatrix3x3 (optional btVector3)
b | Rotation from Matrix |
c | Translation from Vector default (0,0,0) |
Definition at line 52 of file btTransform.h.
|
explicit |
Constructor from btQuaternion (optional btVector3 )
q | Rotation from quaternion |
c | Translation from Vector (default 0,0,0) |
Definition at line 42 of file btTransform.h.
SIMD_FORCE_INLINE btTransform | ( | const btTransform & | other | ) |
Copy constructor.
Definition at line 59 of file btTransform.h.
void deSerialize | ( | const struct btTransformData & | dataIn | ) |
void deSerializeDouble | ( | const struct btTransformDoubleData & | dataIn | ) |
void deSerializeFloat | ( | const struct btTransformFloatData & | dataIn | ) |
SIMD_FORCE_INLINE const btMatrix3x3 & getBasis | ( | ) |
Return the basis matrix for the rotation.
Definition at line 108 of file btTransform.h.
|
static |
Fill an array representation.
m | A 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.
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().
btQuaternion getRotation | ( | ) | const |
Return a quaternion representing the rotation.
Definition at line 118 of file btTransform.h.
Referenced by operator*().
btTransform inverse | ( | ) | const |
Return the inverse of this transform.
Return the inverse of the matrix.
Definition at line 182 of file btTransform.h.
References btMatrix3x3, btTransform, and m_origin.
Referenced by AngularImpulseMatrix(), btSoftBody::appendDeformableAnchor(), BCMatrix::apply_transform(), BKE_tracking_dopesheet_update(), BKE_tracking_tracks_join(), compare_firstlast_putting_undefined_first(), blender::compositor::BlurNode::convert_to_operations(), blender::compositor::DefocusNode::convert_to_operations(), FallbackImpl::createDisplayProcessor(), btSoftColliders::CollideSDF_RDF::DoNode(), btSoftColliders::CollideSDF_RD::DoNode(), DRW_view_persmat_get(), DRW_view_viewmat_get(), DRW_view_winmat_get(), EIG_invert_m4_m4(), blender::compositor::FHT(), blender::compositor::FHT2D(), get_modifier_point_weight(), getBaseWorldTransform(), ImpulseMatrix(), btDeformableMultiBodyDynamicsWorld::integrateTransforms(), invert_m4_m4(), invert_m4_m4_fallback(), lamp_fetch_transform(), OCIO_createDisplayProcessor(), tracking_dopesheet_channels_sort(), updateCollisionObjectInterpolationWorldTransforms(), and updateCollisionObjectWorldTransforms().
SIMD_FORCE_INLINE btTransform btTransform::inverseTimes | ( | const btTransform & | t | ) | const |
Return the inverse of this transform times the other transform.
t | The other transform return this.inverse() * the other |
Definition at line 222 of file btTransform.h.
References btTransform, btVector3, m_origin, t, and v.
SIMD_FORCE_INLINE btVector3 btTransform::invXform | ( | const btVector3 & | inVec | ) | const |
Definition at line 215 of file btTransform.h.
SIMD_FORCE_INLINE void mult | ( | const btTransform & | t1, |
const btTransform & | t2 | ||
) |
Set the current transform as the value of the product of two transforms.
Definition at line 76 of file btTransform.h.
References m_origin.
Referenced by mathutils_array_hash().
SIMD_FORCE_INLINE btVector3 operator() | ( | const btVector3 & | x | ) | const |
Return the transform of the vector.
Definition at line 90 of file btTransform.h.
Referenced by DiagSplit::post_split(), and btMultiBodyDynamicsWorld::solveExternalForces().
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().
btTransform operator* | ( | const btTransform & | t | ) | const |
Return the product of this transform and the other.
SIMD_FORCE_INLINE btVector3 operator* | ( | const btVector3 & | x | ) | const |
btTransform& operator*= | ( | const btTransform & | t | ) |
Multiply this Transform by another(this = this * another)
t | The other transform |
Definition at line 174 of file btTransform.h.
SIMD_FORCE_INLINE btTransform& operator= | ( | const btTransform & | other | ) |
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.
void serialize | ( | struct btTransformData & | dataOut | ) | const |
void serializeFloat | ( | struct btTransformFloatData & | dataOut | ) | const |
SIMD_FORCE_INLINE void setBasis | ( | const btMatrix3x3 & | basis | ) |
Set the rotational element by btMatrix3x3.
Definition at line 154 of file btTransform.h.
Set from an array.
m | A 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.
void setIdentity | ( | ) |
Set this transformation to the identity.
Definition at line 166 of file btTransform.h.
References m_origin.
SIMD_FORCE_INLINE void setOrigin | ( | const btVector3 & | origin | ) |
Set the translational element.
origin | The vector to set the translation to |
Definition at line 146 of file btTransform.h.
References m_origin.
SIMD_FORCE_INLINE void setRotation | ( | const btQuaternion & | q | ) |
Set the rotational element by btQuaternion.
Definition at line 160 of file btTransform.h.
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.
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().
btVector3 m_origin |
Storage for the translation.
Definition at line 34 of file btTransform.h.
Referenced by getOpenGLMatrix(), getOrigin(), inverse(), inverseTimes(), invXform(), mult(), operator()(), operator*=(), operator=(), setFromOpenGLMatrix(), setIdentity(), and setOrigin().