shawn::MovementController Class Reference

A controller handling the generation and assignment of NodeMovement objects to their respective Nodes. More...

#include <movement_controller.h>

Inheritance diagram for shawn::MovementController:

Inheritance graph
[legend]
Collaboration diagram for shawn::MovementController:

Collaboration graph
[legend]

List of all members.

basic methods inherited from EventHandler

virtual void timeout (EventScheduler &, EventScheduler::EventHandle, double, EventScheduler::EventTagHandle &) throw ()
virtual void set_node_movement_creator (NodeMovementCreator *)
virtual void start ()
virtual void reset ()

Public Member Functions

construction / destruction
 MovementController (SimulationController &)
virtual ~MovementController ()


Detailed Description

A controller handling the generation and assignment of NodeMovement objects to their respective Nodes.

This controller is responsible for the assignment of NodeMovement objects to their respective Nodes. It holds a NodeMovementCreator that can be called to generate MovementInfo objects containing a NodeMovement, a Node, a scheduling time and an urgency indicator. If the indicator is set to "Urgent" the NodeMovement Object is passed on to its Node immediately. If it is set to "Delayed" the EventScheduler is notified and execution is halted until the EventScheduler calls timeout() on the MovementController.


Constructor & Destructor Documentation

shawn::MovementController::MovementController ( SimulationController  ) 

virtual shawn::MovementController::~MovementController (  )  [virtual]


Member Function Documentation

virtual void shawn::MovementController::timeout ( EventScheduler ,
EventScheduler::EventHandle  ,
double  ,
EventScheduler::EventTagHandle &   
) throw () [virtual]

This method should be exclusively called by the EventScheduler. It calls the private method timeout_action().

See also:
EventHandler::timeout()

virtual void shawn::MovementController::set_node_movement_creator ( NodeMovementCreator  )  [virtual]

This method sets the NodeMovementCreator.

virtual void shawn::MovementController::start (  )  [virtual]

This method starts the distribution of NodeMovement objects

virtual void shawn::MovementController::reset (  )  [virtual]

This method starts the distribution of NodeMovement objects


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

Generated on Tue Feb 7 00:01:09 2012 for Shawn by  doxygen 1.5.6