![]()  | 
  
    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 non-planer 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 agent-base 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 event-related 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 k-nearest 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: k-nearest agent neighbor, k-nearest 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 kd-tree as defined in the RVO2 library (http://gamma-web.iacs.umd.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 XML-parsed 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 axis-aligned 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 space-based conditions. I.e. those conditions which are triggered based on an agent entering or leaving a particular space | 
| CondTimer.h | The definition of the timer-based 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 pre-compiler 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 ORCA-type agent parameters | 
| ► PedVO | |
| PedVO.h | The definition of the PedVO pedestrian plug-in | 
| 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 plug-in elements | 
| ElementFactory.h | The base (templated) implementation of a factory for a plug-in element | 
| Plugin.h | The basic specification of a plug in | 
| PluginEngine.h | Definition of the plug-in 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 on-disk resources | 
| ResourceManager.h | The basic class for all on-disk 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 operating-system-dependent file-system operations | 
| ReadersWriterLock.h | The definition of a readers-writer 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 sub-class of this node | 
| GLScene.h | The definition of the scene – the root of the directed, acyclic scene graph | 
| graphCommon.h | Various important pre-compiler 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 do-nothing 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 | 
 1.8.8
