Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/physics_new/src/ogreode/OgreOdeTriangleMeshData.h @ 2119

Last change on this file since 2119 was 2119, checked in by rgrieder, 15 years ago

Merged physics branch into physics_new branch.

  • 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.