This is the base class for proxy objects belonging to the various 3D subsystems. More...
#include <worldproxy.h>
Public Member Functions | |
WorldProxy () | |
Blank constructor. | |
WorldProxy (const UInt32 ID) | |
Normal/ID constructor. More... | |
virtual | ~WorldProxy () |
Class destructor. | |
void | _Bind (WorldObject *NewParent) |
Binds this proxy to a WorldObject. More... | |
virtual void | AddToWorld ()=0 |
Performs all the necessary task to ensure this object is connected to it's respective world and ready for use. | |
virtual WorldManager * | GetCreator () const =0 |
Gets a pointer to this proxies creator. More... | |
virtual String | GetDerivedSerializableName () const |
Gets the most derived serializable name of this WorldProxy. More... | |
virtual Vector3 | GetLocation () const =0 |
Gets this objects current location. More... | |
virtual Quaternion | GetOrientation () const =0 |
Gets this objects current orientation. More... | |
virtual WorldObject * | GetParentObject () const |
Gets a pointer to the parent object controlling this proxy. More... | |
virtual UInt32 | GetProxyID () const |
Gets the unique ID of this proxy. More... | |
virtual Mezzanine::ProxyType | GetProxyType () const =0 |
Accessor for the type of proxy. More... | |
virtual Vector3 | GetScale () const =0 |
Gets the scaling currently being applied to this object. More... | |
virtual Boole | IsInWorld () const =0 |
Gets whether or not this object is inside of it's world. More... | |
virtual void | Pitch (const Real Angle)=0 |
Rotate the object around the X axis. More... | |
virtual void | ProtoDeSerialize (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite this object with it. More... | |
virtual void | ProtoDeSerializeProperties (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite the properties of this object with it. More... | |
virtual void | ProtoSerialize (XML::Node &ParentNode) const |
Convert this class to an XML::Node ready for serialization. More... | |
virtual void | ProtoSerializeProperties (XML::Node &SelfRoot) const |
Convert the properties of this class to an XML::Node ready for serialization. More... | |
virtual void | RemoveFromWorld ()=0 |
Unhooks this proxy from it's respective world. | |
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... | |
Public Member Functions inherited from Mezzanine::TransformableObject | |
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... | |
Static Public Member Functions | |
static String | GetSerializableName () |
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized. More... | |
Protected Member Functions | |
virtual void | ProtoDeSerializeImpl (const XML::Node &SelfRoot) |
Implementation method for deseriailizing additional sets of data. More... | |
virtual void | ProtoSerializeImpl (XML::Node &SelfRoot) const |
Implementation method for serializing additional sets of data. More... | |
Protected Attributes | |
WorldObject * | ParentObject |
Pointer to the Object this proxy belongs to. More... | |
UInt32 | ProxyID |
The unique ID assigned to the type of proxy an instance is. More... | |
This is the base class for proxy objects belonging to the various 3D subsystems.
Definition at line 53 of file worldproxy.h.
Mezzanine::WorldProxy::WorldProxy | ( | const UInt32 | ID | ) |
Normal/ID constructor.
ID | The unique ID assigned to the type of proxy an instance is. |
Definition at line 58 of file worldproxy.cpp.
void Mezzanine::WorldProxy::_Bind | ( | WorldObject * | NewParent | ) |
Binds this proxy to a WorldObject.
NewParent | A pointer to the WorldObject taking possession of this proxy. |
Definition at line 174 of file worldproxy.cpp.
|
pure virtual |
Gets a pointer to this proxies creator.
Implemented in Mezzanine::Physics::CollidableProxy, and Mezzanine::Graphics::RenderableProxy.
|
virtual |
Gets the most derived serializable name of this WorldProxy.
Reimplemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Physics::RigidProxy, Mezzanine::Graphics::ParticleSystemProxy, Mezzanine::Graphics::CameraProxy, Mezzanine::Graphics::BillboardSetProxy, Mezzanine::Graphics::RenderableProxy, Mezzanine::Graphics::EntityProxy, Mezzanine::Graphics::LightProxy, Mezzanine::Physics::SoftProxy, and Mezzanine::Physics::GhostProxy.
Definition at line 165 of file worldproxy.cpp.
|
pure virtual |
Gets this objects current location.
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::RenderableProxy, and Mezzanine::Physics::SoftProxy.
|
pure virtual |
Gets this objects current orientation.
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::RenderableProxy, and Mezzanine::Physics::SoftProxy.
|
virtual |
Gets a pointer to the parent object controlling this proxy.
Definition at line 75 of file worldproxy.cpp.
|
virtual |
Gets the unique ID of this proxy.
Definition at line 78 of file worldproxy.cpp.
|
pure virtual |
Accessor for the type of proxy.
Implemented in Mezzanine::Physics::RigidProxy, Mezzanine::Graphics::ParticleSystemProxy, Mezzanine::Graphics::EntityProxy, Mezzanine::Graphics::CameraProxy, Mezzanine::Graphics::BillboardSetProxy, Mezzanine::Graphics::LightProxy, Mezzanine::Physics::GhostProxy, and Mezzanine::Physics::SoftProxy.
|
pure virtual |
Gets the scaling currently being applied to this object.
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::RenderableProxy, and Mezzanine::Physics::SoftProxy.
|
static |
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized.
Definition at line 168 of file worldproxy.cpp.
|
pure virtual |
Gets whether or not this object is inside of it's world.
Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::RenderableProxy, and Mezzanine::Audio::SoundProxy.
|
pure virtual |
Rotate the object around the X axis.
Angle | The angle to rotate this object in radians. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, and Mezzanine::Graphics::RenderableProxy.
|
virtual |
Take the data stored in an XML Node and overwrite this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Reimplemented in Mezzanine::Physics::SoftProxy.
Definition at line 114 of file worldproxy.cpp.
|
protectedvirtual |
Implementation method for deseriailizing additional sets of data.
SelfRoot | An XML::Node containing the data to populate this class with. |
Reimplemented in Mezzanine::Graphics::ParticleSystemProxy, Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::EntityProxy, and Mezzanine::Graphics::BillboardSetProxy.
Definition at line 69 of file worldproxy.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the properties of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Reimplemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Physics::RigidProxy, Mezzanine::Graphics::CameraProxy, Mezzanine::Graphics::ParticleSystemProxy, Mezzanine::Graphics::BillboardSetProxy, Mezzanine::Graphics::RenderableProxy, Mezzanine::Graphics::LightProxy, Mezzanine::Graphics::EntityProxy, Mezzanine::Physics::SoftProxy, and Mezzanine::Physics::GhostProxy.
Definition at line 129 of file worldproxy.cpp.
|
virtual |
Convert this class to an XML::Node ready for serialization.
ParentNode | The point in the XML hierarchy that all this renderable should be appended to. |
Reimplemented in Mezzanine::Physics::SoftProxy.
Definition at line 84 of file worldproxy.cpp.
|
protectedvirtual |
Implementation method for serializing additional sets of data.
SelfRoot | The root node containing all the serialized data for this instance. |
Reimplemented in Mezzanine::Graphics::ParticleSystemProxy, Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::EntityProxy, and Mezzanine::Graphics::BillboardSetProxy.
Definition at line 66 of file worldproxy.cpp.
|
virtual |
Convert the properties of this class to an XML::Node ready for serialization.
SelfRoot | The root node containing all the serialized data for this instance. |
Reimplemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Physics::RigidProxy, Mezzanine::Graphics::CameraProxy, Mezzanine::Graphics::BillboardSetProxy, Mezzanine::Graphics::ParticleSystemProxy, Mezzanine::Graphics::RenderableProxy, Mezzanine::Graphics::LightProxy, Mezzanine::Graphics::EntityProxy, Mezzanine::Physics::SoftProxy, and Mezzanine::Physics::GhostProxy.
Definition at line 94 of file worldproxy.cpp.
|
pure virtual |
Rotate the object around the Z axis.
Angle | The angle to rotate this object in radians. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, and Mezzanine::Graphics::RenderableProxy.
Rotates the object from it's existing rotation.
Axis | The axis on which this object will be rotated. |
Angle | The angle to rotate this object in radians. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, and Mezzanine::Graphics::RenderableProxy.
|
pure virtual |
Rotates the object from it's existing rotation.
Rotation | The rotation to apply to this object. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, and Mezzanine::Graphics::RenderableProxy.
|
pure virtual |
Scales the object from it's current size.
Scale | A Vector3 representing the scaling to apply to this object. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, and Mezzanine::Graphics::RenderableProxy.
Scales the object from it's current size.
X | The scaling factor to apply on the X axis. |
Y | The scaling factor to apply on the Y axis. |
Z | The scaling factor to apply on the Z axis. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, and Mezzanine::Graphics::RenderableProxy.
|
pure virtual |
Sets the location of this object in parent space.
Loc | A Vector3 representing the location this object is to be set to. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::RenderableProxy, and Mezzanine::Physics::SoftProxy.
|
pure virtual |
Sets the location of this object in parent space via Reals.
X | The position on the X axis where this object is to be set. |
Y | The position on the Y axis where this object is to be set. |
Z | The position on the Z axis where this object is to be set. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::RenderableProxy, and Mezzanine::Physics::SoftProxy.
|
pure virtual |
Sets the orientation of this object in parent space.
Ori | A Quaternion representing the rotation this object is to be set to. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::RenderableProxy, and Mezzanine::Physics::SoftProxy.
|
pure virtual |
Sets the orientation of this object in parent space via Reals.
X | The X component of the Axis. |
Y | The Y component of the Axis. |
Z | The Z component of the Axis. |
W | Rotation on the Axis X, Y and Z defined. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::RenderableProxy, and Mezzanine::Physics::SoftProxy.
|
pure virtual |
Sets the scaling to be applied to this object.
Sc | A Vector3 representing the amount of scaling to apply to this object. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::RenderableProxy, and Mezzanine::Physics::SoftProxy.
|
pure virtual |
Sets the scaling to be applied to this object via Reals.
X | The scaling factor to apply on the X axis. |
Y | The scaling factor to apply on the Y axis. |
Z | The scaling factor to apply on the Z axis. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, Mezzanine::Graphics::RenderableProxy, and Mezzanine::Physics::SoftProxy.
|
pure virtual |
Moves this object from it's current location.
Trans | A Vector3 representing the amount of movement to apply to this object. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, and Mezzanine::Graphics::RenderableProxy.
|
pure virtual |
Moves this object from it's current location.
X | The amount of movement to apply on the X axis. |
Y | The amount of movement to apply on the Y axis. |
Z | The amount of movement to apply on the Z axis. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, and Mezzanine::Graphics::RenderableProxy.
|
pure virtual |
Rotate the object around the Y axis.
Angle | The angle to rotate this object in radians. |
Implements Mezzanine::TransformableObject.
Implemented in Mezzanine::Physics::CollidableProxy, and Mezzanine::Graphics::RenderableProxy.
|
protected |
Pointer to the Object this proxy belongs to.
Definition at line 58 of file worldproxy.h.
|
protected |
The unique ID assigned to the type of proxy an instance is.
Definition at line 61 of file worldproxy.h.