43 #include "worldobject.h"
44 #include "colourvalue.h"
92 virtual void CreateAreaEffect();
95 virtual void DestroyAreaEffect();
111 virtual WorldObjectType GetType()
const;
120 virtual void ApplyEffect() = 0;
123 virtual Boolean IsInWorld()
const;
126 virtual Boolean IsStatic()
const;
128 virtual Boolean IsKinematic()
const;
131 virtual void GetProxies(ProxyContainer& Proxies);
133 virtual void GetProxies(
const UInt32 Types, ProxyContainer& Proxies);
139 virtual void AddToWorld();
141 virtual void RemoveFromWorld();
148 UInt32 GetNumOverlappingObjects()
const;
152 UInt32 GetNumAddedObjects()
const;
156 UInt32 GetNumRemovedObjects()
const;
174 virtual void SetLocation(
const Vector3& Loc);
176 virtual void SetLocation(
const Real X,
const Real Y,
const Real Z);
178 virtual Vector3 GetLocation()
const;
180 virtual void SetOrientation(
const Quaternion& Ori);
182 virtual void SetOrientation(
const Real X,
const Real Y,
const Real Z,
const Real W);
186 virtual void SetScale(
const Vector3& Sc);
188 virtual void SetScale(
const Real X,
const Real Y,
const Real Z);
190 virtual Vector3 GetScale()
const;
193 virtual void Translate(
const Vector3& Trans);
195 virtual void Translate(
const Real X,
const Real Y,
const Real Z);
197 virtual void Yaw(
const Real Angle);
199 virtual void Pitch(
const Real Angle);
201 virtual void Roll(
const Real Angle);
203 virtual void Rotate(
const Vector3& Axis,
const Real Angle);
205 virtual void Rotate(
const Quaternion& Rotation);
207 virtual void Scale(
const Vector3& Scale);
209 virtual void Scale(
const Real X,
const Real Y,
const Real Z);
215 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
217 virtual void ProtoSerializeProxies(
XML::Node& SelfRoot)
const;
220 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
222 virtual void ProtoDeSerializeProxies(
const XML::Node& SelfRoot);
225 virtual String GetDerivedSerializableName()
const;
227 static String GetSerializableName();
233 virtual void _Update();
235 virtual void _NotifyProxyDestroyed(
WorldProxy* ToBeDestroyed);
252 virtual String GetTypeName()
const = 0;
267 virtual void DestroyAreaEffect(
AreaEffect* ToBeDestroyed) = 0;