Handles a crater terrain mod. This will parse and create an instance of Mercator::CraterTerrainMod, which is a mod which produces a crater in the landscape. Note that this will not make use of InnerTerrainMod_impl since there's no templated shapes in use here. TODO: Should perhaps this also use the same pattern of InnerTerrainMod_impl as the other mods, just to not break the pattern? /ehj. More...
#include <TerrainMod.h>
Public Member Functions | |
InnerTerrainModCrater (TerrainMod &terrainMod) | |
Ctor. | |
virtual | ~InnerTerrainModCrater () |
Dtor. | |
virtual bool | parseAtlasData (const Atlas::Message::MapType &modElement) |
virtual Mercator::TerrainMod * | getModifier () |
Protected Attributes | |
Mercator::CraterTerrainMod * | mModifier |
A reference to the crater terrain modifier held by this instance. |
Handles a crater terrain mod. This will parse and create an instance of Mercator::CraterTerrainMod, which is a mod which produces a crater in the landscape. Note that this will not make use of InnerTerrainMod_impl since there's no templated shapes in use here. TODO: Should perhaps this also use the same pattern of InnerTerrainMod_impl as the other mods, just to not break the pattern? /ehj.
Eris::InnerTerrainModCrater::InnerTerrainModCrater | ( | TerrainMod & | terrainMod | ) |
Ctor.
terrainMod | The TerrainMod instance to which this instance belongs to. |
Mercator::TerrainMod * Eris::InnerTerrainModCrater::getModifier | ( | ) | [virtual] |
Accessor for the Mercator::TerrainMod created and held by this instance. If no terrain mod could be created, such as with faulty Atlas data, or if parseAtlasData() hasn't been called yet, this will return a null pointer.
Implements Eris::InnerTerrainMod.
References mModifier.
bool Eris::InnerTerrainModCrater::parseAtlasData | ( | const Atlas::Message::MapType & | modElement | ) | [virtual] |
Tries to parse the Atlas data. It's up to the specific subclasses to provide proper parsing of the data depending on their needs. If the data is successfully parsed, a new Mercator::TerrainMod instance will be created.
modElement | The Atlas element describing the terrainmod. This should in most instances correspond directly to the "terrainmod" element found in the root atlas attribute map. |
Just fall through
Implements Eris::InnerTerrainMod.
References mModifier.
Mercator::CraterTerrainMod* Eris::InnerTerrainModCrater::mModifier [protected] |
A reference to the crater terrain modifier held by this instance.
The ownership is ours, so it will be destroyed when this instance is destroyed.
Referenced by getModifier(), and parseAtlasData().