Menge
Modular Pedestrian Simulation Framework for Research and Development
|
The definition of the probabalistic target. More...
#include <TargetProb.h>
Public Member Functions | |
ProbTarget () | |
Constructor. | |
ProbTarget (const ProbTarget &tgt) | |
Copy constructor. More... | |
virtual State * | nextState (Agents::BaseAgent *agent) |
Determines the next state for the given agent. More... | |
virtual bool | connectStates (std::map< std::string, State * > &stateMap) |
Performs any necessary connections to the target state(s). More... | |
virtual TransitionTarget * | copy () |
Create a copy of this target. More... | |
Public Member Functions inherited from Menge::BFSM::TransitionTarget | |
TransitionTarget () | |
Constructor. | |
TransitionTarget (const TransitionTarget &tgt) | |
Copy constructor. 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... | |
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 Attributes | |
UniformFloatGenerator | _randNum |
The random number generator for selecting the next state. | |
float | _totalWeight |
The total weight of all the target states. More... | |
std::list< std::pair< float, std::string > > | _targetNames |
The set of target state names and their relative weights. | |
std::map< State *, float > | _targets |
The set of target states and their corresponding relative weights. | |
Friends | |
class | ProbTargetFactory |
Additional Inherited Members | |
Protected Member Functions inherited from Menge::BFSM::TransitionTarget | |
virtual | ~TransitionTarget () |
Protected destructor. | |
The definition of the probabalistic target.
Typically, the FSM will be deterministic in that if an agent is in a current state, with a particualr condition being true, it will transition to a deterministic state. The probabalistic target allows the transition to be implicitly connected to a number of states. Upon transitioning, the destination state is computed randomly from the set.
Menge::BFSM::ProbTarget::ProbTarget | ( | const ProbTarget & | tgt | ) |
Copy constructor.
tgt | The target to copy. |
|
virtual |
Performs any necessary connections to the target state(s).
Sub-classes must override this because a transition must transition to a state. See the sub-classes SingleTransition for an example.
stateMap | A mapping from state names to state pointers. |
Implements Menge::BFSM::TransitionTarget.
|
virtual |
Create a copy of this target.
It is the responsibility of the caller to delete the object.
Implements Menge::BFSM::TransitionTarget.
|
virtual |
Determines the next state for the given agent.
This function defines the main functionality of the target. Given the current agent and the class's internal state, it determines The state to move the agent into. This should be overridden by each sub-class.
agent | The agent to test the transition for. |
Implements Menge::BFSM::TransitionTarget.
|
protected |
The total weight of all the target states.
This gets set after a call to connectStates.