40 #ifndef _transformableobject_h
41 #define _transformableobject_h
45 #include "quaternion.h"
62 virtual void SetLocation(
const Vector3& Loc) = 0;
67 virtual void SetLocation(
const Real X,
const Real Y,
const Real Z) = 0;
70 virtual Vector3 GetLocation()
const = 0;
73 virtual void SetOrientation(
const Quaternion& Ori) = 0;
79 virtual void SetOrientation(
const Real X,
const Real Y,
const Real Z,
const Real W) = 0;
85 virtual void SetScale(
const Vector3& Sc) = 0;
90 virtual void SetScale(
const Real X,
const Real Y,
const Real Z) = 0;
93 virtual Vector3 GetScale()
const = 0;
99 virtual void Translate(
const Vector3& Trans) = 0;
106 virtual void Translate(
const Real X,
const Real Y,
const Real Z) = 0;
109 virtual void Yaw(
const Real Angle) = 0;
112 virtual void Pitch(
const Real Angle) = 0;
115 virtual void Roll(
const Real Angle) = 0;
121 virtual void Rotate(
const Vector3& Axis,
const Real Angle) = 0;
126 virtual void Rotate(
const Quaternion& Rotation) = 0;
131 virtual void Scale(
const Vector3& Scale) = 0;
138 virtual void Scale(
const Real X,
const Real Y,
const Real Z) = 0;
146 virtual Vector3 ConvertLocalToGlobal(
const Vector3& Location)
const;
150 virtual Vector3 ConvertGlobalToLocal(
const Vector3& Location)
const;
175 virtual void SetLocation(
const Vector3& Loc) = 0;
180 virtual void SetLocation(
const Real X,
const Real Y,
const Real Z) = 0;
183 virtual Vector3 GetLocation()
const = 0;
186 virtual void SetOrientation(
const Quaternion& Ori) = 0;
192 virtual void SetOrientation(
const Real X,
const Real Y,
const Real Z,
const Real W) = 0;
195 virtual Quaternion GetOrientation()
const = 0;
198 virtual void SetScale(
const Vector3& Sc) = 0;
203 virtual void SetScale(
const Real X,
const Real Y,
const Real Z) = 0;
206 virtual Vector3 GetScale()
const = 0;
251 virtual void Scale(
const Vector3& Scale) = 0;
258 virtual void Scale(
const Real X,
const Real Y,
const Real Z) = 0;
Any global enumerations shared between multiple classes is to be declared here.
float Real
A Datatype used to represent a real floating point number.
This is used to represent a point in space, or a vector through space.
Mostly reserved for rotations, means a rotation to occur around the parent instead of self...
The bulk of the engine components go in this namspace.
TransformSpace
Used to define what frame of reference is to be used when positioning or rotating objects...
This is used to store information about rotation in 3d space.