40 #ifndef _collisionshapemanager_h
41 #define _collisionshapemanager_h
44 #include "Physics/collisionshape.h"
46 #include "entresolmanager.h"
47 #include "entresolmanagerfactory.h"
49 #include "singleton.h"
52 class btCollisionShape;
68 class ConvexHullCollisionShape;
69 class DynamicMeshCollisionShape;
70 class StaticMeshCollisionShape;
71 class CompoundCollisionShape;
86 typedef std::map< String, CollisionShape* >
ShapeMap;
135 virtual Whole GetNumStoredShapes();
141 virtual void RemoveShape(
const String& Name);
143 virtual void RemoveAllShapes();
149 virtual void DestroyShape(
const String& Name);
151 virtual void DestroyAllShapes();
155 ShapeMapIterator BeginCollisionShape();
158 ShapeMapIterator EndCollisionShape();
162 ConstShapeMapIterator BeginCollisionShape()
const;
165 ConstShapeMapIterator EndCollisionShape()
const;
237 virtual void LoadAllShapesFromXMLFile(
const String& FileName,
const String& Group);
240 virtual void SaveAllStoredShapesToXMLFile(
const String& FileName);
244 virtual void SaveShapesToXMLFile(
const String& FileName, ShapeVector& ShapesToSave);
249 virtual void LoadAllShapesFromBinaryFile(
const String& FileName,
const String& Group);
253 virtual void SaveAllStoredShapesToBinaryFile(
const String& FileName);
258 virtual void SaveShapesToBinaryFile(
const String& FileName, ShapeVector& ShapesToSave);
269 ShapeVector& GetUnnamedShapes();
281 virtual void Initialize();
283 virtual void Deinitialize();
291 virtual String GetImplementationTypeName()
const;
307 String GetManagerImplName()
const;
This is the base class for all collision shapes.
A triangle mesh collsion shape based on a graphics mesh.
bool Boole
Generally acts a single bit, true or false.
ManagerType
A listing of Manager Types.
This is a base class for factories that construct managers used by the Entresol class.
static const String ImplementationName
A String containing the name of this manager implementation.
static const ManagerBase::ManagerType InterfaceType
A ManagerType enum value used to describe the type of interface/functionality this manager provides...
ShapeVector::iterator ShapeVectorIterator
Vector Iterator type for CollisionShape instances stored by this class.
This class is used to check and modify the properties of a graphics mesh.
All the definitions for datatypes as well as some basic conversion functions are defined here...
A triangle mesh collsion shape based on a graphics mesh.
A simple convex shape built from a low number of points in local space.
ShapeMap CollisionShapes
This stores the names and collision Shapes.
std::vector< CollisionShape * > ShapeVector
Vector container type for CollisionShape storage by this class.
float Real
A Datatype used to represent a real floating point number.
A factory responsible for the creation and destruction of the default collisionshapemanager.
This is the base class for all managers that do no describe properties of a single world...
A light-weight handle for manipulating nodes in DOM tree.
ShapeVector::const_iterator ConstShapeVectorIterator
Const Vector Iterator type for CollisionShape instances stored by this class.
ProcessDepth Depth
The current process depth as interpretted by Main.
std::list< NameValuePair > NameValuePairList
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
ShapeMap::const_iterator ConstShapeMapIterator
Const Map Iterator type for CollisionShape instances stored by this class.
ShapeVector UnnamedShapes
Stores shapes that have not been given a name.
The bulk of the engine components go in this namspace.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
ShapeMap::iterator ShapeMapIterator
Map Iterator type for CollisionShape instances stored by this class.
std::map< String, CollisionShape * > ShapeMap
Map container type for CollisionShape storage by this class.
This manager is for the storage of all shapes and creation of mesh shapes.
std::string String
A datatype used to a series of characters.
A collision shape composed of many other collision shapes placed and oriented in local space...