Menge
Modular Pedestrian Simulation Framework for Research and Development

▼ src  
▼ menge  
▼ MengeCore  
► Agents  
► AgentGenerators  
AgentGenerator.h  The definition of the agent generator element. Defines the intial numbers and positions of agents in the simulation 
AgentGeneratorDatabase.h  Central database for querying available agent generator implementations 
AgentGeneratorFactory.h  The factory for parsing xml data and instantiating agent generator implementations 
ExplicitAgentGenerator.h  An agent generator which creates a set of agents based on an explicit enumeration of agent positions 
HexLatticeGenerator.h  An agent generator which creates a set of agents based on the definition of a hexagonal packed lattice fit into a rectangle. (i.e., rows are offset for maximal packing) 
RectGridGenerator.h  An agent generator which creates a set of agents based on the definition of a rectangular lattice, with an agent at each point 
► Elevations  
Elevation.h  The definition of the elevation element. This approximately allows for agents to be simulated on nonplaner domains 
ElevationDatabase.h  Central database for querying available elevation implementations 
ElevationFactory.h  The factory for parsing xml data and instantiating elevation implementations 
ElevationFlat.h  The definition of an elevation class for flat ground; elevation is always zero and gradient is always <0,0> 
ElevationNavMesh.h  Defines elevation based on a navigation mesh. If an agent (or a point) cannot be located on the mesh, its elevation is zero 
► Events  
AgentEventEffect.h  The definition of the agent event effect – defines the agentbase effect 
AgentEventTarget.h  The definition of the event target for agents 
AgentPropertyEffect.h  The definition of an event effect that modifies agent properties 
Event.h  The definition of the Menge Event 
EventEffect.h  The definition of the event effect – defines the response to a triggered response 
EventEffectDB.h  Central database for querying available event effect implementations 
EventEffectFactory.h  The definition of the basic event effect factory 
EventException.h  The definition of eventrelated exceptions 
EventResponse.h  A response to an event trigger 
EventSystem.h  The definition of the core event system 
EventTarget.h  The definition of the base event target class. Defines what an event effect operates on 
EventTargetDB.h  Central database for querying available event target implementations 
EventTargetFactory.h  The definition of the basic event target factory 
EventTrigger.h  The definition of the basic event trigger mechanism 
EventTriggerDB.h  Central database for querying available event trigger implementations 
EventTriggerFactory.h  The definition of the basic event trigger factory 
StateEvtTrigger.h  The definitin of event triggers which key on state properties 
StateMemberTarget.h  Defines an event effect target based on membership in state(s) 
► ObstacleSets  
ExplicitObstacleSet.h  An obstacleset which creates obstacles based on explicit definitions in XML 
ListObstacleSet.h  An abstract class for any obstacle set which will need an _obstacles list. Provides transformations from vertex vectors 
NavMeshObstacleSet.h  
ObstacleSet.h  The definition of the ObstacleSet element Defines the numbers and positions of obstacles in a set 
ObstacleSetDatabase.h  Central database for querying available obstacle set implementations 
ObstacleSetFactory.h  The factory for parsing xml data and instantiating ObstacleSet implementations 
ObstacleVertexList.h  The definition of the set of vertices for an explicit obstacle definition 
► ProfileSelectors  
ConstProfileSelector.h  The definition of a profile selector that assigns all agents the same profile 
ProfileSelector.h  The definition of the agent profile selector element. This is the mechanism which associates an agent profile with a new agent 
ProfileSelectorDatabase.h  Central database for querying available profile selector implementations 
ProfileSelectorFactory.h  The factory for parsing xml data and instantiating profile selector implementations 
► SpatialQueries  
AgentKDTree.h  Contains the definition of the AgentKDTree class. Performs spatial queries for agents 
KNearestQuery.h  Spatial Query which stores the knearest agents and obstacles 
ObstacleKDTree.h  Contains the definition of the ObstacleKDTree class. Performs spatial queries for Obstacles 
ProximityQuery.h  The base class for all objects which actually perform filtering and store results from spatial queries 
SpatialQuery.h  The base class for all objects which support agent spatial queries including: knearest agent neighbor, knearest obstacles and visibility queries 
SpatialQueryDatabase.h  Central database for querying available spatial query implementations 
SpatialQueryFactory.h  The factory for parsing xml data and instantiating spaital query implementations 
SpatialQueryKDTree.h  A spatial query object based on Jur van den Berg's kdtree as defined in the RVO2 library (http://gamma.cs.unc.edu/RVO2) 
SpatialQueryNavMesh.h  Definition of a spatial query structure based on a navigation mesh 
SpatialQueryStructs.h  Structs for storing results from spatial queries 
► StateSelectors  
ConstStateSelector.h  The definition of a state selector that assigns all agents the same initial state 
StateSelector.h  The definition of the agent initial state selector element. This is the mechanism which determines which state in the FSM the agent starts in 
StateSelectorDatabase.h  Central database for querying available profile selector implementations 
StateSelectorFactory.h  The factory for parsing xml data and instantiating profile selector implementations 
AgentInitializer.h  The infrastructure for initializing agent properties from the scene specification file 
AgentPropertyManipulator.h  Classes for manipulating agent properties in an "undoable" manner (albeit, to a limited degree) 
BaseAgent.h  Contains the BaseAgent class  the underlying class which defines the basic functionality for all shared agents 
Obstacle.h  Contains the Obstacle class 
PrefVelocity.h  The definition of a preferred velocity 
SCBWriter.h  Functionality for writing the crowd trajectories to a binary file 
SimulatorBase.h  Contains the SimulatorBase class  the common, generic simulator to work with different types of agents. It is templated on the Agent type 
SimulatorInterface.h  The definition of the interface of the simulator required by the finite state machine 
SimulatorState.h  A snapshot of the simulator state 
SimXMLLoader.h  Contains functionality for parsing simulation specifcation from an XML file 
XMLSimulatorBase.h  The set of operations used by SimXMLLoader to apply XMLparsed experiment specification to a simulator 
► BFSM  
► Actions  
Action.h  The definition of actions that are taken as agents enter states 
ActionDatabase.h  Central database for querying available behavior actions 
ActionFactory.h  The factory for parsing xml data and instantiating actions 
ObstacleAction.h  Defines a set of BFSM actions that change agent obstacle set value 
PropertyAction.h  Defines a set of BFSM actions that change agent parameters 
TeleportAction.h  Defines a BFSM action that causes agents to teleport to a new location 
► Goals  
Goal.h  Defines the goal classes for agent behaviors 
GoalAABB.h  The definition of a BFSM axisaligned bounding box goal 
GoalCircle.h  The definition of a BFSM circle goal 
GoalDatabase.h  Central database for querying available agent goals 
GoalFactory.h  The factory for parsing xml data and instantiating goals 
GoalOBB.h  The definition of a BFSM oriented bounding box goal 
GoalPoint.h  The definition of a BFSM point goal 
► GoalSelectors  
GoalSelector.h  Defines the mechanism for selecting a goal for an agent 
GoalSelectorDatabase.h  Central database for querying available agent goals 
GoalSelectorExplicit.h  The definition of the explicit goal selector  specifying a target goal from a set explicitly 
GoalSelectorFactory.h  The factory for parsing xml data and instantiating goals 
GoalSelectorFarthest.h  The definition of the farthest goal selector 
GoalSelectorFarthestNM.h  The definition of the farthest navigation mesh goal selector 
GoalSelectorIdentity.h  The definition of the "identity" goal selector 
GoalSelectorMirror.h  The definition of the "mirror" goal selector 
GoalSelectorNearest.h  The definition of the nearest goal selector 
GoalSelectorNearestNM.h  The definition of the nearest navigation mesh goal selector 
GoalSelectorOffset.h  The definition of the "offset" goal selector 
GoalSelectorRandom.h  The definition of the random goal selector 
GoalSelectorSet.h  The definition of the base class for handling goal selectors which operate on single goal sets 
GoalSelectorShared.h  The definition of the "shared" goal selector 
GoalSelectorWeighted.h  The definition of the weighted random goal selector 
► Tasks  
NavMeshLocalizerTask.h  A task based on the NavMeshLocalizer so that it updates its tracked agent positions at every FSM time step 
Task.h  Defines the interface for behavior FSM tasks. actions that need to be taken at each time step 
TaskDatabase.h  Central database for querying available behavior actions 
TaskFactory.h  The factory for parsing xml data and instantiating tasks 
► Transitions  
CondAuto.h  The definition of the automatic condition 
CondBoolean.h  Definition of boolean conditiosn for transition conditions 
CondGoal.h  The definition of the goal reached condition 
Condition.h  The basis for determining the conditions under which transitions become "active" (and are taken) 
ConditionDatabase.h  Central database for querying available behavior conditions 
ConditionFactory.h  The factory for parsing xml data for transition conditions and instantiating the appropriate class 
CondSpace.h  The definition of spacebased conditions. I.e. those conditions which are triggered based on an agent entering or leaving a particular space 
CondTimer.h  The definition of the timerbased condition 
Target.h  The basis for determing what an active transition leads to 
TargetDatabase.h  Central database for querying available behavior transition targets 
TargetFactory.h  The factory for parsing xml data for TransitionTarget and instantiating the appropriate class 
TargetProb.h  Defines a transition target probabilistically 
TargetReturn.h  Defines a transition target that returns the agent to the state from which he entered this state 
Transition.h  The definition of state transitions in the BFSM 
► VelocityComponents  
VelCompConst.h  Provides the definitions of some simple velocity components based on constant velocities 
VelCompContext.h  The definition of a basic UI context for finite state machine velocity components 
VelCompGoal.h  Provides the definition of the simple velocity component that computes a preferred velocity directly towards the goal 
VelCompNavMesh.h  Provides the definition of the navigation mesh velocity component. The preferred velocity is defined for each agent based on a polygonal mesh representation of the free space (a navigation mesh) and searches on that graph 
VelComponent.h  The definition of how preferred velocity is computed in a state 
VelComponentDatabase.h  Central database for querying available behavior velocity components 
VelComponentFactory.h  The factory for parsing xml data and instantiating velocity components 
VelCompRoadMap.h  Provides the definition of the road map velocity component. The preferred velocity is defined for each agent based on a discrete graph reprsentation of the free space (a roadmap) and searches on that graph 
VelCompVF.h  Provides the definition of the vector field velocity component. The preferred velocity is defined for each agent based on where the agent is in relation a uniformly discretized 2D grid 
► VelocityModifiers  
VelModifier.h  The definition of how preferred velocity is modified by a filter 
VelModifierContext.h  The definition of a basic UI context for finite state machine velocity modifiers 
VelModifierDatabase.h  Central database for querying available behavior velocity modifiers 
VelModifierFactory.h  The factory for parsing xml data and instantiating velocity Modifierss 
VelModifierScale.h  Provides the definition of a simple velocity modifier that simply scale's the preferred velocity's speed 
buildFSM.cpp  Functionality to realize Behavior FSM from configuration 
FSM.h  The definition of the behavior finite state machine 
fsmCommon.h  Collection of convenient precompiler information for fsm definitions 
FsmContext.h  The definition of a basic UI context for finite state machine objects 
FSMDescrip.h  The definition of behavior finite state machines 
FSMEnumeration.h  Enumerated types for the State class 
GoalSet.h  Defines a set of goals 
State.h  The definition of the BFSM state nodes 
StateContext.h  The definition of a basic UI context for finite state machine states 
StateDescrip.h  The state (and state goal) specification in the behavior configuration file 
► Math  
consts.h  Some common mathematical constants 
Geometry2D.h  Definition of various shapes for defining spatial relationships 
geomQuery.h  Various mathematical operations and queries on geometry 
Line.h  Contains the definition for an line used as a linear constraint (e.g. ORCA half plane) 
Matrix.h  The definition of a 4x4 transformation matrix 
RandGenerator.h  Utility for generating number distributions 
SimRandom.h  Functions for calculating normally distributed values 
vector.h  Collection of Vector2, Vector3, and constants for simple inclusion 
Vector2.h  Definition of a vector in R2 
Vector3.h  Definition of a vector in R3 
► Orca  
ORCA.h  Collection of ORCA Agent and Simulator for simple inclusion 
ORCAAgent.h  Contains the PedVOAgent class 
ORCAAgentContext.h  A basic context for interacting with and displaying ORCA agent parameters 
ORCADBEntry.h  The simulator database entry for the ORCA pedestrian model 
ORCAInitializer.h  The AgentInitializer for the ORCA simulator 
ORCASimulator.h  Contains the ORCA::Simulator class 
ORCATypeAgentContext.h  A basic context for interacting with and displaying ORCAtype agent parameters 
► PedVO  
PedVO.h  The definition of the PedVO pedestrian plugin 
PedVOAgent.h  Contains the PedVOAgent class 
PedVOAgentContext.h  A basic context for interacting with and displaying PedVO agent parameters 
PedVODBEntry.h  The simulator database entry for the PedVO pedestrian model 
PedVOInitializer.h  The AgentInitializer for the PedVO simulator 
PedVOSimSystem.h  Specialization of the SimSystem for PedVO agents 
PedVOSimulator.h  Contains the ORCA::Simulator class 
► PluginEngine  
Attribute.h  Defines a single attribute of an element 
AttributeSet.h  Defines the set of element attributes 
Element.h  Base class for all Menge elements 
ElementDatabase.h  The base (templated) implementation of the database that tracks plugin elements 
ElementFactory.h  The base (templated) implementation of a factory for a plugin element 
Plugin.h  The basic specification of a plug in 
PluginEngine.h  Definition of the plugin architecture 
SharedLibrary.h  Functions for loading and unloading shared libraries 
► resources  
Funnel.h  The various classes for performing funnel algorithm on a portal path. The funnel algorithm is from: Lee and Preparata 1984 "Euclidean Shortest Paths in the Presence of Rectilinear Barriers" 
Graph.h  The definition of a graph for performing graph searches and path planning 
GraphEdge.h  The definition of a graph edge for performing graph searches and path planning 
GraphVertex.h  The definition of a graph vertex for performing graph searches and path planning 
MinHeap.h  Special MinHeap implementaiton which will work with the A* algorithm and, particulary, is threadsafe 
NavMesh.h  Defines the classes which maintain the navigation mesh data 
NavMeshEdge.h  Defines the "edge" of the adjacency graph in a navigation mesh 
NavMeshLocalizer.h  Data structure responsible for knowing where on the navigation mesh each agent is located 
NavMeshNode.h  Defines the "node" of the adjacency graph in a navigation mesh. The node corresponds to a polygon in the mesh 
NavMeshObstacle.h  Specification for obstacles in a navigation mesh file 
NavMeshPoly.h  Defines the geometric, convex polygon for each navigation mesh node 
PathPlanner.h  Defines an entity for computing paths through a navigation mesh 
Portal.h  The definition of a portal  a line which spans a clear area between obstacles 
PortalPath.h  The definition of a path through a navigation mesh. Each leg of the path is defined by a portal (the width of a shared edge.) 
Resource.h  The basic class for all ondisk resources 
ResourceManager.h  The basic class for all ondisk resources 
RoadMapPath.h  A path along a roadmap 
Route.h  The definition of a basic route through a navigation mesh 
VectorField.h  The definition of a 2D vector field 
WayPortal.h  Defines a way portal for a navigation mesh route/path 
► Runtime  
BaseAgentContext.h  A basic context for interacting with and displaying basic agent parameters 
Logger.h  The specificaiton of a message logger for menge, such that all messages to the system get properly recorded 
os.h  Various operatingsystemdependent filesystem operations 
ReadersWriterLock.h  The definition of a readerswriter lock 
SimpleLock.h  The definition of a simple thrading lock 
SimSystem.h  The system which runs the simulation, coordinating the FSM and simulator 
SimulatorDB.h  Central database for querying available pedestrian models 
SimulatorDBEntry.h  Definition of an entry into the simulator database 
Utils.h  A collection of convenience utilities 
VisAgent.h  Simple, cylindrical visualization for agents 
VisObstacle.h  The node for visualizing a simulation obstacle 
► SceneGraph  
Context.h  Defines a context for handling user interaction (mouse and keyboard input) 
ContextSwitcher.h  The definition of a context which allows the ability to select between multiple contexts 
GLCamera.h  Class to handle camera transformations in OpenGL 
GLContextManager.h  The mechanism by which OpenGL memory structures are restored after an OpenGL context change. 
GLGroundPlane.h  The definition of a grid visualization of the ground plane 
GLLight.h  A simple light for defining OpenGL lighting properties 
GLNode.h  The basic scene graph node. Any object which can be placed into the scene graph is an instance or subclass of this node 
GLScene.h  The definition of the scene – the root of the directed, acyclic scene graph 
graphCommon.h  Various important precompiler directives for the scene graph 
image.h  The interface for loading and using images in the scene graph 
ManagedData.h  The interface for handling resources from a disk system 
Select.h  Functionality to make nodes in the scene graph selectable by mouse clicking 
shapes.h  A library of simple renderable OpenGL shapes 
System.h  The mechanism for evolving a scene w.r.t. time 
TextWriter.h  Functionality for writing text on the OpenGL context 
Transform.h  Scene graph node which carries rigid transformations 
XformMatrix.h  Defines the math of performing 3D transformation using a 4x4 homgeneous matrix 
► viewer  
GLViewer.h  Specification for an OpenGL based 3D viewer 
NullViewer.h  Specification for a donothing viewer. This is the offline simulator 
Profiler.h  Functionality for timing and profiling the program 
ScreenGrab.h  Functionality for capturing screen grabs to the file system 
ViewConfig.h  Specification for parsing the view configuration file 
Watermark.h  Data for controlling a watermark 
Core.h  A set of global variables for use by the entire finite state machine 
CoreConfig.h  Sets up the proper compiler directives for platform and dll export/import 
mengeCommon.h  
MengeException.h  The base definition for exceptions in Menge 
▼ mengeMain  
common.h  A set of common includes for the core Menge library 
ProjectSpec.h  The definition of the parameters required to run a simulation 