make btTransform::getIdentity a static const reference, returning a static, and add getIdentity to btMatrix3x3 and btQuaternion class
Thanks to ejtttje and martijn for the suggestions: http://code.google.com/p/bullet/issues/detail?id=139
This commit is contained in:
@@ -192,6 +192,15 @@ class btMatrix3x3 {
|
||||
btScalar(0.0), btScalar(1.0), btScalar(0.0),
|
||||
btScalar(0.0), btScalar(0.0), btScalar(1.0));
|
||||
}
|
||||
|
||||
static const btMatrix3x3& getIdentity()
|
||||
{
|
||||
static const btMatrix3x3 identityMatrix(btScalar(1.0), btScalar(0.0), btScalar(0.0),
|
||||
btScalar(0.0), btScalar(1.0), btScalar(0.0),
|
||||
btScalar(0.0), btScalar(0.0), btScalar(1.0));
|
||||
return identityMatrix;
|
||||
}
|
||||
|
||||
/**@brief Fill the values of the matrix into a 9 element array
|
||||
* @param m The array to be filled */
|
||||
void getOpenGLSubMatrix(btScalar *m) const
|
||||
|
||||
@@ -275,6 +275,12 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
static const btQuaternion& getIdentity()
|
||||
{
|
||||
static const btQuaternion identityQuat(btScalar(0.),btScalar(0.),btScalar(0.),btScalar(1.));
|
||||
return identityQuat;
|
||||
}
|
||||
|
||||
SIMD_FORCE_INLINE const btScalar& getW() const { return m_floats[3]; }
|
||||
|
||||
|
||||
|
||||
@@ -190,11 +190,10 @@ public:
|
||||
btTransform operator*(const btTransform& t) const;
|
||||
|
||||
/**@brief Return an identity transform */
|
||||
static btTransform getIdentity()
|
||||
static const btTransform& getIdentity()
|
||||
{
|
||||
btTransform tr;
|
||||
tr.setIdentity();
|
||||
return tr;
|
||||
static const btTransform identityTransform(btMatrix3x3::getIdentity());
|
||||
return identityTransform;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user