NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
scene_layers_manager_gl_interface.h File Reference

Describes visualization scene layers manager. More...

#include <base/inc/base_types.h>
#include <base/inc/sdk_component_interface.h>
#include <base/inc/interfaces/enum/enum_interface.h>
#include <base/inc/interfaces/properties/properties_interface.h>
#include <base/inc/interfaces/parameters/parameters_interface.h>
#include <base/inc/interfaces/stream/stream_interface.h>
#include <visualizationlayer/inc/vis_const.h>
#include <visualizationlayer/inc/visman/layers_manager_base_interface.h>

Go to the source code of this file.

Data Structures

struct  SceneLayerGLPriority_DictionaryItem
 Scene layer priority dictionary item. More...
 
class  ISceneLayersManagerGL
 Interface for scene manager layers control. More...
 
struct  SceneLayerGLProperty_DictionaryItem
 Scene layer property dictionary item. More...
 
class  ISceneLayerGL
 Describes a scene layer. More...
 
class  ISceneLayerGLEnumerator
 Enumerator of scene layers. More...
 
class  ISceneGLRenderer
 External renderer (not yet supported).
More...
 

Enumerations

enum  SceneLayerGLTypes { kSceneLayerGLType_Default = 0, kSceneLayerGLType_Radar = 1, kSceneLayerGLType_RadarBitmap = 2, kSceneLayerGLType_GroundingCheck = 3 }
 Definition of the scene layer types. More...
 
enum  SceneLayerGLFlags {
  kSceneLayerGLFlag_NoFlags = sdk::vis::kSceneLayerBaseFlag_NoFlags, kSceneLayerGLFlag_NoClipping = sdk::vis::kSceneLayerBaseFlag_NoClipping, kSceneLayerGLFlag_PortrayalDependent = sdk::vis::kSceneLayerBaseFlag_PortrayalDependent, kSceneLayerGLFlag_ProjectionDependent = sdk::vis::kSceneLayerBaseFlag_ProjectionDependent,
  kSceneLayerGLFlag_DeferredRender = sdk::vis::kSceneLayerBaseFlag_DeferredRender, kSceneLayerGLFlag_BindToViewport = sdk::vis::kSceneLayerBaseFlag_BindToViewport, kSceneLayerGLFlag_UsePortrayal = 0x00001000, kSceneLayerGLFlag_OwnshipDependent = 0x00002000,
  kSceneLayerGLFlag_ProgressiveRendering = 0x00010000, kSceneLayerGLFlag_PrepareAtPaint = 0x00020000, kSceneLayerGLFlag_Overview = 0x00100000, kSceneLayerGLFlag_MainChart = 0x00200000,
  kSceneLayerGLFlag_Max = 0x10000000
}
 Definition of the scene layer flags. More...
 
enum  SceneLayerGLParameters { kSceneLayerGLParameter_DatasourceName = 0 }
 Scene layer additional parameters. More...
 
enum  SceneLayerGLProperties {
  kSceneLayerGLProperty_ID = sdk::vis::kSceneLayerBaseProperty_ID, kSceneLayerGLProperty_Name = sdk::vis::kSceneLayerBaseProperty_Name, kSceneLayerGLProperty_Type = sdk::vis::kSceneLayerBaseProperty_Type, kSceneLayerGLProperty_Priority = sdk::vis::kSceneLayerBaseProperty_Priority,
  kSceneLayerGLProperty_Flags = sdk::vis::kSceneLayerBaseProperty_Flags, kSceneLayerGLProperty_RendererType = sdk::vis::kSceneLayerBaseProperty_RendererType, kSceneLayerGLProperty_Renderer = sdk::vis::kSceneLayerBaseProperty_Renderer, kSceneLayerGLProperty_DisplayGroupFilter = sdk::vis::kSceneLayerBaseProperty_DisplayGroupFilter,
  kSceneLayerGLProperty_Opacity = sdk::vis::kSceneLayerBaseProperty_Opacity, kSceneLayerGLProperty_Data = sdk::vis::kSceneLayerBaseProperty_Data, kSceneLayerGLProperty_OverRadarPriority = 10, kSceneLayerGLProperty_PortrayData = 11,
  kSceneLayerGLProperty_LayerSetName = 12, kSceneLayerGLProperty_LayerTypeName = 13, kSceneLayerGLProperty_DataSourceNames = 14, kSceneLayerGLProperty_DataSources = 15,
  kSceneLayerGLProperty_Max
}
 Scene layer properties. More...
 
enum  SceneGLRendererInitializeParameters { kSceneGLRendererInitializeParameter_SymbolizationFactory }
 Parameters which are accessible in renderer Initialize() method. More...
 
