Trilobot Class Reference

#include <trilobot.h>

Inheritance diagram for Trilobot:

Inheritance graph
[legend]
Collaboration diagram for Trilobot:

Collaboration graph
[legend]

List of all members.


Detailed Description

Robot class

Definition at line 374 of file trilobot.h.


Public Member Functions

 Trilobot (World *const world, IExporter *const exporter)
IDriveDrive () const
WorldGetWorld () const
IExporterGetExporter ()
 ~Trilobot ()
std::string Id () const
 Gets the component ID.
IComponentHandle (ICommand &command)
double Speed ()
double Speed (const DateTime &at)
double Radius ()
double Radius (const DateTime &at)
struct Position Position ()
struct Position Position (const DateTime &at)
double Size ()
double Size (const DateTime &at)
IObjectSerialize (std::ostream &output)
IObjectDeserialize (std::istream &input)
void DrivePropertyChange (const DateTime &stamp, double runTime)
 Called whe drive changes property.

Protected Member Functions

void ImplHandle (ICommand &command)
virtual struct Position ImplPosition (const DateTime &)
virtual double ImplSize (const DateTime &)
virtual double ImplSpeed (const DateTime &)
virtual double ImplRadius (const DateTime &)
virtual void ImplSerialize (std::ostream &)
virtual void ImplDeserialize (std::istream &)
virtual void ImplDrivePropertyChange (const DateTime &, double runTime)
virtual std::string ImplId () const
TrilobotPtr Robot () const
BaseComponentSaveCurrentState (StatePtr)
BaseComponentSaveNextState (StatePtr)
StatePtr GetCurrentState (const DateTime &now)

Private Types

typedef IComponent ** ComponentContainer

Private Member Functions

StatePtr GetState (const DateTime &at)

Private Attributes

Members * pimpl

Member Typedef Documentation

typedef IComponent* * ComponentContainer [private]

Definition at line 402 of file trilobot.h.


Constructor & Destructor Documentation

Trilobot ( World *const   world,
IExporter *const   exporter 
)

~Trilobot (  ) 


Member Function Documentation

IDrive& Drive (  )  const

Referenced by readCoreInfo().

Here is the caller graph for this function:

World* GetWorld (  )  const

IExporter* GetExporter (  ) 

void ImplHandle ( ICommand command  )  [protected, virtual]

Implements IComponent.

virtual struct Position ImplPosition ( const DateTime  )  [read, protected, virtual]

Implements IObject.

virtual double ImplSize ( const DateTime  )  [protected, virtual]

Implements IObject.

virtual double ImplSpeed ( const DateTime  )  [protected, virtual]

Implements IMovingObject.

virtual double ImplRadius ( const DateTime  )  [protected, virtual]

Implements IMovingObject.

virtual void ImplSerialize ( std::ostream &   )  [protected, virtual]

Reimplemented from BaseComponent.

virtual void ImplDeserialize ( std::istream &   )  [protected, virtual]

Reimplemented from BaseComponent.

virtual void ImplDrivePropertyChange ( const DateTime ,
double  runTime 
) [protected, virtual]

Implements IDriveObserver.

StatePtr GetState ( const DateTime at  )  [private]

virtual std::string ImplId (  )  const [protected, virtual, inherited]

Implements IComponent.

TrilobotPtr Robot (  )  const [protected, inherited]

BaseComponent& SaveCurrentState ( StatePtr   )  [protected, inherited]

BaseComponent& SaveNextState ( StatePtr   )  [protected, inherited]

StatePtr GetCurrentState ( const DateTime now  )  [protected, inherited]

std::string Id (  )  const [inline, inherited]

Gets the component ID.

Definition at line 167 of file trilobot.h.

References IComponent::ImplId().

Here is the call graph for this function:

IComponent& Handle ( ICommand command  )  [inline, inherited]

Tries handle command. If can handle and do this the set command value Handled to true

Returns:
Selfrence

Definition at line 178 of file trilobot.h.

References IComponent::ImplHandle().

Referenced by Core::dispatch().

Here is the call graph for this function:

Here is the caller graph for this function:

double Speed (  )  [inline, inherited]

Gets the object speed

Definition at line 101 of file physics.h.

References DateTime::Now().

Referenced by readCoreInfo().

Here is the call graph for this function:

Here is the caller graph for this function:

double Speed ( const DateTime at  )  [inline, inherited]

Definition at line 107 of file physics.h.

double Radius (  )  [inline, inherited]

Gets the object turn angle

Definition at line 113 of file physics.h.

References DateTime::Now().

Referenced by readCoreInfo().

Here is the call graph for this function:

Here is the caller graph for this function:

double Radius ( const DateTime at  )  [inline, inherited]

Definition at line 119 of file physics.h.

struct Position Position (  )  [inline, read, inherited]

Gets the object center

Definition at line 40 of file physics.h.

References IObject::ImplPosition(), and DateTime::Now().

Referenced by Core::dispatch(), Arena::Private::drawCircle(), and readCoreInfo().

Here is the call graph for this function:

Here is the caller graph for this function:

struct Position Position ( const DateTime at  )  [inline, read, inherited]

Definition at line 46 of file physics.h.

References IObject::ImplPosition().

Here is the call graph for this function:

double Size (  )  [inline, inherited]

Gets the object radius

Definition at line 52 of file physics.h.

References IObject::ImplSize(), and DateTime::Now().

Referenced by Arena::Private::drawCircle(), and Arena::Private::renderBot().

Here is the call graph for this function:

Here is the caller graph for this function:

double Size ( const DateTime at  )  [inline, inherited]

Definition at line 58 of file physics.h.

References IObject::ImplSize().

Here is the call graph for this function:

IObject& Serialize ( std::ostream &  output  )  [inline, inherited]

Definition at line 63 of file physics.h.

References IObject::ImplSerialize().

Referenced by Core::Export().

Here is the call graph for this function:

Here is the caller graph for this function:

IObject& Deserialize ( std::istream &  input  )  [inline, inherited]

Definition at line 68 of file physics.h.

References IObject::ImplDeserialize().

Referenced by Core::Import().

Here is the call graph for this function:

Here is the caller graph for this function:

void DrivePropertyChange ( const DateTime stamp,
double  runTime 
) [inline, inherited]

Called whe drive changes property.

Definition at line 235 of file trilobot.h.

References IDriveObserver::ImplDrivePropertyChange().

Here is the call graph for this function:


Member Data Documentation

Members* pimpl [private]

Reimplemented from BaseComponent.

Definition at line 404 of file trilobot.h.


The documentation for this class was generated from the following file:
Generated on Fri Jul 10 22:42:18 2009 for rob08 by  doxygen 1.5.4