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 | List of all members
Menge::Agents::ExplicitObstacleSetFactory Class Reference

Factory for ExplicitGenerator. More...

#include <ExplicitObstacleSet.h>

Inheritance diagram for Menge::Agents::ExplicitObstacleSetFactory:
Menge::Agents::ObstacleSetFactory Menge::ElementFactory< ObstacleSet >

Public Member Functions

virtual const char * name () const
 The name of the obstacleset type. More...
 
virtual const char * description () const
 A description of the obstacle set. More...
 
- Public Member Functions inherited from Menge::ElementFactory< ObstacleSet >
 ElementFactory ()
 Default constructor.
 
void destroy ()
 This supplants the destructor. More...
 
bool thisFactory (const std::string &typeName) const
 Reports if the xml node defines an element for this factory. More...
 
ObstacleSet * createInstance (TiXmlElement *node, const std::string &behaveFldr) const
 Parses the xml data. More...
 

Protected Member Functions

ObstacleSetinstance () const
 Create an instance of this class's obstacleset implementation. More...
 
virtual bool setFromXML (ObstacleSet *gen, TiXmlElement *node, const std::string &specFldr) const
 Given a pointer to an ObstacleSet instance, sets the appropriate fields from the provided XML node. More...
 
ObstacleVertexList parseObstacle (TiXmlElement *node) const
 Parses an obstacle position from an <Obstacle> tag. More...
 
- Protected Member Functions inherited from Menge::ElementFactory< ObstacleSet >
virtual ~ElementFactory ()
 Destructor.
 
virtual bool setFromXML (ObstacleSet *element, TiXmlElement *node, const std::string &specFldr) const
 Given a pointer to an element instance, sets the appropriate fields from the provided XML node. More...
 

Additional Inherited Members

- Protected Attributes inherited from Menge::Agents::ObstacleSetFactory
size_t _classID
 The identifier for the "class" size_t parameter.
 
- Protected Attributes inherited from Menge::ElementFactory< ObstacleSet >
AttributeSet _attrSet
 The attribute set for this factory.
 

Detailed Description

Factory for ExplicitGenerator.

Member Function Documentation

virtual const char* Menge::Agents::ExplicitObstacleSetFactory::description ( ) const
inlinevirtual

A description of the obstacle set.

Each obstacleset factory must override this function.

Returns
A string containing the obstacleset description.

Implements Menge::ElementFactory< ObstacleSet >.

ObstacleSet* Menge::Agents::ExplicitObstacleSetFactory::instance ( ) const
inlineprotectedvirtual

Create an instance of this class's obstacleset implementation.

All ObstacleSetFactory sub-classes must override this by creating (on the heap) a new instance of its corresponding ObstacleSet type. The various field values of the instance will be set in a subsequent call to ObstacleSetFactory::setFromXML. The caller of this function takes ownership of the memory.

Returns
A pointer to a newly instantiated ExplicitObstacleSet class.

Implements Menge::ElementFactory< ObstacleSet >.

virtual const char* Menge::Agents::ExplicitObstacleSetFactory::name ( ) const
inlinevirtual

The name of the obstacleset type.

The set's name must be unique among all registered obstacleset components. Each obstacleset factory must override this function.

Returns
A string containing the unique obstacleset name.

Implements Menge::ElementFactory< ObstacleSet >.

ObstacleVertexList Menge::Agents::ExplicitObstacleSetFactory::parseObstacle ( TiXmlElement *  node) const
protected

Parses an obstacle position from an <Obstacle> tag.

Parameters
nodeThe XML node containing the agent definition.
Returns
Vector of Vector2s representing the obstacle parsed
Exceptions
ObstacleSetExceptionif the Obstacle tag is mangled or incomplete
bool Menge::Agents::ExplicitObstacleSetFactory::setFromXML ( ObstacleSet gen,
TiXmlElement *  node,
const std::string &  specFldr 
) const
protectedvirtual

Given a pointer to an ObstacleSet instance, sets the appropriate fields from the provided XML node.

It is assumed that the value of the type attribute is this ObstacleSet's type. (i.e. ObstacleSetFactory::thisFactory has already been called and returned true.) If sub-classes of ObstacleSetFactory introduce new ObstacleSet parameters, then the sub-class should override this method but explicitly call the parent class's version.

Parameters
genA pointer to the ObstacleSet whose attributes are to be set.
nodeThe XML node containing the ObstacleSet attributes.
specFldrThe path to the specification file. If the ObstacleSet references resources in the file system, it should be defined relative to the specification file location. This is the folder containing that path.
Returns
A boolean reporting success (true) or failure (false).

Reimplemented from Menge::Agents::ObstacleSetFactory.


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