proland::RoadElevationLayer Class Reference

An ElevationGraphLayer for road graphs. More...

#include <RoadElevationLayer.h>

Inheritance diagram for proland::RoadElevationLayer:
proland::ElevationGraphLayer proland::GraphLayer proland::CurveDataFactory proland::GraphListener

List of all members.

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 CurveDatanewCurveData (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.

Detailed Description

An ElevationGraphLayer for road graphs.

Authors:
Antoine Begault, Eric Bruneton, Guillaume Piolat

Constructor & Destructor Documentation

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.

Parameters:
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.


Member Function Documentation

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.

Parameters:
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.

Parameters:
id the CurveId of the described Curve.
flattenCurve flattened version of the described Curve.

Reimplemented from proland::CurveDataFactory.


Member Data Documentation

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).


Generated on Sat May 12 09:42:46 2012 for proland by  doxygen 1.6.1