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
Terrain::HeightFieldElevationFactory Class Reference

Factory for the HeightFieldElevation. More...

#include <ElevationHeightField.h>

Inheritance diagram for Terrain::HeightFieldElevationFactory:

Public Member Functions

 HeightFieldElevationFactory ()
 Constructor.
 
virtual const char * name () const
 The name of the elevation. More...
 
virtual const char * description () const
 A description of the elevation. More...
 

Protected Member Functions

Agents::Elevation * instance () const
 Create an instance of this class's elevation implementation. More...
 
virtual bool setFromXML (Agents::Elevation *e, TiXmlElement *node, const std::string &specFldr) const
 Given a pointer to an Elevation instance, sets the appropriate fields from the provided XML node. More...
 

Protected Attributes

size_t _fileNameID
 The identifier for the "file_name" string attribute.
 

Detailed Description

Factory for the HeightFieldElevation.

Member Function Documentation

virtual const char* Terrain::HeightFieldElevationFactory::description ( ) const
inlinevirtual

A description of the elevation.

Each elevation factory must override this function.

Returns
A string containing the elevation description.
Agents::Elevation* Terrain::HeightFieldElevationFactory::instance ( ) const
inlineprotected

Create an instance of this class's elevation implementation.

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

Returns
A pointer to a newly instantiated Elevation class.
virtual const char* Terrain::HeightFieldElevationFactory::name ( ) const
inlinevirtual

The name of the elevation.

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

Returns
A string containing the unique elevation name.
bool Terrain::HeightFieldElevationFactory::setFromXML ( Agents::Elevation *  e,
TiXmlElement *  node,
const std::string &  specFldr 
) const
protectedvirtual

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

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

Parameters
eA pointer to the elevation whose attributes are to be set.
nodeThe XML node containing the elevation attributes.
specFldrThe path to the specification file. If the Elevation 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).

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