Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/physics/src/ogreode/OgreOdeTriangleMeshData.h @ 2029

Last change on this file since 2029 was 1923, checked in by rgrieder, 16 years ago

Cleaned up the heavy mess with header file includes in OgreOde. It should now compile a lot faster.

  • Property svn:eol-style set to native
File size: 1.5 KB
Line 
1#ifndef __OgreOdeTriangleMeshData_H__
2#define __OgreOdeTriangleMeshData_H__
3
4#include "OgreOdePreReqs.h"
5
6#include <OgreSharedPtr.h>
7#include <OgreVector3.h>
8
9namespace OgreOde
10{
11        /** Stores triangle mesh data once and shares it between all geoms that require it
12        */
13        class _OgreOdeExport TriangleMeshData
14        {
15        public:
16
17                TriangleMeshData(Ogre::String name, Ogre::Vector3 scale, const Ogre::Vector3* vertices, unsigned int vertex_count, const TriangleIndex* indices, unsigned int index_count);
18
19                virtual ~TriangleMeshData();
20               
21                Ogre::String getMeshName(){ return _name; }
22               
23                Ogre::Vector3 getScale(){ return _scale; }
24
25                dTriMeshDataID getData(){ return _data; }
26
27                dVector3* getVertices(){ return _vertices; }
28
29                TriangleIndex* getIndices(){ return _indices; }
30       
31                unsigned int getVertexCount(){ return _vertex_count; }
32
33                unsigned int getIndexCount(){ return _index_count; }           
34               
35        protected:
36       
37                Ogre::String _name;
38                Ogre::Vector3 _scale;
39                dTriMeshDataID _data;
40                dVector3* _vertices;
41                TriangleIndex* _indices;
42                unsigned int _vertex_count;
43        unsigned int _index_count;
44        };
45
46        /** SharedPtr of TriangleMeshData
47        */
48        class _OgreOdeExport TriangleMeshDataPtr : public Ogre::SharedPtr<TriangleMeshData> 
49        {
50        public:
51                TriangleMeshDataPtr() : Ogre::SharedPtr<TriangleMeshData>() {}
52                TriangleMeshDataPtr(TriangleMeshData* rep) : Ogre::SharedPtr<TriangleMeshData>(rep) {}
53                TriangleMeshDataPtr(const TriangleMeshDataPtr& r) : Ogre::SharedPtr<TriangleMeshData>(r) {} 
54        };
55       
56}
57
58#endif //__OgreOdeTriangleMeshData_H__
59
60
Note: See TracBrowser for help on using the repository browser.