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 | List of all members
Menge::BFSM::PropertyAction< Manipulator > Class Template Reference

The base class for modifying agent properties. More...

#include <PropertyAction.h>

Inheritance diagram for Menge::BFSM::PropertyAction< Manipulator >:
Menge::BFSM::Action Menge::Element

Public Member Functions

 PropertyAction ()
 Constructor.
 
virtual void onEnter (Agents::BaseAgent *agent)
 Upon entering the state, this is called – it is the main work of the action. More...
 
Manipulator * getManipulator ()
 Returns a pointer to the manipulator.
 
- 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 ~PropertyAction ()
 Virtual destructor.
 
virtual void leaveAction (Agents::BaseAgent *agent)
 The work to do upon state exit. More...
 
- Protected Member Functions inherited from Menge::BFSM::Action
virtual ~Action ()
 Virtual destructor.
 

Protected Attributes

Manipulator _manip
 The manipulator responsible for changing agent properties.
 
- Protected Attributes inherited from Menge::BFSM::Action
bool _undoOnExit
 Determines if the action undoes itself on exiting the state.
 

Detailed Description

template<class Manipulator>
class Menge::BFSM::PropertyAction< Manipulator >

The base class for modifying agent properties.

This is an abstract class and must be sub-classed. To create different types of property actions, simply specialize this templated class with a different type of AgentPropertyManipulator.

Member Function Documentation

template<class Manipulator>
virtual void Menge::BFSM::PropertyAction< Manipulator >::leaveAction ( Agents::BaseAgent agent)
inlineprotectedvirtual

The work to do upon state exit.

Parameters
agentThe agent to act on.

Implements Menge::BFSM::Action.

template<class Manipulator>
virtual void Menge::BFSM::PropertyAction< Manipulator >::onEnter ( Agents::BaseAgent agent)
inlinevirtual

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 file: