An ElevationGraphLayer for rivers and lakes graphs. More...
#include <WaterElevationLayer.h>
Classes | |
class | WaterElevationCurveData |
An ElevationCurveData for river elevation profiles. More... | |
class | WaterElevationMargin |
An ElevationMargin for rivers and lakes. More... | |
Public Member Functions | |
WaterElevationLayer (ptr< GraphProducer > graphProducer, ptr< Program > layerProgram, ptr< Program > fillProg, ptr< TileProducer > elevations, int displayLevel=0, bool quality=true, bool deform=false) | |
Creates a new WaterElevationLayer. | |
virtual | ~WaterElevationLayer () |
Deletes this WaterOrthoLayer. | |
virtual CurveData * | newCurveData (CurveId id, CurvePtr flattenCurve) |
Returns a new CurveData, whose type depends on the class that implements CurveDataFactory. | |
Protected Member Functions | |
WaterElevationLayer () | |
Creates an uninitialized WaterOrthoLayer. | |
void | init (ptr< GraphProducer > graphProducer, ptr< Program > layerProgram, ptr< Program > fillProg, ptr< TileProducer > elevations, int displayLevel=0, bool quality=true, bool deform=false) |
Initializes this WaterElevationLayer. | |
Protected Attributes | |
ptr< Program > | fillProg |
The Program to be used to draw the large rivers and the lakes in this layer. | |
Private Attributes | |
ptr< Mesh< vec2f, unsigned int > > | mesh |
The mesh used for drawing tesselated areas (large rivers and lakes). | |
ptr< Mesh< vec4f, unsigned int > > | meshuv |
The mesh used for drawing small rivers and the axis of large rivers. | |
ptr< Tesselator > | tess |
The tesselator used for drawing areas (large rivers and lakes). |
An ElevationGraphLayer for rivers and lakes graphs.
proland::WaterElevationLayer::WaterElevationLayer | ( | ptr< GraphProducer > | graphProducer, | |
ptr< Program > | layerProgram, | |||
ptr< Program > | fillProg, | |||
ptr< TileProducer > | elevations, | |||
int | displayLevel = 0 , |
|||
bool | quality = true , |
|||
bool | deform = false | |||
) |
Creates a new WaterElevationLayer.
graphProducer | the GraphProducer that produces the Graph tiles that this layer must draw. | |
layerProgram | the Program to be used to draw the rivers in this layer. | |
fillProg | the Program to be used to draw the large rivers and the lakes in this layer. | |
elevations | the producer used to compute raw terrain elevations, themselves used to compute ElevationCurveData objects. | |
displayLevel | the tile level to start display. Tiles whole level is less than displayLevel are not drawn by this Layer, and graphProducer is not asked to produce the corresponding graph tiles. | |
quality | enable or not the quality mode (better display). | |
deform | whether we apply a spherical deformation on the layer or not. |
virtual proland::WaterElevationLayer::~WaterElevationLayer | ( | ) | [virtual] |
Deletes this WaterOrthoLayer.
proland::WaterElevationLayer::WaterElevationLayer | ( | ) | [protected] |
Creates an uninitialized WaterOrthoLayer.
void proland::WaterElevationLayer::init | ( | ptr< GraphProducer > | graphProducer, | |
ptr< Program > | layerProgram, | |||
ptr< Program > | fillProg, | |||
ptr< TileProducer > | elevations, | |||
int | displayLevel = 0 , |
|||
bool | quality = true , |
|||
bool | deform = false | |||
) | [protected] |
Initializes this WaterElevationLayer.
graphProducer | the GraphProducer that produces the Graph tiles that this layer must draw. | |
layerProgram | the Program to be used to draw the rivers in this layer. | |
fillProg | the Program to be used to draw the large rivers and the lakes in this layer. | |
elevations | the producer used to compute raw terrain elevations, themselves used to compute ElevationCurveData objects. | |
displayLevel | the tile level to start display. Tiles whole level is less than displayLevel are not drawn by this Layer, and graphProducer is not asked to produce the corresponding graph tiles. | |
quality | enable or not the quality mode (better display). | |
deform | whether we apply a spherical deformation on the layer or not. |
virtual CurveData* proland::WaterElevationLayer::newCurveData | ( | CurveId | id, | |
CurvePtr | flattenCurve | |||
) | [virtual] |
Returns a new CurveData, whose type depends on the class that implements CurveDataFactory.
id | the CurveId of the described Curve. | |
flattenCurve | flattened version of the described Curve. |
Reimplemented from proland::CurveDataFactory.
ptr<Program> proland::WaterElevationLayer::fillProg [protected] |
The Program to be used to draw the large rivers and the lakes in this layer.
ptr< Mesh<vec2f, unsigned int> > proland::WaterElevationLayer::mesh [private] |
The mesh used for drawing tesselated areas (large rivers and lakes).
Contains vertex positions.
ptr< Mesh<vec4f, unsigned int> > proland::WaterElevationLayer::meshuv [private] |
The mesh used for drawing small rivers and the axis of large rivers.
Contains vertex positions and UV attributes. The position is set to the vertex x,y coordinates. The u attribute contains the vertex z coordinate, and the v attribute the signed distance to the river axis (divided by the river width).
ptr<Tesselator> proland::WaterElevationLayer::tess [private] |
The tesselator used for drawing areas (large rivers and lakes).