diff options
Diffstat (limited to 'thirdparty/bullet/Bullet3Serialize/Bullet2FileLoader/b3DNA.h')
-rw-r--r-- | thirdparty/bullet/Bullet3Serialize/Bullet2FileLoader/b3DNA.h | 141 |
1 files changed, 66 insertions, 75 deletions
diff --git a/thirdparty/bullet/Bullet3Serialize/Bullet2FileLoader/b3DNA.h b/thirdparty/bullet/Bullet3Serialize/Bullet2FileLoader/b3DNA.h index 6e60087cce..ca6004d960 100644 --- a/thirdparty/bullet/Bullet3Serialize/Bullet2FileLoader/b3DNA.h +++ b/thirdparty/bullet/Bullet3Serialize/Bullet2FileLoader/b3DNA.h @@ -16,95 +16,86 @@ subject to the following restrictions: #ifndef __BDNA_H__ #define __BDNA_H__ - #include "b3Common.h" -namespace bParse { - - struct bNameInfo +namespace bParse +{ +struct bNameInfo +{ + char *m_name; + bool m_isPointer; + int m_dim0; + int m_dim1; +}; + +class bDNA +{ +public: + bDNA(); + ~bDNA(); + + void init(char *data, int len, bool swap = false); + + int getArraySize(char *str); + int getArraySizeNew(short name) { - char* m_name; - bool m_isPointer; - int m_dim0; - int m_dim1; - }; - - class bDNA + const bNameInfo &nameInfo = m_Names[name]; + return nameInfo.m_dim0 * nameInfo.m_dim1; + } + int getElementSize(short type, short name) { - public: - bDNA(); - ~bDNA(); - - void init(char *data, int len, bool swap=false); - - int getArraySize(char* str); - int getArraySizeNew(short name) - { - const bNameInfo& nameInfo = m_Names[name]; - return nameInfo.m_dim0*nameInfo.m_dim1; - } - int getElementSize(short type, short name) - { - const bNameInfo& nameInfo = m_Names[name]; - int size = nameInfo.m_isPointer ? mPtrLen*nameInfo.m_dim0*nameInfo.m_dim1 : mTlens[type]*nameInfo.m_dim0*nameInfo.m_dim1; - return size; - } - - int getNumNames() const - { - return m_Names.size(); - } - - char *getName(int ind); - char *getType(int ind); - short *getStruct(int ind); - short getLength(int ind); - int getReverseType(short type); - int getReverseType(const char *type); - - - int getNumStructs(); - - // - bool lessThan(bDNA* other); - - void initCmpFlags(bDNA *memDNA); - bool flagNotEqual(int dna_nr); - bool flagEqual(int dna_nr); - bool flagNone(int dna_nr); + const bNameInfo &nameInfo = m_Names[name]; + int size = nameInfo.m_isPointer ? mPtrLen * nameInfo.m_dim0 * nameInfo.m_dim1 : mTlens[type] * nameInfo.m_dim0 * nameInfo.m_dim1; + return size; + } + int getNumNames() const + { + return m_Names.size(); + } - int getPointerSize(); + char *getName(int ind); + char *getType(int ind); + short *getStruct(int ind); + short getLength(int ind); + int getReverseType(short type); + int getReverseType(const char *type); - void dumpTypeDefinitions(); + int getNumStructs(); - - private: - enum FileDNAFlags - { - FDF_NONE=0, - FDF_STRUCT_NEQU, - FDF_STRUCT_EQU - }; + // + bool lessThan(bDNA *other); - void initRecurseCmpFlags(int i); + void initCmpFlags(bDNA *memDNA); + bool flagNotEqual(int dna_nr); + bool flagEqual(int dna_nr); + bool flagNone(int dna_nr); - b3AlignedObjectArray<int> mCMPFlags; + int getPointerSize(); - b3AlignedObjectArray<bNameInfo> m_Names; - b3AlignedObjectArray<char*> mTypes; - b3AlignedObjectArray<short*> mStructs; - b3AlignedObjectArray<short> mTlens; - b3HashMap<b3HashInt, int> mStructReverse; - b3HashMap<b3HashString,int> mTypeLookup; + void dumpTypeDefinitions(); - int mPtrLen; - +private: + enum FileDNAFlags + { + FDF_NONE = 0, + FDF_STRUCT_NEQU, + FDF_STRUCT_EQU + }; + void initRecurseCmpFlags(int i); + b3AlignedObjectArray<int> mCMPFlags; - }; -} + b3AlignedObjectArray<bNameInfo> m_Names; + b3AlignedObjectArray<char *> mTypes; + b3AlignedObjectArray<short *> mStructs; + b3AlignedObjectArray<short> mTlens; + b3HashMap<b3HashInt, int> mStructReverse; + b3HashMap<b3HashString, int> mTypeLookup; + int mPtrLen; +}; +} // namespace bParse -#endif//__BDNA_H__ +#endif //__BDNA_H__ |