Menge Plugin Examples
A Collection of Example Plugins for the Menge Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FDModifier::FDModifierFactory Class Reference

The factory for the FDModifier class. More...

#include <FundamentalDiagramModifier.h>

Inheritance diagram for FDModifier::FDModifierFactory:

Public Member Functions

 FDModifierFactory ()
 Constructor.
 
virtual const char * name () const
 The name of the modifier. More...
 
virtual const char * description () const
 A description of the modifier. More...
 

Protected Member Functions

BFSM::VelModifier * instance () const
 Create an instance of this class's modifier. More...
 
virtual bool setFromXML (BFSM::VelModifier *modifier, TiXmlElement *node, const std::string &behaveFldr) const
 Given a pointer to an modifier instance, sets the appropriate fields from the provided XML node. More...
 

Protected Attributes

size_t _bufferID
 The identifier for the "stride_buffer" float attribute.
 
size_t _factorID
 The identifier for the "stride_factor" float attribute.
 
size_t _sigmaAgentID
 The identifier for the "sigma_agent" float attribute.
 
size_t _sigmaObstacleID
 The identifier for the "sigma_obstacle" float attribute.
 

Detailed Description

The factory for the FDModifier class.

Member Function Documentation

virtual const char* FDModifier::FDModifierFactory::description ( ) const
inlinevirtual

A description of the modifier.

Each modifier factory must override this function.

Returns
A string containing the modifier description.
BFSM::VelModifier* FDModifier::FDModifierFactory::instance ( ) const
inlineprotected

Create an instance of this class's modifier.

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

Returns
A pointer to a newly instantiated modifier class.
virtual const char* FDModifier::FDModifierFactory::name ( ) const
inlinevirtual

The name of the modifier.

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

Returns
A string containing the unique modifier name.
bool FDModifier::FDModifierFactory::setFromXML ( BFSM::VelModifier *  modifier,
TiXmlElement *  node,
const std::string &  behaveFldr 
) const
protectedvirtual

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

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

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

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