43 #include "worldobject.h"
44 #include "colourvalue.h"
97 virtual void DestroyAreaEffect();
127 virtual void ApplyEffect() = 0;
130 virtual Boole IsInWorld()
const;
133 virtual Boole IsStatic()
const;
135 virtual Boole IsKinematic()
const;
138 virtual void GetProxies(ProxyContainer& Proxies);
140 virtual void GetProxies(
const UInt32 Types, ProxyContainer& Proxies);
146 virtual void AddToWorld();
148 virtual void RemoveFromWorld();
155 UInt32 GetNumOverlappingObjects()
const;
159 UInt32 GetNumAddedObjects()
const;
163 UInt32 GetNumRemovedObjects()
const;
166 ObjectContainer& GetOverlappingObjects();
169 ObjectContainer& GetAddedObjects();
172 ObjectContainer& GetRemovedObjects();
181 virtual void SetLocation(
const Vector3& Loc);
183 virtual void SetLocation(
const Real X,
const Real Y,
const Real Z);
185 virtual Vector3 GetLocation()
const;
187 virtual void SetOrientation(
const Quaternion& Ori);
189 virtual void SetOrientation(
const Real X,
const Real Y,
const Real Z,
const Real W);
193 virtual void SetScale(
const Vector3& Sc);
195 virtual void SetScale(
const Real X,
const Real Y,
const Real Z);
197 virtual Vector3 GetScale()
const;
200 virtual void Translate(
const Vector3& Trans);
202 virtual void Translate(
const Real X,
const Real Y,
const Real Z);
204 virtual void Yaw(
const Real Angle);
206 virtual void Pitch(
const Real Angle);
208 virtual void Roll(
const Real Angle);
210 virtual void Rotate(
const Vector3& Axis,
const Real Angle);
212 virtual void Rotate(
const Quaternion& Rotation);
214 virtual void Scale(
const Vector3& Scale);
216 virtual void Scale(
const Real X,
const Real Y,
const Real Z);
222 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
224 virtual void ProtoSerializeProxies(
XML::Node& SelfRoot)
const;
227 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
229 virtual void ProtoDeSerializeProxies(
const XML::Node& SelfRoot);
232 virtual String GetDerivedSerializableName()
const;
234 static String GetSerializableName();
240 virtual void _Update();
242 virtual void _NotifyProxyDestroyed(
WorldProxy* ToBeDestroyed);
259 virtual String GetTypeName()
const = 0;
274 virtual void DestroyAreaEffect(
AreaEffect* ToBeDestroyed) = 0;
This is the base class for all collision shapes.
ObjectContainer AddedObjects
Container of actors that have been added since last frame.
bool Boole
Generally acts a single bit, true or false.
std::vector< WorldObject * > ObjectContainer
Basic container type for Object storage by this class.
ProxyContainer AEProxies
Container of proxies that representing this AE field.
This is the proxy object for ghost objects with no contact response.
ObjectContainer::iterator ObjectIterator
Iterator type for Object instances stored by this class.
ObjectContainer OverlappingObjects
Container for actors within the field area.
This is the proxy class for placing and manipulating a mesh in the scene.
float Real
A Datatype used to represent a real floating point number.
This is the base class from which classes that are insertable into the physical world.
This class is used to define area's in the world that have unique effects.
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.
A base factory type for the creation of AreaEffect objects.
Physics::GhostProxy * Ghost
A pointer to the ghost powering this AE field.
AreaEffectFactory()
Class constructor.
ObjectContainer::const_iterator ConstObjectIterator
Const Iterator type for Object instances stored by this class.
virtual ~AreaEffectFactory()
Class destructor.
This is the proxy class for placing and manipulating particles in the scene.
This is used to represent a point in space, or a vector through space.
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.
This is used to store information about rotation in 3d space.
ObjectContainer RemovedObjects
Container of actors that have been removed since last frame.
std::map< String, String > NameValuePairMap
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
std::string String
A datatype used to a series of characters.