40 #ifndef _debrismanager_h
41 #define _debrismanager_h
46 #include "worldmanager.h"
47 #include "worldmanagerfactory.h"
201 virtual Debris* GetDebris(
const Whole Index)
const;
208 virtual Whole GetNumDebris()
const;
211 virtual void DestroyDebris(
const Whole Index);
214 virtual void DestroyDebris(
Debris* ToBeDestroyed);
216 virtual void DestroyAllDebris();
221 DebrisIterator BeginDebris();
224 DebrisIterator EndDebris();
227 ConstDebrisIterator BeginDebris()
const;
230 ConstDebrisIterator EndDebris()
const;
241 virtual void RemoveDebrisFactory(
DebrisFactory* ToBeRemoved);
244 virtual void RemoveDebrisFactory(
const String& ImplName);
247 virtual void DestroyDebrisFactory(
DebrisFactory* ToBeDestroyed);
250 virtual void DestroyDebrisFactory(
const String& ImplName);
253 virtual void DestroyAllDebrisFactories();
259 virtual void Pause(
const UInt32 PL);
262 virtual void Initialize();
264 virtual void Deinitialize();
276 virtual String GetImplementationTypeName()
const;
DebrisManager * TargetManager
A pointer to the manager this work unit is processing.
This is the base class for all collision shapes.
A factory responsible for the creation and destruction of the default DebrisManager.
bool Boole
Generally acts a single bit, true or false.
Default implementation of WorkUnit. This represents on piece of work through time.
ManagerType
A listing of Manager Types.
DebrisContainer::iterator DebrisIterator
Iterator type for Debris instances stored by this class.
virtual ~DefaultDebrisManagerFactory()
Class destructor.
This class is used to check and modify the properties of a graphics mesh.
A base factory type for the creation of Debris objects.
FactoryMap::const_iterator ConstFactoryIterator
Const Iterator type for DebrisFactory instances stored by this class.
std::vector< Debris * > DebrisContainer
Basic container type for Debris storage by this class.
float Real
A Datatype used to represent a real floating point number.
A thread specific collection of double-buffered and algorithm specific resources. ...
A manager responsible for the storage and management of all Debris that exist in a world...
A light-weight handle for manipulating nodes in DOM tree.
A simple world object without a large structure ideal for representing loose small objects...
DebrisContainer Debriss
Container storing all Debris belonging to this manager.
uint32_t UInt32
An 32-bit unsigned integer.
String GetManagerImplName() const
Gets the name of the manager that is created by this factory.
FactoryMap::iterator FactoryIterator
Iterator type for DebrisFactory instances stored by this class.
ManagerBase::ManagerType GetManagerType() const
Gets the type of manager that is created by this factory.
DebrisUpdateWorkUnit * DebrisUpdateWork
The work unit that updates all the Debris stored by this manager.
FactoryMap DebrisFactories
A map containing all registered Debris type factories.
std::list< NameValuePair > NameValuePairList
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
This is the base class for all managers that belong to a single world instance.
This is a Mezzanine::Threading::iWorkUnit for the updating of Debris.
std::map< String, DebrisFactory * > FactoryMap
Basic container type for DebrisFactory storage by this class.
Threading::DefaultThreadSpecificStorage::Type * ThreadResources
Can be used for thread safe logging and other thread specific resources.
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.
This class represents a world for objects to interact within.
This is a base class for factories that construct managers used by the World class.
static const String ImplementationName
A String containing the name of this manager implementation.
DefaultDebrisManagerFactory()
Class constructor.
std::map< String, String > NameValuePairMap
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
void DestroyManager(WorldManager *ToBeDestroyed)
Destroys a Manager created by this factory.
DebrisContainer::const_iterator ConstDebrisIterator
Const Iterator type for Debris instances stored by this class.
WorldManager * CreateManager(World *Creator, const NameValuePairList &Params)
Creates a manager of the type represented by this factory.
std::string String
A datatype used to a series of characters.
This file has the definition of the workunit.
static const ManagerBase::ManagerType InterfaceType
A ManagerType enum value used to describe the type of interface/functionality this manager provides...