40 #ifndef _collisionshapemanager_h
41 #define _collisionshapemanager_h
43 #include "Physics/collisionshape.h"
45 #include "managerbase.h"
46 #include "managerfactory.h"
47 #include "singleton.h"
50 class btCollisionShape;
61 class ConvexHullCollisionShape;
62 class DynamicMeshCollisionShape;
63 class StaticMeshCollisionShape;
64 class CompoundCollisionShape;
84 typedef std::map< String, CollisionShape* >
ShapeMap;
104 btTriangleMesh* CreateBulletTrimesh(
Graphics::Mesh* ObjectMesh,
bool UseAllSubmeshes);
128 virtual Whole GetNumStoredShapes();
134 virtual void RemoveShape(
const String& Name);
136 virtual void RemoveAllShapes();
142 virtual void DestroyShape(
const String& Name);
144 virtual void DestroyAllShapes();
148 ShapeMapIterator BeginCollisionShape();
151 ShapeMapIterator EndCollisionShape();
154 ConstShapeMapIterator BeginCollisionShape()
const;
157 ConstShapeMapIterator EndCollisionShape()
const;
229 virtual void LoadAllShapesFromXMLFile(
const String& FileName,
const String& Group);
232 virtual void SaveAllStoredShapesToXMLFile(
const String& FileName);
236 virtual void SaveShapesToXMLFile(
const String& FileName, ShapeVector& ShapesToSave);
241 virtual void LoadAllShapesFromBinaryFile(
const String& FileName,
const String& Group);
245 virtual void SaveAllStoredShapesToBinaryFile(
const String& FileName);
250 virtual void SaveShapesToBinaryFile(
const String& FileName, ShapeVector& ShapesToSave);
261 ShapeVector& GetUnnamedShapes();
273 virtual void Initialize();
275 virtual void Deinitialize();
283 virtual String GetImplementationTypeName()
const;
300 String GetManagerTypeName()
const;