Mercator
Public Member Functions | Protected Attributes
Mercator::TerrainMod Class Reference

Base class for modifiers to the procedurally generated terrain. More...

#include <TerrainMod.h>

Inheritance diagram for Mercator::TerrainMod:
Mercator::Effector Mercator::ShapeTerrainMod< Shape > Mercator::AdjustTerrainMod< Shape > Mercator::CraterTerrainMod< Shape > Mercator::LevelTerrainMod< Shape > Mercator::SlopeTerrainMod< Shape >

List of all members.

Public Member Functions

int addToSegment (Segment &) const
void updateToSegment (Segment &) const
void removeFromSegment (Segment &) const
void setFunction (effector_func f)
 Change the function used to apply this mod to existing points.
virtual void apply (float &point, int x, int y) const =0
 Apply this modifier on a terrain segment.

Protected Attributes

effector_func m_function
 Function used to apply this mod to existing points.

Detailed Description

Base class for modifiers to the procedurally generated terrain.

Anything that modifies the terrain implements this interface.


Member Function Documentation

virtual void Mercator::TerrainMod::apply ( float &  point,
int  x,
int  y 
) const [pure virtual]

Apply this modifier on a terrain segment.

The segment is at x,y in local coordinates. Output is placed into point.

Implemented in Mercator::CraterTerrainMod< Shape >, Mercator::SlopeTerrainMod< Shape >, Mercator::AdjustTerrainMod< Shape >, and Mercator::LevelTerrainMod< Shape >.

Referenced by Mercator::Segment::applyMod().


Member Data Documentation

effector_func Mercator::TerrainMod::m_function [protected]

Function used to apply this mod to existing points.

This makes the basic mods much more powerful without the need for extra classes. It completely obsoletes AdjustTerrainMod, which is now the same as LevelTerrainMod with this function changed from set() to sum()

Referenced by setFunction().


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