Menge
Modular Pedestrian Simulation Framework for Research and Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Menge::BFSM::ObstacleAction Class Referenceabstract

The base class for modifying agent obstacle sets. More...

#include <ObstacleAction.h>

Inheritance diagram for Menge::BFSM::ObstacleAction:
Menge::BFSM::Action Menge::Element Menge::BFSM::AddObstacleSetAction Menge::BFSM::RemoveObstacleSetAction Menge::BFSM::SetObstacleSetAction

Public Member Functions

 ObstacleAction ()
 Constructor.
 
virtual ~ObstacleAction ()
 Virtual destructor.
 
virtual void onEnter (Agents::BaseAgent *agent)
 Upon entering the state, this is called – it is the main work of the action. More...
 
- Public Member Functions inherited from Menge::BFSM::Action
 Action ()
 Constructor.
 
void onLeave (Agents::BaseAgent *agent)
 The work to do upon state exit. More...
 
- Public Member Functions inherited from Menge::Element
void destroy ()
 This supplants the destructor. More...
 
virtual BFSM::TaskgetTask ()
 Return an optional task associated with this element. More...
 
virtual SceneGraph::GLNodegetSGNode ()
 Returns an optional visualization element associated with the element. More...
 

Protected Member Functions

virtual void leaveAction (Agents::BaseAgent *agent)
 The work to do upon state exit. More...
 
virtual size_t newValue (size_t value)=0
 Computes the new property value given the original property value. More...
 
- Protected Member Functions inherited from Menge::BFSM::Action
virtual ~Action ()
 Virtual destructor.
 

Protected Attributes

size_t _setOperand
 The set operand to apply to the agents obstacle set.
 
std::map< size_t, size_t > _originalMap
 A mapping from agent id to the agent's obstacle set value before the action was applied.
 
SimpleLock _lock
 Lock for guaranteeing thread-safety.
 
- Protected Attributes inherited from Menge::BFSM::Action
bool _undoOnExit
 Determines if the action undoes itself on exiting the state.
 

Friends

class ObstacleActFactory
 

Detailed Description

The base class for modifying agent obstacle sets.

This is an abstract class and must be sub-classed.

Member Function Documentation

void Menge::BFSM::ObstacleAction::leaveAction ( Agents::BaseAgent agent)
protectedvirtual

The work to do upon state exit.

Parameters
agentThe agent to act on.

Implements Menge::BFSM::Action.

virtual size_t Menge::BFSM::ObstacleAction::newValue ( size_t  value)
protectedpure virtual

Computes the new property value given the original property value.

Parameters
valueThe original obstacle set value.
Returns
The new value.

Implemented in Menge::BFSM::SetObstacleSetAction, Menge::BFSM::AddObstacleSetAction, and Menge::BFSM::RemoveObstacleSetAction.

void Menge::BFSM::ObstacleAction::onEnter ( Agents::BaseAgent agent)
virtual

Upon entering the state, this is called – it is the main work of the action.

Parameters
agentThe agent to act on.

Implements Menge::BFSM::Action.


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