#ifndef __GEO_MESH__ #define __GEO_MESH__ #include #include #include #include #include "GeoBase.h" #include "GeoVertexBuffer.h" #include "GeoSerializable.h" #include "GeoSubMesh.h" namespace Geometry { /// Mesh class interface class Mesh : public Serializable { public: /// Constructor Mesh(); /// Destructor ~Mesh(); /// Copy constructor Mesh(const Mesh&); /// Assignment operator Mesh& operator =(const Mesh&); /// Loads data from a Serializer void Load(Serializer &s); /// Saves data to a Serializer void Save(Serializer &s); // Exports mesh to obj format file void exportToOBJ(char *nomfich); // Generate a shared vertex mesh Geometry::Mesh *toSharedVertex(void); VertexBuffer *mVertexBuffer; ///< Shared VertexBuffer SubMesh *mSubMesh; ///< Array of subMesehs size_t mSubMeshCount; ///< Total count of subMeshes //OSCAR char mSkeletonName[255]; bool hasSkeleton; std::vector mBones; // Bounding box. MeshBounds mMeshBounds; ///< Mesh bounds }; } //end of Geometry namespace #endif