NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
scene_gl_info_interface.h
1 
11 #ifndef SDK_VISMAN_SCENE_GL_INFO_INTERFACE_H_
12 #define SDK_VISMAN_SCENE_GL_INFO_INTERFACE_H_
13 
14 #include <base/inc/base_types.h>
22 #include <visualizationlayer/inc/vis_const.h>
23 #include <visualizationlayer/inc/visman/scene_information_base_interface.h>
25 
26 SDK_VISGL_BEGIN_NAMESPACE
27 
28 // info interfaces
30 //FWD_DECL_INTERFACE(ISceneInformationDataset); // reused from visman/scene_information_base_interface.h
31 //FWD_DECL_INTERFACE(IEnumSceneInformationDataset); // reused from visman/scene_information_base_interface.h
33 
36 enum SceneInfoGLProperties
37 {
38  kSceneInfoGLProperty_Scale = sdk::vis::kSceneInfoBaseProperty_Scale,
39  kSceneInfoGLProperty_SceneCenterLon = sdk::vis::kSceneInfoBaseProperty_SceneCenterLon,
40  kSceneInfoGLProperty_SceneCenterLat = sdk::vis::kSceneInfoBaseProperty_SceneCenterLat,
41  kSceneInfoGLProperty_SceneRotationAngle = sdk::vis::kSceneInfoBaseProperty_RotationAngle,
42  kSceneInfoGLProperty_PortrayalParameters = sdk::vis::kSceneInfoBaseProperty_PortrayalParameters,
43  kSceneInfoGLProperty_AutoselectedDatasets = sdk::vis::kSceneInfoBaseProperty_AutoselectedDatasets,
44  kSceneInfoGLProperty_SceneWidth = sdk::vis::kSceneInfoBaseProperty_SceneWidth,
45  kSceneInfoGLProperty_SceneHeight = sdk::vis::kSceneInfoBaseProperty_SceneHeight,
46  kSceneInfoGLProperty_DateDependentDisplayed = sdk::vis::kSceneInfoBaseProperty_DateDependentDisplayed,
47  kSceneInfoGLProperty_HasWrongNewObj = sdk::vis::kSceneInfoBaseProperty_HasWrongNewObj,
48  kSceneInfoGLProperty_RealScaleAtCenter = sdk::vis::kSceneInfoBaseProperty_RealScaleAtCenter,
49  kSceneInfoGLProperty_Overlap = sdk::vis::kSceneInfoBaseProperty_Overlap,
50  kSceneInfoGLProperty_SceneArea = sdk::vis::kSceneInfoBaseProperty_SceneArea,
51  kSceneInfoGLProperty_SceneZone,
52  kSceneInfoGLProperty_Cookie,
53  kSceneInfoGLProperty_GL2D_Stats,
54  kSceneInfoGLProperty_GL2D_Last_Draw_Stats,
55  kSceneInfoGLProperty_Max,
56 };
57 
60 enum FindFeaturesQueryParameters
61 {
62  kSceneInfoGLFindParameter_IncludePRSP = sdk::gdb::kGetFeaturesParameter_IncludePRSP,
63  kSceneInfoGLFindParameter_IncludeDatasetID = sdk::gdb::kGetFeaturesParameter_IncludeDatasetID,
64  kSceneInfoGLFindParameter_IncludeFeatureClasses = sdk::gdb::kGetFeaturesParameter_IncludeFeatureClasses,
65  kSceneInfoGLFindParameter_KeepOriginalFeatures
66 };
67 
70 enum SceneInfoGLDataSourceProperties
71 {
72  kSceneInfoGLDataSourceProperty_ID = sdk::vis::kSceneInfoBaseDataSourceProperty_ID,
73  kSceneInfoGLDataSourceProperty_Ref = sdk::vis::kSceneInfoBaseDataSourceProperty_Max,
74  kSceneInfoGLDataSourceProperty_Max,
75 };
76 
79 enum SceneInfoGLDatasetProperties
80 {
81  kSceneInfoGLDatasetProperty_WorkspaceID = sdk::vis::kSceneInfoBaseDatasetProperty_WorkspaceID,
82  kSceneInfoGLDatasetProperty_ID = sdk::vis::kSceneInfoBaseDatasetProperty_ID,
83  kSceneInfoGLDatasetProperty_Name = sdk::vis::kSceneInfoBaseDatasetProperty_Name,
84  kSceneInfoGLDatasetProperty_Component = sdk::vis::kSceneInfoBaseDatasetProperty_Component,
85  kSceneInfoGLDatasetProperty_UsedCoverage = sdk::vis::kSceneInfoBaseDatasetProperty_UsedCoverage,
86  kSceneInfoGLDatasetProperty_UsedCoverageArea = sdk::vis::kSceneInfoBaseDatasetProperty_UsedCoverageArea,
87  kSceneInfoGLDatasetProperty_SafetyContourDepth = sdk::vis::kSceneInfoBaseDatasetProperty_SafetyContourDepth,
88  kSceneInfoGLDatasetProperty_IsDrawnOverscaled = sdk::vis::kSceneInfoBaseDatasetProperty_IsDrawnOverscaled,
89 };
90 
97 enum TransformTypeGL
98 {
99  kTransformTypeGL_WinToViewport = sdk::vis::kTransformTypeBase_WinToViewport,
100  kTransformTypeGL_ViewportToWin = sdk::vis::kTransformTypeBase_ViewportToWin,
101  kTransformTypeGL_WinToScene = sdk::vis::kTransformTypeBase_WinToScene,
102  kTransformTypeGL_SceneToWin = sdk::vis::kTransformTypeBase_SceneToWin,
103  kTransformTypeGL_WinToGeo = sdk::vis::kTransformTypeBase_WinToGeo,
104  kTransformTypeGL_GeoToWin = sdk::vis::kTransformTypeBase_GeoToWin,
105  kTransformTypeGL_ViewportToGeo = sdk::vis::kTransformTypeBase_ViewportToGeo,
106  kTransformTypeGL_GeoToViewport = sdk::vis::kTransformTypeBase_GeoToViewport,
107  kTransformTypeGL_ViewportToScene,
108  kTransformTypeGL_SceneToViewport,
109  kTransformTypeGL_SceneToGeo,
110  kTransformTypeGL_GeoToScene,
111 };
112 
115 class ISceneInformationGL : public sdk::vis::ISceneInformationBase
116 {
117 public:
119  virtual SDKResult SDK_CALLTYPE GetProjection(
120  sdk::crs::IProjectionSP& scene_projection) const throw() = 0;
121 
123  virtual SDKResult SDK_CALLTYPE GetUsedCoverage(
124  sdk::geometry::IGeometrySP& used_coverage) const throw() = 0;
125 
127  virtual SDKResult SDK_CALLTYPE GetUsedDataSourceViewCount(
128  SDKUInt32& count) const throw() = 0;
129 
131  virtual SDKResult SDK_CALLTYPE GetUsedDataSourceView(SDKUInt32 index,
132  sdk::ISDKPropertiesSP& props) const throw() = 0;
133 
135  virtual SDKResult SDK_CALLTYPE GetDatasets(
136  const sdk::geometry::IGeometrySP& geometry_filter,
137  const sdk::gdb::IQueryParametersSP& parameters,
138  sdk::vis::IEnumSceneInformationDatasetSP& enum_dataset) const throw() = 0;
139 
141  virtual SDKResult SDK_CALLTYPE FindFeatures(
142  const sdk::geometry::IGeometrySP& geometry_filter,
143  const sdk::gdb::IQueryParametersSP& parameters,
144  const sdk::gdb::IFeatureFilterSP& back_call_filter,
145  sdk::gdb::IEnumFeatureSP& features) const throw() = 0;
146 
148  virtual SDKResult SDK_CALLTYPE CoordinateTransform(
149  SDKUInt32 transform_type,
150  const SDKPointD2D& from_coordinate,
151  SDKPointD2D& to_coordinate) const throw() = 0;
152 
155  virtual SDKResult SDK_CALLTYPE PointInScene(
156  const SDKGeoPoint& position) const throw() = 0;
157 
160  virtual SDKResult SDK_CALLTYPE GetOverscaled(
161  const SDKGeoPoint& position,
162  double& factor) const throw() = 0;
163 
166  virtual SDKResult SDK_CALLTYPE GetFeatureSymbolInfo(
167  const sdk::gdb::IFeatureSP& feature,
168  IEnumSDKStringSP& info) const throw() = 0;
169 
171  virtual SDKResult SDK_CALLTYPE GetTexture(
172  sdk::gl2d::IGL2DTextureSP& texture) const throw() = 0;
173 
175  virtual SDKResult SDK_CALLTYPE GetTextureID(
176  SDKInt32& texture_id) const throw() = 0;
177 
179  virtual SDKResult SDK_CALLTYPE GetStatistics(
180  ISceneStatisticsSP& statistics) const throw() = 0;
181 
182  // ISDKProperties
183  //virtual SDKResult SDK_CALLTYPE SetProperty(const SDKPropertyID& id,
184  // const SDKAny& value) throw() = 0;
185  //virtual SDKResult SDK_CALLTYPE GetProperty(const SDKPropertyID& id,
186  // SDKAny& value) const throw() = 0;
187 
188  SDK_IMPLEMENT_IID(ISceneInformationGL)
189  SDK_END_INTERFACE(ISceneInformationGL)
190 };
191 SDK_DECLARE_IID(ISceneInformationGL)
192 
193 enum SceneStatProperty
196 {
197  kSceneStatProperty_ProcessMemoryPrivateBytes,
198  kSceneStatProperty_LastPaintTimeMs,
199  kSceneStatProperty_LastDisplayTimeMs,
200 };
201 
204 enum SceneStatGCProperty
205 {
206  kSceneStatGCProperty_Name,
207  kSceneStatGCProperty_IsVisible,
208 
209  kSceneStatGCProperty_SymbolizedObjNum,
210  kSceneStatGCProperty_SymbolizeTimeMs,
211 
212  kSceneStatGCProperty_DisplayListMemoryBytes,
213 
214  kSceneStatGCProperty_RenderingCreateVOTimeMs,
215  kSceneStatGCProperty_RenderingCombineTimeMs,
216  kSceneStatGCProperty_RenderingPrepareDataMs,
217  kSceneStatGCProperty_RenderingCollectHistoryMs,
218  kSceneStatGCProperty_RenderingTotalTimeMs,
219 
220  kSceneStatGCProperty_RenderHistoryMemoryBytes,
221 
222  kSceneStatGCProperty_LastUserCookie,
223 };
224 
225 static const SDKUInt64 kSceneBuildStatSBMSnapshot_Undefined = -1;
226 static const SDKUInt64 kSceneBuildStatSBMRound_Undefined = -1;
227 static const SDKUInt64 kSceneBuildLayerIdx_Undefined = -1;
228 static const SDKUInt64 kSceneBuildDataViewIdx_Undefined = -1;
229 
232 enum SceneBuildStatProperty
233 {
234  kSceneBuildStatProperty_SnapshotNum,
235  kSceneBuildStatProperty_SnapshotCounter,
236  kSceneBuildStatProperty_SnapshotCookie,
237  kSceneBuildStatProperty_SBMRoundsNum,
238  kSceneBuildStatProperty_SBMRound,
239  kSceneBuildStatProperty_SBMRoundTimeMs,
240  kSceneBuildStatProperty_SBMRoundStartTicks,
241  kSceneBuildStatProperty_SBMRoundFinishTicks,
242  kSceneBuildStatProperty_SceneLayersNum,
243  kSceneBuildStatProperty_SceneLayerName,
244  kSceneBuildStatProperty_SelectedDatasets,
245  kSceneBuildStatProperty_SLCoverTimeMs,
246  kSceneBuildStatProperty_SLTasksTimeMs,
247  kSceneBuildStatProperty_SLTotalTimeMs,
248  kSceneBuildStatProperty_SLTaskStartTicks,
249  kSceneBuildStatProperty_SLTaskFinishTicks,
250  kSceneBuildStatProperty_DataViewsNum,
251  kSceneBuildStatProperty_DataViewName,
252  kSceneBuildStatProperty_DVPrepareTimeMs,
253  kSceneBuildStatProperty_DVPortrayTimeMs,
254  kSceneBuildStatProperty_DVRenderTimeMs,
255  kSceneBuildStatProperty_DVTotalTimeMs,
256  kSceneBuildStatProperty_DVTaskStartTicks,
257  kSceneBuildStatProperty_DVTaskFinishTicks,
258  kSceneBuildStatProperty_ThreadID,
259  kSceneBuildStatProperty_StatusText,
260 };
261 
264 class ISceneStatistics : public ISDKProperties
265 {
266 public:
268  virtual SDKResult GetGraphicContainersNum(SDKUInt32& gc_num) const throw() = 0;
269 
271  virtual SDKResult GetGraphicContainerProperty(SDKUInt32 gc_idx,
272  SDKUInt32 gc_prop_id, SDKAny& value) const throw() = 0;
273 
276  SDKUInt64 sbm_snapshot_idx,
277  SDKUInt64 sbm_round_idx,
278  SDKUInt32 scene_layer_idx,
279  SDKUInt32 data_view_idx,
280  SDKUInt32 prop_idx,
281  SDKAny& value) const throw() = 0;
282 
283  // ISDKProperties
284 
286  //virtual SDKResult SDK_CALLTYPE SetProperty(const SDKPropertyID& id,
287  // const SDKAny& value) throw() = 0;
289  //virtual SDKResult SDK_CALLTYPE GetProperty(const SDKPropertyID& id,
290  // SDKAny& value) const throw() = 0;
291 
292  SDK_IMPLEMENT_IID(ISceneStatistics)
293  SDK_END_INTERFACE(ISceneStatistics)
294 };
295 SDK_DECLARE_IID(ISceneStatistics)
296 
297 SDK_VISGL_END_NAMESPACE
298 
299 #endif // SDK_VISMAN_SCENE_GL_INFO_INTERFACE_H_
gdb_dataset.h
Describes interfaces that manages a geodatabase dataset object.
geometry.h
Describes interfaces that manages a geometry objects.
base_types.h
SDK base types.
ISceneInformationGL::GetDatasets
virtual SDKResult SDK_CALLTYPE GetDatasets(const sdk::geometry::IGeometrySP &geometry_filter, const sdk::gdb::IQueryParametersSP &parameters, sdk::vis::IEnumSceneInformationDatasetSP &enum_dataset) const =0
Returns used datasets by geometry and query filters (from ISceneInformationBase).
ISceneInformationGL::FindFeatures
virtual SDKResult SDK_CALLTYPE FindFeatures(const sdk::geometry::IGeometrySP &geometry_filter, const sdk::gdb::IQueryParametersSP &parameters, const sdk::gdb::IFeatureFilterSP &back_call_filter, sdk::gdb::IEnumFeatureSP &features) const =0
Searches for the features on the scene (from ISceneInformationBase).
ISceneInformationGL
Information about prepared scene.
Definition: scene_gl_info_interface.h:115
ISceneStatistics
Current scene manager statistics.
Definition: scene_gl_info_interface.h:264
gdb_workspace.h
Describes interfaces that manages a geodatabase workspace.
properties_interface.h
Object generic properties interface.
ISceneInformationGL::GetTexture
virtual SDKResult SDK_CALLTYPE GetTexture(sdk::gl2d::IGL2DTextureSP &texture) const =0
Returns the current scene image.
kGetFeaturesParameter_IncludePRSP
@ kGetFeaturesParameter_IncludePRSP
Include features from the specified PRSPs.
Definition: gdb_dataset.h:281
ISceneStatistics::GetGraphicContainerProperty
virtual SDKResult GetGraphicContainerProperty(SDKUInt32 gc_idx, SDKUInt32 gc_prop_id, SDKAny &value) const =0
Retrieves properties of a specified graphic container.
crs_projection.h
Describes the interface that manages projection parameters.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
SDKGeoPoint
Geo point in degree units.
Definition: geometry_base_types.h:1727
ISceneInformationGL::GetTextureID
virtual SDKResult SDK_CALLTYPE GetTextureID(SDKInt32 &texture_id) const =0
Returns the current scene image ID.
ISceneInformationGL::GetUsedDataSourceView
virtual SDKResult SDK_CALLTYPE GetUsedDataSourceView(SDKUInt32 index, sdk::ISDKPropertiesSP &props) const =0
Returns data source properties by the index (from ISceneInformationBase).
sdk_component_interface.h
Common base SDK interfaces.
kGetFeaturesParameter_IncludeFeatureClasses
@ kGetFeaturesParameter_IncludeFeatureClasses
Include features with the listed class codes.
Definition: gdb_dataset.h:237
kGetFeaturesParameter_IncludeDatasetID
@ kGetFeaturesParameter_IncludeDatasetID
Include features owned by the datasets from the dataset list.
Definition: gdb_dataset.h:272
geometry_base_types.h
Geometry base types.
ISceneInformationGL::GetOverscaled
virtual SDKResult SDK_CALLTYPE GetOverscaled(const SDKGeoPoint &position, double &factor) const =0
Returns 'over-scaled' factor at the specified geographic (from ISceneInformationBase)....
ISceneInformationGL::GetStatistics
virtual SDKResult SDK_CALLTYPE GetStatistics(ISceneStatisticsSP &statistics) const =0
Returns the current scene statistic information.
ISceneInformationGL::GetProjection
virtual SDKResult SDK_CALLTYPE GetProjection(sdk::crs::IProjectionSP &scene_projection) const =0
Returns the projection used for the scene (from ISceneInformationBase).
ISceneInformationGL::CoordinateTransform
virtual SDKResult SDK_CALLTYPE CoordinateTransform(SDKUInt32 transform_type, const SDKPointD2D &from_coordinate, SDKPointD2D &to_coordinate) const =0
Converts coordinate from one scene coordinate system to another (from ISceneInformationBase).
ISceneStatistics::GetGraphicContainersNum
virtual SDKResult GetGraphicContainersNum(SDKUInt32 &gc_num) const =0
Retrieves the number of graphic containers in the scene manager.
ISceneInformationGL::PointInScene
virtual SDKResult SDK_CALLTYPE PointInScene(const SDKGeoPoint &position) const =0
Returns kSDKResult_Succeeded in case of the specified geographic (from ISceneInformationBase)....
gl2d_texture_interface.h
GL2D Texture object.
ISceneInformationGL::GetUsedDataSourceViewCount
virtual SDKResult SDK_CALLTYPE GetUsedDataSourceViewCount(SDKUInt32 &count) const =0
Returns number of data sources attached (from ISceneInformationBase).
ISceneInformationGL::GetUsedCoverage
virtual SDKResult SDK_CALLTYPE GetUsedCoverage(sdk::geometry::IGeometrySP &used_coverage) const =0
Returns geographic coverage used for scene (from ISceneInformationBase).
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
ISceneInformationGL::GetFeatureSymbolInfo
virtual SDKResult SDK_CALLTYPE GetFeatureSymbolInfo(const sdk::gdb::IFeatureSP &feature, IEnumSDKStringSP &info) const =0
Returns textual description of all symbols used to display (from ISceneInformationBase)....
SDKPointD2D
A two dimensional point.
Definition: geometry_base_types.h:242
ISceneStatistics::GetBuildStatProperty
virtual SDKResult GetBuildStatProperty(SDKUInt64 sbm_snapshot_idx, SDKUInt64 sbm_round_idx, SDKUInt32 scene_layer_idx, SDKUInt32 data_view_idx, SDKUInt32 prop_idx, SDKAny &value) const =0
Provides access to various scene rendering statistics.