MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
envitia::maplink::earth::geometry::Style Class Reference

Detailed Description

A style which defines how Geometry primitives will be rendered

Classes

struct  DrapingStyle
 
struct  EdgeStyle
 Styling information for Polylines, and the edges of Polygons. More...
 
struct  ExtrusionStyle
 Attributes which affect how the Geometry is extruded. More...
 
struct  FillStyle
 Styling information for Polygon fills. More...
 
struct  SymbolStyle
 Styling information for Symbols. More...
 
struct  TextStyle
 Styling information for Text. More...
 

Public Types

enum  WidthUnits { WidthUnitsPixels , WidthUnitsMeters }
 The available units for defining the width of an edge. More...
 
enum  DrapeMode { DrapeModeDisabled , DrapeModeClampToTerrain , DrapeModeRelativeToTerrain }
 Specifies how Geometry is draped over the terrain. More...
 
enum  DrapeTechnique { DrapeTechniqueMap , DrapeTechniqueGpu , DrapeTechniqueProjection }
 

Public Member Functions

 Style ()
 Constructor.
 
 Style (const Style &other)
 Copy Constructor.
 
Styleoperator= (const Style &other)
 Assignment Operator.
 
bool operator== (const Style &other) const
 Equality Operator.
 
 ~Style ()
 Destructor.
 

Public Attributes

EdgeStyle edge
 
FillStyle fill
 
SymbolStyle symbol
 
TextStyle text
 
DrapingStyle draping
 
ExtrusionStyle extrusion
 

Member Enumeration Documentation

◆ DrapeMode

Specifies how Geometry is draped over the terrain.

Enumerator
DrapeModeDisabled 

Geometry will be rendered exactly as specified, and will not be modified by the underlying terrain.

DrapeModeClampToTerrain 

Geometry will be draped over the terrain, and any height (z) values in the Geometry will be ignored.

DrapeModeRelativeToTerrain 

Geometry will be draped over the terrain, and any height (z) values in the Geometry will be adjusted to follow the underlying terrain.

◆ DrapeTechnique

Specifies the rendering technique used when draping Geometry over the terrain.

Enumerator
DrapeTechniqueMap 

Draping will be performed using the CPU, by sampling the terrain at regular intervals.

This technique is generally a good default however is generally unsuitable for Polygons.

If a lot of draped geometry is displayed, or the terrain sampling resolution is very high this technique may have a performance impact.

When using this technique the following parameters will affect how accurately the geometry is draped:

DrapeTechniqueGpu 

Draping will be performed using the GPU, by applying height offsets at each vertex of the geometry.

This technique provides very high performance, however will only sample the terrain at each vertex of the geometry.

When rendering large Polygons or Polylines this may result in the geometry intersecting the terrain.

When rendering Polylines and Polygons the following parameters will affect how accurately the geometry is draped:

DrapeTechniqueProjection 

Draping will be performed using the GPU, by projective texturing.

This technique provides good performance, and excellent accuracy, however discard any height offset or extrusion present in the Geometry however.

As a result this technique is excellent for draping Polygons over the surface, and less suitable for other situations.

When rendering very large Polygons or Polylines this technique may result in edges appearing jagged, as if they were rendered at a lower resolution.

◆ WidthUnits

The available units for defining the width of an edge.

Enumerator
WidthUnitsPixels 

The edge width is specified in pixels.

WidthUnitsMeters 

The edge width is specified in meters.

Constructor & Destructor Documentation

◆ Style() [1/2]

envitia::maplink::earth::geometry::Style::Style ( )

Constructor.

◆ Style() [2/2]

envitia::maplink::earth::geometry::Style::Style ( const Style & other)

Copy Constructor.

◆ ~Style()

envitia::maplink::earth::geometry::Style::~Style ( )

Destructor.

Member Function Documentation

◆ operator=()

Style & envitia::maplink::earth::geometry::Style::operator= ( const Style & other)

Assignment Operator.

◆ operator==()

bool envitia::maplink::earth::geometry::Style::operator== ( const Style & other) const

Equality Operator.

Member Data Documentation

◆ draping

DrapingStyle envitia::maplink::earth::geometry::Style::draping

The draping parameters of the Style.

These parameters will affect the rendering of all primitives. The primary use of these parameters however is to control how Polyline and Polygon primitives follow the terrain.

◆ edge

EdgeStyle envitia::maplink::earth::geometry::Style::edge

The edge parameters of the Style.

These parameters will affect the rendering of Polyline and Polygon primitives.

◆ extrusion

ExtrusionStyle envitia::maplink::earth::geometry::Style::extrusion

The extrusion parameters of the Style.

These parameters will affect the rendering of all primitives. The primary use of these parameters however is to convert '2D' Polyline and Polygon primitives into 3D walls and regions.

◆ fill

FillStyle envitia::maplink::earth::geometry::Style::fill

The fill parameters of the Style.

These parameters will affect the rendering of Polygon primitives.

◆ symbol

SymbolStyle envitia::maplink::earth::geometry::Style::symbol

The symbol parameters of the Style.

These parameters will affect the rendering of Symbol primitives.

◆ text

TextStyle envitia::maplink::earth::geometry::Style::text

The text parameters of the Style.

These parameters will affect the rendering of Text primitives.