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 | Protected Attributes | List of all members
Menge::BFSM::GoalSelectorFactory Class Reference

A class for parsing the xml description of a goal selector and instantiating particular instances. More...

#include <GoalSelectorFactory.h>

Inheritance diagram for Menge::BFSM::GoalSelectorFactory:
Menge::ElementFactory< GoalSelector > Menge::BFSM::ExplicitGoalSelectorFactory Menge::BFSM::IdentityGoalSelectorFactory Menge::BFSM::MirrorGoalSelectorFactory Menge::BFSM::OffsetGoalSelectorFactory Menge::BFSM::SetGoalSelectorFactory Menge::BFSM::SharedGoalSelectorFactory Menge::BFSM::FarthestGoalSelectorFactory Menge::BFSM::FarthestNMGoalSelectorFactory Menge::BFSM::NearestGoalSelectorFactory Menge::BFSM::NearestNMGoalSelectorFactory Menge::BFSM::RandomGoalSelectorFactory Menge::BFSM::WeightedGoalSelectorFactory

Public Member Functions

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

Protected Member Functions

virtual bool setFromXML (GoalSelector *selector, TiXmlElement *node, const std::string &behaveFldr) const
 Given a pointer to a Goal Selector instance, sets the appropriate fields from the provided XML node. More...
 
- Protected Member Functions inherited from Menge::ElementFactory< GoalSelector >
virtual ~ElementFactory ()
 Destructor.
 
virtual GoalSelector * instance () const =0
 Create an instance of this class's condition. More...
 
virtual bool setFromXML (GoalSelector *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...
 

Protected Attributes

size_t _persistentID
 The identifier for the "persistent" bool attribute.
 
- Protected Attributes inherited from Menge::ElementFactory< GoalSelector >
AttributeSet _attrSet
 The attribute set for this factory.
 

Detailed Description

A class for parsing the xml description of a goal selector and instantiating particular instances.

Member Function Documentation

bool Menge::BFSM::GoalSelectorFactory::setFromXML ( GoalSelector selector,
TiXmlElement *  node,
const std::string &  behaveFldr 
) const
protectedvirtual

Given a pointer to a Goal Selector instance, sets the appropriate fields from the provided XML node.

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

Parameters
selectorA pointer to the goal selector whose attributes are to be set.
nodeThe XML node containing the goal attributes.
behaveFldrThe path to the behavior file. If the condition 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).

Reimplemented in Menge::BFSM::MirrorGoalSelectorFactory, Menge::BFSM::FarthestNMGoalSelectorFactory, Menge::BFSM::NearestNMGoalSelectorFactory, Menge::BFSM::ExplicitGoalSelectorFactory, Menge::BFSM::OffsetGoalSelectorFactory, Menge::BFSM::SharedGoalSelectorFactory, and Menge::BFSM::SetGoalSelectorFactory.


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