vtlib library
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
vtAbstractLayer Class Reference
Inheritance diagram for vtAbstractLayer:
Inheritance graph
[legend]

Public Member Functions

void CreateFeatureVisuals (osg::Group *pParent, vtHeightField3d *pHF, float fSpacing, bool progress_callback(int)=NULL)
 
void CreateLineGeometryForPoints ()
 
void CreateObjectGeometry (uint iIndex)
 
void CreateLineGeometry (uint iIndex)
 
void CreateFeatureLabel (uint iIndex)
 
void ReleaseGeometry ()
 
void ReleaseFeatureGeometry (vtFeature *f)
 
- Public Member Functions inherited from vtLayer
void SetProps (const vtTagArray &props)
 Set the properties for this layer, which includes style.
 
vtTagArrayProps ()
 Get the properties for this layer, which includes style.
 

Protected Attributes

vtFeatureSetm_pSet
 This is the set of features which the layer contains.
 

Detailed Description

An abstract layer is a traditional GIS-style set of geometry features with attributes. It can be shown on the terrain in a variety of ways (styles). Style is described with a set of properties, encoded as a vtTagArray. These are the supported style properties, all of which are optional:

When a terrain description (TParams) contains an abstract layer, these same style properties are encoded. On disk, they are stored as XML elements.

Member Function Documentation

void vtAbstractLayer::CreateFeatureLabel ( uint  iIndex)

Given a featureset and style description, create a labels and place it on the terrain.

If the features are 2D or 3D points (vtFeatureSetPoint2D or vtFeatureSetPoint3D) then the labels will be placed at those points. If the features are 2D polygons (vtFeatureSetPolygon) then the point used is the centroid of the polygon.

void vtAbstractLayer::CreateFeatureVisuals ( osg::Group *  pParent,
vtHeightField3d pHF,
float  fSpacing,
bool   progress_callbackint = NULL 
)

Given a featureset, create the geometry and place it on the terrain.

void vtAbstractLayer::CreateLineGeometry ( uint  iIndex)

Given a featureset and style description, create line geometry. If 2D, it will be draped on the terrain. Polygon features (vtFeatureSetPolygon) will also be created as line geometry (unfilled polygons) and draped on the ground.

void vtAbstractLayer::CreateLineGeometryForPoints ( )

Given a featureset and style description, create line geometry that goes through all the points.

void vtAbstractLayer::CreateObjectGeometry ( uint  iIndex)

Given a featureset and style description, create a geometry object (such as spheres) and place it on the terrain. If 2D, they will be draped on the terrain.

void vtAbstractLayer::ReleaseFeatureGeometry ( vtFeature *  f)

Release all the 3D stuff created for a given feature.

void vtAbstractLayer::ReleaseGeometry ( )

Release all the 3D stuff created for the layer (including geometry and labels).