An ElevationGraphLayer for road graphs. More...
#include <RoadElevationLayer.h>
Classes | |
class | RoadElevationCurveData |
An ElevationCurveData for road elevation profiles. More... | |
class | RoadElevationMargin |
An ElevationMargin for roads. More... | |
Public Member Functions | |
RoadElevationLayer (ptr< GraphProducer > graphProducer, ptr< Program > layerProgram, ptr< TileProducer > elevations, int displayLevel=0, bool quality=true, bool deform=false) | |
Creates a new RoadElevationLayer. | |
virtual | ~RoadElevationLayer () |
Deletes this RoadOrthoLayer. | |
virtual CurveData * | newCurveData (CurveId id, CurvePtr flattenCurve) |
Returns a new CurveData, whose type depends on the class that implements CurveDataFactory. | |
Protected Member Functions | |
RoadElevationLayer () | |
Creates an uninitialized RoadOrthoLayer. | |
void | init (ptr< GraphProducer > graphProducer, ptr< Program > layerProgram, ptr< TileProducer > elevations, int displayLevel=0, bool quality=true, bool deform=false) |
Initializes this RoadElevationLayer. | |
Private Attributes | |
ptr< Mesh< vec4f, unsigned int > > | meshuv |
The mesh used for drawing road elevation profiles. |
An ElevationGraphLayer for road graphs.
proland::RoadElevationLayer::RoadElevationLayer | ( | ptr< GraphProducer > | graphProducer, | |
ptr< Program > | layerProgram, | |||
ptr< TileProducer > | elevations, | |||
int | displayLevel = 0 , |
|||
bool | quality = true , |
|||
bool | deform = false | |||
) |
Creates a new RoadElevationLayer.
graphProducer | the GraphProducer that produces the Graph tiles that this layer must draw. | |
layerProgram | the Program to be used to draw the roads 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::RoadElevationLayer::~RoadElevationLayer | ( | ) | [virtual] |
Deletes this RoadOrthoLayer.
proland::RoadElevationLayer::RoadElevationLayer | ( | ) | [protected] |
Creates an uninitialized RoadOrthoLayer.
void proland::RoadElevationLayer::init | ( | ptr< GraphProducer > | graphProducer, | |
ptr< Program > | layerProgram, | |||
ptr< TileProducer > | elevations, | |||
int | displayLevel = 0 , |
|||
bool | quality = true , |
|||
bool | deform = false | |||
) | [protected] |
Initializes this RoadElevationLayer.
graphProducer | the GraphProducer that produces the Graph tiles that this layer must draw. | |
layerProgram | the Program to be used to draw the graphs 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::RoadElevationLayer::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< Mesh<vec4f, unsigned int> > proland::RoadElevationLayer::meshuv [private] |
The mesh used for drawing road elevation profiles.
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 road axis (divided by the road width).