enum  SceneGLRendererParameters { ,
  kSceneGLRendererParameter_SceneManagerName = sdk::vis::kSceneLayerBaseRendererParameter_SceneManagerName, kSceneGLRendererParameter_SceneLayerName = sdk::vis::kSceneLayerBaseRendererParameter_SceneLayerName, kSceneGLRendererParameter_Projection = sdk::vis::kSceneLayerBaseRendererParameter_Projection, kSceneGLRendererParameter_RotationAngle = sdk::vis::kSceneLayerBaseRendererParameter_RotationAngle,
  kSceneGLRendererParameter_DPM = sdk::vis::kSceneLayerBaseRendererParameter_DPM, kSceneGLRendererParameter_SymbolizationName = sdk::vis::kSceneLayerBaseRendererParameter_SymbolizationName, kSceneGLRendererParameter_Symbolization = sdk::vis::kSceneLayerBaseRendererParameter_Symbolization, kSceneGLRendererParameter_PortrayalParameters = sdk::vis::kSceneLayerBaseRendererParameter_PortrayalParameters,
  kSceneGLRendererParameter_DisplayListRef = sdk::vis::kSceneLayerBaseRendererParameter_DisplayListRef, kSceneGLRendererParameter_IsClipByCoverage = sdk::vis::kSceneLayerBaseRendererParameter_IsClipByCoverage, kSceneGLRendererParameter_IsChart = sdk::vis::kSceneLayerBaseRendererParameter_IsChart, kSceneGLRendererParameter_SceneRectWidth,
  kSceneGLRendererParameter_SceneRectHeight, kSceneGLRendererParameter_SceneBoundWidth, kSceneGLRendererParameter_SceneBoundHeight
}
 Parameters which are accessible in renderer Render() method. More...
 
enum  SceneGLRendererProperties { , kSceneGLRendererProperty_IsDirty = sdk::vis::kSceneLayerBaseRendererProperty_IsDirty, kSceneGLRendererProperty_Data = sdk::vis::kSceneLayerBaseRendererProperty_Data }
 Parameters which are accessible in renderer Render() method through IRenderContext parameter. More...
 

Variables

static const SceneLayerGLPriority_DictionaryItem kSceneLayerGLPriority_Dictionary []
 Scene layer priority names.
 
static const wchar_t * kSceneLayerSet_Default = L"default-gl"
 Predefined chart layer sets.
 
static const wchar_t * kSceneLayerName_Chart = L"chart"
 Predefined scene layer names.
 
static const wchar_t * kSceneRenderer_Default = L"default"
 Predefined chart layer renderers.
 
static const SceneLayerGLProperty_DictionaryItem kSceneLayerGLProperty_Dictionary []
 Scene layer priority names.
 
const SceneLayerGLPriority kSceneLayerGLPriority_Chart_Decoration = sdk::vis::kSceneLayerBasePriority_Chart_Decoration
 Over chart decorations (scale-bar...).
 
const SceneLayerGLPriority kSceneLayerGLPriority_Highlight = sdk::vis::kSceneLayerBasePriority_Highlight
 Highlight layer priority.
 
const SceneLayerGLPriority kSceneLayerGLPriority_OverChart = sdk::vis::kSceneLayerBasePriority_OverChart
 Start priority for over chart layers.
 
const SceneLayerGLPriority kSceneLayerGLPriority_OverRadar = sdk::vis::kSceneLayerBasePriority_OverRadar
 Over radar chart.
 
const SceneLayerGLPriority kSceneLayerGLPriority_Radar = sdk::vis::kSceneLayerBasePriority_Radar
 The radar priority.
 
const SceneLayerGLPriority kSceneLayerGLPriority_UnderRadar = sdk::vis::kSceneLayerBasePriority_UnderRadar
 Under radar chart.
 
const SceneLayerGLPriority kSceneLayerGLPriority_Chart = sdk::vis::kSceneLayerBasePriority_Chart
 One layer chart.
 
const SceneLayerGLPriority kSceneLayerGLPriority_TG1 = sdk::vis::kSceneLayerBasePriority_TG1
 TG1 chart layer.
 
const SceneLayerGLPriority kSceneLayerGLPriority_Overview = sdk::vis::kSceneLayerBasePriority_Overview
 Overview layer.
 
const SceneLayerGLPriority kSceneLayerGLPriority_NoData = sdk::vis::kSceneLayerBasePriority_NoData
 No data.
 
const SceneLayerGLPriority kSceneLayerGLPriority_Undefined = sdk::vis::kSceneLayerBasePriority_Undefined
 Undefined scene layer priority.
 

Detailed Description

Describes visualization scene layers manager.

Copyright © The Navtor SDK 2011-2018. All Rights Reserved.

Author
The NAVTOR SDK authors.
Date
01/2018
Maintenance:
The NAVTOR SDK authors.

Enumeration Type Documentation

◆ SceneLayerGLTypes

Definition of the scene layer types.

Enumerator
kSceneLayerGLType_Default 

Default scene layer type.

kSceneLayerGLType_Radar 

Radar scene layer.

kSceneLayerGLType_RadarBitmap 

Radar scene layer on bitmap.

