Spinning Topp Logo BlackTopp Studios
inc
Public Types | Public Member Functions | Protected Attributes | List of all members
Mezzanine::AttachableParent Class Reference

Base class for objects that can have attachables attached to them. More...

#include <attachable.h>

+ Inheritance diagram for Mezzanine::AttachableParent:
+ Collaboration diagram for Mezzanine::AttachableParent:

Public Types

typedef std::vector< AttachableChild * > AttachableContainer
 Basic container type for AttachableChild storage by this class.
 
typedef AttachableContainer::iterator AttachableIterator
 Iterator type for AttachableChild instances stored by this class.
 
typedef AttachableContainer::const_iterator ConstAttachableIterator
 Const Iterator type for AttachableChild instances stored by this class.
 

Public Member Functions

 AttachableParent ()
 Class constructor.
 
virtual ~AttachableParent ()
 Class destructor.
 
void _RecalculateAllChildTransforms ()
 Recalculates the transforms of all children of this attachable.
 
virtual void AttachObject (AttachableChild *Target)
 Attaches an attachable element to this object. More...
 
AttachableIterator BeginChild ()
 Get an AttachableIterator to the first object. More...
 
ConstAttachableIterator BeginChild () const
 Get a ConstAttachableIterator to the first object. More...
 
virtual void DetachAllChildren ()
 Detaches all attachables currently attached.
 
virtual void DetachObject (AttachableChild *Target)
 Detaches an attachable element from this object. More...
 
AttachableIterator EndChild ()
 Get an AttachableIterator to one past the last object. More...
 
ConstAttachableIterator EndChild () const
 Get a ConstAttachableIterator to one past the last object. More...
 
virtual AttachableChildGetAttached (const Whole &Index) const
 Get a specific attached Item. More...
 
virtual Whole GetNumAttached () const
 Gets the number of elements attached to this object. More...
 
- Public Member Functions inherited from Mezzanine::AttachableBase
 AttachableBase ()
 Class constructor.
 
virtual ~AttachableBase ()
 Class destructor.
 
Vector3 ConvertGlobalToLocal (const Vector3 &Location) const
 Converts a point in global space to the same point in local space. More...
 
Quaternion ConvertGlobalToLocal (const Quaternion &Orientation) const
 Converts a rotation in global space to the same rotation in local space. More...
 
Vector3 ConvertLocalToGlobal (const Vector3 &Location) const
 Converts a point in local space to the same point in global space. More...
 
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 the Location of this object. More...
 
virtual ConstStringGetName () const =0
 Gets the name of this attachable. More...
 
virtual Quaternion GetOrientation () const =0
 Gets the orientation of this object. More...
 
virtual Vector3 GetScaling () const =0
 Gets the scale of this object. More...
 
virtual WorldObjectType GetType () const =0
 Gets the type of World or Scene object this attachable is. More...
 
virtual void SetLocation (const Vector3 &Location)=0
 Sets the Location of this object. More...
 
virtual void SetOrientation (const Quaternion &Orientation)=0
 Sets the orientation of this object. More...
 
virtual void SetScaling (const Vector3 &Scale)=0
 Sets the scale of this object. More...
 

Protected Attributes

AttachableContainer Attached
 A container storing all of the other attachable objects connected to this attachable. More...
 
- Protected Attributes inherited from Mezzanine::AttachableBase
Boole Updating
 

Additional Inherited Members

- Protected Member Functions inherited from Mezzanine::AttachableBase
Boole GetUpdating (AttachableBase *AB) const
 Gets the update status of another attachable. More...
 

Detailed Description

Base class for objects that can have attachables attached to them.

Definition at line 133 of file attachable.h.

Member Function Documentation

void Mezzanine::AttachableParent::AttachObject ( AttachableChild Target)
virtual

Attaches an attachable element to this object.

Parameters
TargetThe Attachable to be attached.

Definition at line 94 of file attachable.cpp.

AttachableParent::AttachableIterator Mezzanine::AttachableParent::BeginChild ( )

Get an AttachableIterator to the first object.

Returns
An Iterator to the first object.

Definition at line 136 of file attachable.cpp.

AttachableParent::ConstAttachableIterator Mezzanine::AttachableParent::BeginChild ( ) const

Get a ConstAttachableIterator to the first object.

Returns
An Iterator to the first object.

Definition at line 142 of file attachable.cpp.

void Mezzanine::AttachableParent::DetachObject ( AttachableChild Target)
virtual

Detaches an attachable element from this object.

Parameters
TargetThe Attachable to be detached.

Detach an item is done in linear time relative to the amount of attached items.

Definition at line 114 of file attachable.cpp.

AttachableParent::AttachableIterator Mezzanine::AttachableParent::EndChild ( )

Get an AttachableIterator to one past the last object.

Returns
An Iterator to one past the last object.

Definition at line 139 of file attachable.cpp.

AttachableParent::ConstAttachableIterator Mezzanine::AttachableParent::EndChild ( ) const

Get a ConstAttachableIterator to one past the last object.

Returns
An Iterator to one past the last object.

Definition at line 145 of file attachable.cpp.

AttachableChild * Mezzanine::AttachableParent::GetAttached ( const Whole Index) const
virtual

Get a specific attached Item.

Parameters
IndexA number indicating which Attachable you want a pointer to. The WorldNode is like an Array starts at 0 and goes to WorldNode::GetNumAttached() - 1.
Returns
A pointer to an Attachable Item attached to this.
Exceptions
Thiscan throw an out of bounds std::exception if used incorrectly.

Definition at line 133 of file attachable.cpp.

Whole Mezzanine::AttachableParent::GetNumAttached ( ) const
virtual

Gets the number of elements attached to this object.

Returns
Returns the number of elements attached to this object.

Definition at line 130 of file attachable.cpp.

Member Data Documentation

AttachableContainer Mezzanine::AttachableParent::Attached
protected

A container storing all of the other attachable objects connected to this attachable.

Definition at line 145 of file attachable.h.


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