source: GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoMesh.h @ 980

Revision 980, 1.2 KB checked in by gumbau, 18 years ago (diff)
Line 
1#ifndef __GEO_MESH__
2#define __GEO_MESH__
3
4#include <vector>
5#include <ostream>
6#include <iostream>
7#include <fstream>
8
9#include "GeoBase.h"
10#include "GeoVertexBuffer.h"
11#include "GeoSerializable.h"
12#include "GeoSubMesh.h"
13
14namespace Geometry
15{       
16        /// Mesh class interface
17        class Mesh : public Serializable
18        {
19        public:
20                /// Constructor
21                Mesh();
22
23                /// Destructor
24                ~Mesh();
25
26                /// Copy constructor
27                Mesh(const Mesh&);
28
29                /// Assignment operator
30                Mesh& operator =(const Mesh&);
31
32                /// Loads data from a Serializer
33                void Load(Serializer &s);
34
35                /// Saves data to a Serializer
36                void Save(Serializer &s);
37
38                // Exports mesh to obj format file
39                void exportToOBJ(char *nomfich);
40
41                // Generate a shared vertex mesh
42                Geometry::Mesh *toSharedVertex(void);
43
44
45                VertexBuffer  *mVertexBuffer;   ///< Shared VertexBuffer
46                SubMesh *mSubMesh;                                              ///< Array of subMesehs
47                size_t   mSubMeshCount;                         ///< Total count of subMeshes
48
49                //OSCAR
50                char mSkeletonName[255];
51                bool hasSkeleton;
52                std::vector<VertexBoneAssignment> mBones;
53
54                //      Bounding box.
55                MeshBounds      mMeshBounds;    ///<    Mesh bounds
56        };
57
58} //end of Geometry namespace
59
60#endif
61
Note: See TracBrowser for help on using the repository browser.