BaseComponent Class Reference

#include <trilobot.h>

Inheritance diagram for BaseComponent:

Inheritance graph
[legend]
Collaboration diagram for BaseComponent:

Collaboration graph
[legend]

List of all members.


Detailed Description

BaseComponent containing ID and robot model

Definition at line 193 of file trilobot.h.


Public Member Functions

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)

Protected Member Functions

 BaseComponent (const char *id, TrilobotPtr robot)
virtual std::string ImplId () const
TrilobotPtr Robot () const
BaseComponentSaveCurrentState (StatePtr)
BaseComponentSaveNextState (StatePtr)
StatePtr GetCurrentState (const DateTime &now)
virtual ~BaseComponent ()
virtual void ImplSerialize (std::ostream &)
virtual void ImplDeserialize (std::istream &)
virtual void ImplHandle (ICommand &command)=0
virtual double ImplSpeed (const DateTime &)=0
virtual double ImplRadius (const DateTime &)=0
virtual struct Position ImplPosition (const DateTime &)=0
virtual double ImplSize (const DateTime &)=0

Private Attributes

Members * pimpl

Constructor & Destructor Documentation

BaseComponent ( const char *  id,
TrilobotPtr  robot 
) [protected]

virtual ~BaseComponent (  )  [protected, virtual]


Member Function Documentation

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

Implements IComponent.

TrilobotPtr Robot (  )  const [protected]

BaseComponent& SaveCurrentState ( StatePtr   )  [protected]

BaseComponent& SaveNextState ( StatePtr   )  [protected]

StatePtr GetCurrentState ( const DateTime now  )  [protected]

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

Implements IObject.

Reimplemented in SimpleComponent, and Trilobot.

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

Implements IObject.

Reimplemented in SimpleComponent, and Trilobot.

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:

virtual void ImplHandle ( ICommand command  )  [protected, pure virtual, inherited]

Implemented in Compass, SoundSensor, and Trilobot.

Referenced by IComponent::Handle().

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.

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

Implemented in BaseMovingObject, Compass, SoundSensor, and Trilobot.

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

Implemented in BaseMovingObject, Compass, SoundSensor, and Trilobot.

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:

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

Implemented in BaseObject, Compass, SoundSensor, and Trilobot.

Referenced by IObject::Position().

Here is the caller graph for this function:

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

Implemented in BaseObject, Compass, SoundSensor, and Trilobot.

Referenced by IObject::Size().

Here is the caller graph for this function:


Member Data Documentation

Members* pimpl [private]

Reimplemented in Trilobot.

Definition at line 213 of file trilobot.h.


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