source: trunk/VUT/work/IVReader/include/ivmeshdata.h @ 183

Revision 183, 901 bytes checked in by mattausch, 19 years ago (diff)

added iv-reader library, testing code, and resources

Line 
1#ifndef __IVMeshData_H__
2#define __IVMeshData_H__
3
4
5#include <Ogre.h>
6
7enum IVRenderOperationType
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                IVRenderOperationType 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.