source: GTP/trunk/Lib/Vis/OnlineCullingCHC/ObjReader/include/ObjMeshData.h @ 2109

Revision 2109, 913 bytes checked in by mattausch, 17 years ago (diff)
Line 
1#ifndef __IVMeshData_H__
2#define __IVMeshData_H__
3
4
5#include <Ogre.h>
6
7enum mIVReaderenderOperationType
8{
9        IV_ROT_INVALID = -1,
10        IV_ROT_TRIANGLE_STRIP = 1,
11        IV_ROT_TRIANGLE_LIST = 3,
12        IV_ROT_FACE_SET = 4,
13};
14
15class __declspec(dllexport) IVMeshData
16{
17        public:
18                IVMeshData();
19                ~IVMeshData();
20
21                IVMeshData *expand();
22
23                void collapse();
24               
25                Ogre::Real *vertices, *normals, *texCoords, *indices, *normalIndices, *texCoordIndices;
26                int vcnt, ncnt, tcnt, icnt, nicnt, ticnt;
27                mIVReaderenderOperationType roType;
28                Ogre::AxisAlignedBox *boundingBox;
29
30        private:
31                int getSeparatorCnt(Ogre::Real *data, int end);
32
33                Ogre::Real *expandTriangleStripIndices(Ogre::Real *indices, int icnt, int *icntOut);
34                Ogre::Real *expandFaceSetIndices(Ogre::Real *indices, int icnt, int *icntOut);
35
36                int getNextFaceSize(int start);
37
38                Ogre::AxisAlignedBox *calcBoundingBox();
39
40
41};
42
43#endif
Note: See TracBrowser for help on using the repository browser.