40 #ifndef _worldobject_h
41 #define _worldobject_h
44 #include "transformableobject.h"
46 #include "Physics/physicsenumerations.h"
104 virtual const String& GetName()
const;
107 virtual World* GetWorld()
const;
111 virtual Boole IsInWorld()
const = 0;
115 virtual Boole IsStatic()
const = 0;
118 virtual Boole IsKinematic()
const = 0;
122 virtual void GetProxies(ProxyContainer& Proxies) = 0;
126 virtual void GetProxies(
const UInt32 Types, ProxyContainer& Proxies) = 0;
132 virtual void AddToWorld() = 0;
134 virtual void RemoveFromWorld() = 0;
141 virtual void ProtoSerialize(
XML::Node& ParentNode)
const;
144 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
147 virtual void ProtoSerializeProxies(
XML::Node& SelfRoot)
const = 0;
151 virtual void ProtoDeSerialize(
const XML::Node& SelfRoot);
154 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
157 virtual void ProtoDeSerializeProxies(
const XML::Node& SelfRoot) = 0;
162 virtual String GetDerivedSerializableName()
const;
165 static String GetSerializableName();
172 virtual void _Update() = 0;
177 virtual void _NotifyProxyDestroyed(
WorldProxy* ToBeDestroyed) = 0;
bool Boole
Generally acts a single bit, true or false.
Contains the Mezzanine::Attachable Class and Mezzanine::Attachable::AttachableElement enumeration dec...
CollisionContainer CurrentCollisions
This member stores all existing collision events referencing this object.
World * ParentWorld
This is the world this object belongs to and will be inserted in/removed from.
Any global enumerations shared between multiple classes is to be declared here.
std::vector< WorldProxy * > ProxyContainer
Basic container type for WorldProxy storage by this class.
This is the base class from which classes that are insertable into the physical world.
A light-weight handle for manipulating nodes in DOM tree.
This is the base class for proxy objects belonging to the various 3D subsystems.
uint32_t UInt32
An 32-bit unsigned integer.
This is an event class used to track collsions in the physics world.
CollisionContainer::iterator CollisionIterator
Iterator type for the current collisions applied to this object.
CollisionState
Enum specifying the state change occuring in the collision.
ProxyContainer::iterator ProxyIterator
Iterator type for WorldProxy instances stored by this class.
WorldObjectType
Used by various classes to help identify what class an object is.
The bulk of the engine components go in this namspace.
This class represents a world for objects to interact within.
CollisionContainer::const_iterator ConstCollisionIterator
Const Iterator type for the current collisions applied to this object.
std::set< Physics::Collision * > CollisionContainer
Basic container type for the current collisions applied to this object.
ProxyContainer::const_iterator ConstProxyIterator
Const Iterator type for WorldProxy instances stored by this class.
String ObjectName
The name of the object.
std::string String
A datatype used to a series of characters.