43 #include "transformableobject.h"
72 virtual void AddToWorld() = 0;
74 virtual void RemoveFromWorld() = 0;
77 virtual bool IsInWorld()
const = 0;
91 virtual void SetLocation(
const Vector3& Loc) = 0;
94 virtual void SetLocation(
const Real X,
const Real Y,
const Real Z) = 0;
97 virtual Vector3 GetLocation()
const = 0;
100 virtual void SetOrientation(
const Quaternion& Ori) = 0;
103 virtual void SetOrientation(
const Real X,
const Real Y,
const Real Z,
const Real W) = 0;
106 virtual Quaternion GetOrientation()
const = 0;
109 virtual void SetScale(
const Vector3& Sc) = 0;
112 virtual void SetScale(
const Real X,
const Real Y,
const Real Z) = 0;
115 virtual Vector3 GetScale()
const = 0;
119 virtual void Translate(
const Vector3& Trans) = 0;
122 virtual void Translate(
const Real X,
const Real Y,
const Real Z) = 0;
125 virtual void Yaw(
const Real Angle) = 0;
128 virtual void Pitch(
const Real Angle) = 0;
131 virtual void Roll(
const Real Angle) = 0;
134 virtual void Rotate(
const Vector3& Axis,
const Real Angle) = 0;
137 virtual void Rotate(
const Quaternion& Rotation) = 0;
140 virtual void Scale(
const Vector3& Scale) = 0;
143 virtual void Scale(
const Real X,
const Real Y,
const Real Z) = 0;
150 virtual void ProtoSerialize(
XML::Node& ParentNode)
const;
153 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
157 virtual void ProtoDeSerialize(
const XML::Node& SelfRoot);
160 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
165 virtual String GetDerivedSerializableName()
const;
168 static String GetSerializableName();