Spinning Topp Logo BlackTopp Studios
inc
Public Member Functions | List of all members
Mezzanine::TransformableObject Class Referenceabstract

This is an interface for all 3D objects that can have their full transforms manipulated. More...

#include <transformableobject.h>

+ Inheritance diagram for Mezzanine::TransformableObject:

Public Member Functions

virtual ~TransformableObject ()
 Class Destructor.
 
virtual Vector3 ConvertGlobalToLocal (const Vector3 &Location) const
 Converts a point in global space to the same point in local space. More...
 
virtual Quaternion ConvertGlobalToLocal (const Quaternion &Orientation) const
 Converts a rotation in global space to the same rotation in local space. More...
 
virtual Vector3 ConvertLocalToGlobal (const Vector3 &Location) const
 Converts a point in local space to the same point in global space. More...
 
virtual Quaternion ConvertLocalToGlobal (const Quaternion &Orientation) const
 Converts a rotation in local space to the same rotation in global space. More...
 
virtual Vector3 GetLocation () const =0
 Gets this objects current location. More...
 
virtual Quaternion GetOrientation () const =0
 Gets this objects current orientation. More...
 
virtual Vector3 GetScale () const =0
 Gets the scaling currently being applied to this object. More...
 
virtual void Pitch (const Real Angle)=0
 Rotate the object around the X axis. More...
 
virtual void Roll (const Real Angle)=0
 Rotate the object around the Z axis. More...
 
virtual void Rotate (const Vector3 &Axis, const Real Angle)=0
 Rotates the object from it's existing rotation. More...
 
virtual void Rotate (const Quaternion &Rotation)=0
 Rotates the object from it's existing rotation. More...
 
virtual void Scale (const Vector3 &Scale)=0
 Scales the object from it's current size. More...
 
virtual void Scale (const Real X, const Real Y, const Real Z)=0
 Scales the object from it's current size. More...
 
virtual void SetLocation (const Vector3 &Loc)=0
 Sets the location of this object in parent space. More...
 
virtual void SetLocation (const Real X, const Real Y, const Real Z)=0
 Sets the location of this object in parent space via Reals. More...
 
virtual void SetOrientation (const Quaternion &Ori)=0
 Sets the orientation of this object in parent space. More...
 
virtual void SetOrientation (const Real X, const Real Y, const Real Z, const Real W)=0
 Sets the orientation of this object in parent space via Reals. More...
 
virtual void SetScale (const Vector3 &Sc)=0
 Sets the scaling to be applied to this object. More...
 
virtual void SetScale (const Real X, const Real Y, const Real Z)=0
 Sets the scaling to be applied to this object via Reals. More...
 
virtual void Translate (const Vector3 &Trans)=0
 Moves this object from it's current location. More...
 
virtual void Translate (const Real X, const Real Y, const Real Z)=0
 Moves this object from it's current location. More...
 
virtual void Yaw (const Real Angle)=0
 Rotate the object around the Y axis. More...
 

Detailed Description

This is an interface for all 3D objects that can have their full transforms manipulated.

Definition at line 53 of file transformableobject.h.

Member Function Documentation

Vector3 Mezzanine::TransformableObject::ConvertGlobalToLocal ( const Vector3 Location) const
virtual

Converts a point in global space to the same point in local space.

Parameters
LocationThe point in global space to be converted.
Returns
Returns a Vector3 representing the point in local space corresponding to the provided global space point.

Definition at line 56 of file transformableobject.cpp.

Quaternion Mezzanine::TransformableObject::ConvertGlobalToLocal ( const Quaternion Orientation) const
virtual

Converts a rotation in global space to the same rotation in local space.

Parameters
OrientationThe rotation in global space to be converted.
Returns
Returns a Quaternion representing the rotation in local space corresponding to the provided global space rotation.

Definition at line 62 of file transformableobject.cpp.

Vector3 Mezzanine::TransformableObject::ConvertLocalToGlobal ( const Vector3 Location) const
virtual

Converts a point in local space to the same point in global space.

Parameters
LocationThe point in local space to be converted.
Returns
Returns a Vector3 representing the point in global space corresponding to the provided local space point.

Definition at line 53 of file transformableobject.cpp.

Quaternion Mezzanine::TransformableObject::ConvertLocalToGlobal ( const Quaternion Orientation) const
virtual

Converts a rotation in local space to the same rotation in global space.

Parameters
OrientationThe rotation in local space to be converted.
Returns
Returns a Quaternion representing the rotation in global space corresponding to the provided local space rotation.

Definition at line 59 of file transformableobject.cpp.

virtual Vector3 Mezzanine::TransformableObject::GetLocation ( ) const
pure virtual

Gets this objects current location.

Returns
Returns Vector3 representing the current rotation of this object in parent space.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, Mezzanine::WorldProxy, and Mezzanine::Physics::SoftProxy.

virtual Quaternion Mezzanine::TransformableObject::GetOrientation ( ) const
pure virtual

Gets this objects current orientation.

Returns
Returns a Quaternion representing the current orientation of this object in parent space.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, Mezzanine::WorldProxy, and Mezzanine::Physics::SoftProxy.

virtual Vector3 Mezzanine::TransformableObject::GetScale ( ) const
pure virtual

Gets the scaling currently being applied to this object.

Returns
Returns a Vector3 representing the amount this object is being scaled.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, Mezzanine::WorldProxy, and Mezzanine::Physics::SoftProxy.

virtual void Mezzanine::TransformableObject::Pitch ( const Real  Angle)
pure virtual

