40 #ifndef _graphicsmeshmanager_h
41 #define _graphicsmeshmanager_h
44 #include "colourvalue.h"
45 #include "managerbase.h"
46 #include "managerfactory.h"
47 #include "singleton.h"
60 %
template(SingletonMeshManager) Singleton<MeshManager>;
72 typedef std::map< String, Mesh* > MeshContainer;
73 typedef MeshContainer::iterator MeshIterator;
74 typedef MeshContainer::const_iterator ConstMeshIterator;
76 MeshContainer GeneratedMeshes;
77 MeshContainer LoadedMeshes;
95 void DestroyAllMeshes();
107 virtual void UnloadMesh(
const String& MeshName);
110 virtual Whole GetNumLoadedMeshes();
112 virtual void UnloadAllLoadedMeshes();
119 virtual Whole GetNumGeneratedMeshes();
122 virtual void DestroyGeneratedMesh(
const String& MeshName);
124 virtual void DestroyAllGeneratedMeshes();
149 virtual Mesh* CreateCylinderMesh(
const String& MeshName,
const String& MaterialName,
const Vector3& HalfExtents,
const Vector3& AxisOrientation,
const Whole& CircleRes = 16,
const Whole& Segments = 1);
168 virtual Mesh* CreateSphereMesh(
const String& MeshName,
const String& MaterialName,
const Real& Radius,
const Real& Rings = 16,
const Real& Segments = 16);
185 virtual Mesh* CreateBoxCornerMesh(
const String& MeshName,
const String& MaterialName,
const Vector3& HalfExtents,
const Real& BoxThickness);
220 virtual void Initialize();
222 virtual void Deinitialize();
230 virtual String GetImplementationTypeName()
const;
247 String GetManagerTypeName()
const;