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::AgentPropertyEffect< Manipulator > Class Template Reference

The base class event effect changes agent properties. More...

#include <AgentPropertyEffect.h>

Inheritance diagram for Menge::AgentPropertyEffect< Manipulator >:
Menge::AgentEventEffect Menge::EventEffect Menge::Element

Public Member Functions

 AgentPropertyEffect ()
 Constructor.
 
Manipulator * getManipulator ()
 Returns a pointer to the manipulator.
 
- Public Member Functions inherited from Menge::AgentEventEffect
virtual bool isCompatible (EventTarget *target)
 Reports if the given target is compatible with this effect. More...
 
virtual void apply (EventTarget *target)
 Applies the effect to the simulation target. More...
 
- Public Member Functions inherited from Menge::EventEffect
 EventEffect ()
 Constructor.
 
virtual void finalize ()
 Allows the event effect to finish initializing itself from its parsed state to its running state. 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 agentEffect (Agents::BaseAgent *agent)
 The actual work of the effect. More...
 

Protected Attributes

Manipulator _manip
 The manipulator responsible for changing agent properties.
 

Detailed Description

template<class Manipulator>
class Menge::AgentPropertyEffect< Manipulator >

The base class event effect changes agent properties.

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

Member Function Documentation

template<class Manipulator>
virtual void Menge::AgentPropertyEffect< Manipulator >::agentEffect ( Agents::BaseAgent agent)
inlineprotectedvirtual

The actual work of the effect.

Sub-classes should implement this. It is the action to be taken for each agent.

Parameters
agentThe agent to operate on.

Implements Menge::AgentEventEffect.


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