kSceneLayerGLType_GroundingCheck 

Grounding check scene layer.

◆ SceneLayerGLFlags

Definition of the scene layer flags.

Enumerator
kSceneLayerGLFlag_NoFlags 

No flags.

kSceneLayerGLFlag_NoClipping 

Data valid area clipping is not used.

kSceneLayerGLFlag_PortrayalDependent 

Automatically re-render if portrayal changed.

kSceneLayerGLFlag_ProjectionDependent 

Automatically re-render if projection changed.

kSceneLayerGLFlag_DeferredRender 

Render layer only if deferred rendering is asked.

kSceneLayerGLFlag_BindToViewport 

Bind layer to scene viewport.

kSceneLayerGLFlag_UsePortrayal 

Use internal portrayal procedures.

kSceneLayerGLFlag_OwnshipDependent 

Automatically re-render on own ship change (passed through PP or stored in DL).

kSceneLayerGLFlag_ProgressiveRendering 

Render content for display gradually.

kSceneLayerGLFlag_PrepareAtPaint 

Visual symbols are prepared on paint stage (Use in simple cases, not all rendering techniques are supported).

kSceneLayerGLFlag_Overview 

Mark layer as overview.

kSceneLayerGLFlag_MainChart 

Mark layer as chart.

kSceneLayerGLFlag_Max 

Flags greater than this value are used internally.

◆ SceneLayerGLParameters

Scene layer additional parameters.

Enumerator
kSceneLayerGLParameter_DatasourceName 

String name of the data source (can be used for the layers which automatically create data sources internally, like radar and grounding check)

◆ SceneLayerGLProperties

Scene layer properties.

Enumerator
kSceneLayerGLProperty_ID 

Unique id of the layer.

kSceneLayerGLProperty_Name 

Name of the layer.

kSceneLayerGLProperty_Type 

Type of the layer (See SceneLayerGLTypes).

kSceneLayerGLProperty_Priority 

Layer priority.

kSceneLayerGLProperty_Flags 

Layer flags.

kSceneLayerGLProperty_RendererType 

Name of the predefined renderer.

kSceneLayerGLProperty_Renderer 

Reference to the renderer component.

kSceneLayerGLProperty_DisplayGroupFilter 

Display groups filter (if available).

kSceneLayerGLProperty_Opacity 

Sets layer opacity (from 0.0 to 1.0 - not transparent).

kSceneLayerGLProperty_Data 

Allows passing any data from the application to the layers renderer.

kSceneLayerGLProperty_OverRadarPriority 

Another scene layer priority for the 'over radar' symbols.

kSceneLayerGLProperty_PortrayData 

Set to True if layer data go through internal portraying procedure.

kSceneLayerGLProperty_LayerSetName 

Name of the layer's layer-set (if available).

kSceneLayerGLProperty_LayerTypeName 

Name of the layer's type (if available).

kSceneLayerGLProperty_DataSourceNames 

Names of the binded data sources (if available).

kSceneLayerGLProperty_DataSources 

List of the binded data sources (if available).

kSceneLayerGLProperty_Max 

Maximal common scene layer properties index.

◆ SceneGLRendererInitializeParameters

Parameters which are accessible in renderer Initialize() method.

Enumerator
kSceneGLRendererInitializeParameter_SymbolizationFactory 

Gives access to all GL symbolization resources.

◆ SceneGLRendererParameters

Parameters which are accessible in renderer Render() method.

Enumerator
kSceneGLRendererParameter_SceneManagerName 

Scene manager name.

kSceneGLRendererParameter_SceneLayerName 

Scene layer name.

kSceneGLRendererParameter_Projection 

Projection for rendering.

kSceneGLRendererParameter_RotationAngle 

Scene rotation angle.

kSceneGLRendererParameter_DPM 

Dots per meter.

kSceneGLRendererParameter_SymbolizationName 

Symbolization name.

kSceneGLRendererParameter_Symbolization 

Reference to the symbolization.

kSceneGLRendererParameter_PortrayalParameters 

IPortrayalParameters.

kSceneGLRendererParameter_DisplayListRef 

Reference to the display list.

kSceneGLRendererParameter_IsClipByCoverage 

Clipping flag taken from layer.

kSceneGLRendererParameter_IsChart 

True if the renderer is used for the chart layer.

kSceneGLRendererParameter_SceneRectWidth 

Width of the not-rotated scene.

kSceneGLRendererParameter_SceneRectHeight 

Height of the not-rotated scene.

kSceneGLRendererParameter_SceneBoundWidth 

Width of the rotated scene bound.

kSceneGLRendererParameter_SceneBoundHeight 

Height of the rotated scene bound.

◆ SceneGLRendererProperties

Parameters which are accessible in renderer Render() method through IRenderContext parameter.

Enumerator
kSceneGLRendererProperty_IsDirty 

Tells if the owner layer is dirty.

kSceneGLRendererProperty_Data 

Allows passing any data from the application to the renderer.