Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

Added OgreODE to our source repository because already we really need the newest version. And there is no hope to find any packages under linux.
The files included should compile and link with Ogre 1.4/1.6 and ODE 0.9/0.10. I was only able to test Ogre 1.4 and ODE 0.9/.10 under msvc until now.

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