Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 21, 2011, 6:58:23 PM (13 years ago)
Author:
rgrieder
Message:

Merged revisions 7978 - 8096 from kicklib to kicklib2.

Location:
code/branches/kicklib2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/kicklib2

  • code/branches/kicklib2/src/external/bullet/LinearMath/btTransform.h

    r5781 r8284  
    1818#define btTransform_H
    1919
    20 #include "btVector3.h"
     20
    2121#include "btMatrix3x3.h"
     22
     23#ifdef BT_USE_DOUBLE_PRECISION
     24#define btTransformData btTransformDoubleData
     25#else
     26#define btTransformData btTransformFloatData
     27#endif
     28
     29
    2230
    2331
     
    2634class btTransform {
    2735       
     36  ///Storage for the rotation
     37        btMatrix3x3 m_basis;
     38  ///Storage for the translation
     39        btVector3   m_origin;
    2840
    2941public:
     
    196208                return identityTransform;
    197209        }
    198        
    199 private:
    200   ///Storage for the rotation
    201         btMatrix3x3 m_basis;
    202   ///Storage for the translation
    203         btVector3   m_origin;
     210
     211        void    serialize(struct        btTransformData& dataOut) const;
     212
     213        void    serializeFloat(struct   btTransformFloatData& dataOut) const;
     214
     215        void    deSerialize(const struct        btTransformData& dataIn);
     216
     217        void    deSerializeDouble(const struct  btTransformDoubleData& dataIn);
     218
     219        void    deSerializeFloat(const struct   btTransformFloatData& dataIn);
     220
    204221};
    205222
     
    235252
    236253
     254///for serialization
     255struct  btTransformFloatData
     256{
     257        btMatrix3x3FloatData    m_basis;
     258        btVector3FloatData      m_origin;
     259};
     260
     261struct  btTransformDoubleData
     262{
     263        btMatrix3x3DoubleData   m_basis;
     264        btVector3DoubleData     m_origin;
     265};
     266
     267
     268
     269SIMD_FORCE_INLINE       void    btTransform::serialize(btTransformData& dataOut) const
     270{
     271        m_basis.serialize(dataOut.m_basis);
     272        m_origin.serialize(dataOut.m_origin);
     273}
     274
     275SIMD_FORCE_INLINE       void    btTransform::serializeFloat(btTransformFloatData& dataOut) const
     276{
     277        m_basis.serializeFloat(dataOut.m_basis);
     278        m_origin.serializeFloat(dataOut.m_origin);
     279}
     280
     281
     282SIMD_FORCE_INLINE       void    btTransform::deSerialize(const btTransformData& dataIn)
     283{
     284        m_basis.deSerialize(dataIn.m_basis);
     285        m_origin.deSerialize(dataIn.m_origin);
     286}
     287
     288SIMD_FORCE_INLINE       void    btTransform::deSerializeFloat(const btTransformFloatData& dataIn)
     289{
     290        m_basis.deSerializeFloat(dataIn.m_basis);
     291        m_origin.deSerializeFloat(dataIn.m_origin);
     292}
     293
     294SIMD_FORCE_INLINE       void    btTransform::deSerializeDouble(const btTransformDoubleData& dataIn)
     295{
     296        m_basis.deSerializeDouble(dataIn.m_basis);
     297        m_origin.deSerializeDouble(dataIn.m_origin);
     298}
     299
     300
    237301#endif
    238302
Note: See TracChangeset for help on using the changeset viewer.