Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/physics_new/src/ogreode/OgreOdeTriangleMeshData.cpp @ 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#include "OgreOdePrecompiledHeaders.h"
2#include "OgreOdeTriangleMeshData.h"
3
4#include "OgreOdeTriangleMeshDataManager.h"
5
6using namespace OgreOde;
7using namespace Ogre;
8
9
10//------------------------------------------------------------------------------------------------
11TriangleMeshData::TriangleMeshData(String name,
12                                                                   Vector3 scale,
13                                                                   const Ogre::Vector3* vertices,
14                                                                   unsigned int vertex_count,
15                                                                   const TriangleIndex* indices,
16                                                                   unsigned int index_count
17                                                                   ) : 
18    _vertex_count (vertex_count),
19    _index_count (index_count)
20{
21        _name = name;
22        _scale = scale;
23        _vertex_count = vertex_count;
24        _index_count = index_count;
25        _vertices = new dVector3[vertex_count];
26        _indices = new TriangleIndex[index_count];
27
28        for(unsigned int i = 0;i < vertex_count;i++)
29        {
30                _vertices[i][0] = (dReal)vertices[i].x;
31                _vertices[i][1] = (dReal)vertices[i].y;
32                _vertices[i][2] = (dReal)vertices[i].z;
33        }
34
35        memcpy(_indices, indices, sizeof(unsigned int) * index_count);
36
37        _data = dGeomTriMeshDataCreate(); 
38        dGeomTriMeshDataBuildSimple(_data, (const dReal*)_vertices, (int)vertex_count, (dTriIndex*)_indices, (int)index_count); 
39       
40}
41
42
43
44
45//------------------------------------------------------------------------------------------------
46TriangleMeshData::~TriangleMeshData()
47{
48
49        //printf ("destroy TriangleMeshData\n");
50       
51        dGeomTriMeshDataDestroy(_data);
52       
53        TriangleMeshDataManager::getSingleton().removeTriangleMeshData(_name, _scale);
54       
55        delete[] _vertices;
56        delete[] _indices;
57}
58
59
Note: See TracBrowser for help on using the repository browser.