Menge
Modular Pedestrian Simulation Framework for Research and Development
|
The definition of the timer condition. More...
#include <CondTimer.h>
Public Member Functions | |
TimerCondition () | |
Constructor. | |
TimerCondition (const TimerCondition &cond) | |
Copy Constructor. More... | |
virtual Condition * | copy () |
Create a copy of this condition. More... | |
virtual void | onEnter (Agents::BaseAgent *agent) |
Called when an agent enters a state with this exiting transition. More... | |
virtual void | onLeave (Agents::BaseAgent *agent) |
Called when an agent exits the state with this transition. More... | |
virtual bool | conditionMet (Agents::BaseAgent *agent, const Goal *goal) |
The AutoCondition is always met – it is a tautology. More... | |
Public Member Functions inherited from Menge::BFSM::Condition | |
Condition () | |
Constructor. | |
Condition (const Condition &cond) | |
Copy Constructor. More... | |
Public Member Functions inherited from Menge::Element | |
void | destroy () |
This supplants the destructor. More... | |
virtual BFSM::Task * | getTask () |
Return an optional task associated with this element. More... | |
virtual SceneGraph::GLNode * | getSGNode () |
Returns an optional visualization element associated with the element. More... | |
Protected Member Functions | |
~TimerCondition () | |
Constructor. | |
Protected Member Functions inherited from Menge::BFSM::Condition | |
virtual | ~Condition () |
Protected destructor. | |
Protected Attributes | |
std::map< size_t, float > | _triggerTimes |
The trigger time for agents currently effected by this transition. | |
FloatGenerator * | _durGen |
The generator for determining the per-agent duration. | |
ReadersWriterLock | _lock |
Lock to protect _triggerTimes;. | |
Friends | |
class | TimerCondFactory |
The definition of the timer condition.
The time condition becomes active when the agent has been in the state at least the amount of time specified by the transition properties. The amount of time can be specified globally or per agent and, in the case of a per-agent duration, can be specified using the value distributions (FloatGenerator).
Menge::BFSM::TimerCondition::TimerCondition | ( | const TimerCondition & | cond | ) |
Copy Constructor.
cond | The condition to copy from. |
|
virtual |
The AutoCondition is always met – it is a tautology.
agent | The agent to test the transition for. |
goal | The agent's goal (although this may be ignored). |
Implements Menge::BFSM::Condition.
|
virtual |
Create a copy of this condition.
It is the responsibility of the caller to delete the object.
Implements Menge::BFSM::Condition.
|
virtual |
Called when an agent enters a state with this exiting transition.
Sub-classes should use this function as the opportunity to cache any particular per-agent data.
agent | The agent who has entered the state which uses this transition. |
Reimplemented from Menge::BFSM::Condition.
|
virtual |
Called when an agent exits the state with this transition.
agent | The agent who left the state. |
Reimplemented from Menge::BFSM::Condition.