source: GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoSubMesh.h @ 2341

Revision 2341, 1.4 KB checked in by gumbau, 18 years ago (diff)
Line 
1#ifndef __GEO_SUBMESH__
2#define __GEO_SUBMESH__
3
4#include <vector>
5#include <ostream>
6
7#include "GeoBase.h"
8#include "GeoVertexBuffer.h"
9#include "GeoSerializable.h"
10
11namespace Geometry
12{
13
14        /// SubMesh interface
15        /** SubMesh is part of a Mesh, and stores vertex and index geometric information. */
16        class SubMesh : public Serializable
17        {
18        public:
19                /// Default constructor
20                SubMesh();
21
22                /// Default destructor
23                ~SubMesh();
24
25                /// Copy constructor
26                //SubMesh(const SubMesh&);
27
28                /// Assignment operator
29                //SubMesh& operator =(const SubMesh&);
30
31                /// Loads data from a Serializer
32                void Load(Serializer &s);
33
34                /// Saves data to a Serializer
35                void Save(Serializer &s);
36
37                /// VertexBuffer used to store vertex Data. Is a reference to a shared VertexData if
38                /// mSharedVertexBuffer == true, and must be not deallocated in that case.
39                VertexBuffer *mVertexBuffer;
40
41                bool mSharedVertexBuffer; ///< true if VertexBuffer it's shared with Mesh and other SubMeshes
42
43                Index  *mIndex;     ///< Array of Index
44                size_t mIndexCount; ///< Index count
45               
46                Index  **mStrip;    ///< Array of pointers to mIndex that represents each strip
47                size_t mStripCount; ///< number of Strips
48
49                MeshType        mType;  ///<    Type of mesh
50
51                char                    mName[255];                                     ///<    Submesh name.
52                char                    mMaterialName[255];     ///<    Material name
53
54                std::vector <VertexBoneAssignment> mBones;
55        };
56}
57
58#endif
59
Note: See TracBrowser for help on using the repository browser.