source: GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoSubMesh.cpp @ 980

Revision 980, 1.0 KB checked in by gumbau, 18 years ago (diff)
Line 
1#include "GeoSubMesh.h"
2
3using namespace Geometry;
4
5SubMesh::SubMesh():
6        mIndex(0), mVertexBuffer(0), mIndexCount(0),mSharedVertexBuffer(false), mStrip(0), mStripCount(0), mType(GEO_TRIANGLE_LIST)
7{
8        strcpy(mMaterialName,"");
9}
10
11SubMesh::~SubMesh()
12{
13        delete[] mIndex;
14        if (!mSharedVertexBuffer) delete mVertexBuffer;
15}
16
17void SubMesh::Load(Serializer &s)
18{
19        //Clear Data:
20        delete[] mIndex; mIndex = 0;
21        if (!mSharedVertexBuffer)
22        {
23                delete mVertexBuffer;
24                mVertexBuffer = 0;
25        }
26        mIndexCount = 0;
27
28        //Load Data from Serializer
29        s.ReadArray(&mSharedVertexBuffer,1);
30        if (mSharedVertexBuffer)
31        {
32                mVertexBuffer = 0;
33        }
34        else
35        {
36                mVertexBuffer = new VertexBuffer();
37                mVertexBuffer->Load(s);
38        };
39
40        s.ReadArray(&mIndexCount,1);
41        mIndex = new Index[mIndexCount];
42        s.ReadArray(mIndex,mIndexCount);
43}
44
45void SubMesh::Save(Serializer &s)
46{
47        s.WriteArray(&mSharedVertexBuffer,1);
48        if (!mSharedVertexBuffer)
49        {
50                mVertexBuffer->Save(s);
51        }
52        s.WriteArray(&mIndexCount,1);
53        s.WriteArray(mIndex,mIndexCount);
54}
Note: See TracBrowser for help on using the repository browser.