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

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