Rotate the object around the X axis.

Parameters
AngleThe angle to rotate this object in radians.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, and Mezzanine::WorldProxy.

virtual void Mezzanine::TransformableObject::Roll ( const Real  Angle)
pure virtual

Rotate the object around the Z axis.

Parameters
AngleThe angle to rotate this object in radians.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, and Mezzanine::WorldProxy.

virtual void Mezzanine::TransformableObject::Rotate ( const Vector3 Axis,
const Real  Angle 
)
pure virtual

Rotates the object from it's existing rotation.

Note
This method has an additive effect with the objects current rotation. Unlike "SetOrientation" this method does not replace the existing orientation with what you provide.
Parameters
AxisThe axis on which this object will be rotated.
AngleThe angle to rotate this object in radians.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, and Mezzanine::WorldProxy.

virtual void Mezzanine::TransformableObject::Rotate ( const Quaternion Rotation)
pure virtual

Rotates the object from it's existing rotation.

Note
This method has an additive effect with the objects current rotation. Unlike "SetOrientation" this method does not replace the existing orientation with what you provide.
Parameters
RotationThe rotation to apply to this object.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, and Mezzanine::WorldProxy.

virtual void Mezzanine::TransformableObject::Scale ( const Vector3 Scale)
pure virtual

Scales the object from it's current size.

Note
This method has an additive effect with the objects' current scaling. Unlike "SetScale" this method does not replace the existing scale with what you provide.
Parameters
ScaleA Vector3 representing the scaling to apply to this object.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, and Mezzanine::WorldProxy.

virtual void Mezzanine::TransformableObject::Scale ( const Real  X,
const Real  Y,
const Real  Z 
)
pure virtual

Scales the object from it's current size.

Note
This method has an additive effect with the objects' current scaling. Unlike "SetScale" this method does not replace the existing scale with what you provide.
Parameters
XThe scaling factor to apply on the X axis.
YThe scaling factor to apply on the Y axis.
ZThe scaling factor to apply on the Z axis.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, and Mezzanine::WorldProxy.

virtual void Mezzanine::TransformableObject::SetLocation ( const Vector3 Loc)
pure virtual

Sets the location of this object in parent space.

Parameters
LocA Vector3 representing the location this object is to be set to.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, Mezzanine::WorldProxy, and Mezzanine::Physics::SoftProxy.

virtual void Mezzanine::TransformableObject::SetLocation ( const Real  X,
const Real  Y,
const Real  Z 
)
pure virtual

Sets the location of this object in parent space via Reals.

Parameters
XThe position on the X axis where this object is to be set.
YThe position on the Y axis where this object is to be set.
ZThe position on the Z axis where this object is to be set.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, Mezzanine::WorldProxy, and Mezzanine::Physics::SoftProxy.

virtual void Mezzanine::TransformableObject::SetOrientation ( const Quaternion Ori)
pure virtual

Sets the orientation of this object in parent space.

Parameters
OriA Quaternion representing the rotation this object is to be set to.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, Mezzanine::WorldProxy, and Mezzanine::Physics::SoftProxy.

virtual void Mezzanine::TransformableObject::SetOrientation ( const Real  X,
const Real  Y,
const Real  Z,
const Real  W 
)
pure virtual

Sets the orientation of this object in parent space via Reals.

Parameters
XThe X component of the Axis.
YThe Y component of the Axis.
ZThe Z component of the Axis.
WRotation on the Axis X, Y and Z defined.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, Mezzanine::WorldProxy, and Mezzanine::Physics::SoftProxy.

virtual void Mezzanine::TransformableObject::SetScale ( const Vector3 Sc)
pure virtual

Sets the scaling to be applied to this object.

Parameters
ScA Vector3 representing the amount of scaling to apply to this object.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, Mezzanine::WorldProxy, and Mezzanine::Physics::SoftProxy.

virtual void Mezzanine::TransformableObject::SetScale ( const Real  X,
const Real  Y,
const Real  Z 
)
pure virtual

Sets the scaling to be applied to this object via Reals.

Parameters
XThe scaling factor to apply on the X axis.
YThe scaling factor to apply on the Y axis.
ZThe scaling factor to apply on the Z axis.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, Mezzanine::WorldProxy, and Mezzanine::Physics::SoftProxy.

virtual void Mezzanine::TransformableObject::Translate ( const Vector3 Trans)
pure virtual

Moves this object from it's current location.

Note
This method has an additive effect with the objects current location. Unlike "SetLocation" this method does not replace the existing location with what you provide.
Parameters
TransA Vector3 representing the amount of movement to apply to this object.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, and Mezzanine::WorldProxy.

virtual void Mezzanine::TransformableObject::Translate ( const Real  X,
const Real  Y,
const Real  Z 
)
pure virtual

Moves this object from it's current location.

Note
This method has an additive effect with the objects current location. Unlike "SetLocation" this method does not replace the existing location with what you provide.
Parameters
XThe amount of movement to apply on the X axis.
YThe amount of movement to apply on the Y axis.
ZThe amount of movement to apply on the Z axis.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, and Mezzanine::WorldProxy.

virtual void Mezzanine::TransformableObject::Yaw ( const Real  Angle)
pure virtual

Rotate the object around the Y axis.

Parameters
AngleThe angle to rotate this object in radians.

Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::AreaEffect, Mezzanine::Graphics::RenderableProxy, Mezzanine::RigidDebris, Mezzanine::SoftDebris, and Mezzanine::WorldProxy.


The documentation for this class was generated from the following files: