NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
data_sources_manager_interface.h
Go to the documentation of this file.
1 
11 #ifndef SDK_VISMAN_GL_DATA_SOURCES_MANAGER_INTERFACE_H_
12 #define SDK_VISMAN_GL_DATA_SOURCES_MANAGER_INTERFACE_H_
13 
14 #include <base/inc/base_types.h>
19 #include <visualizationlayer/inc/vis_const.h>
20 #include <visualizationlayer/inc/visman/scene_manager_base_interface.h>
21 
22 SDK_VISGL_BEGIN_NAMESPACE
23 
24 // defined here
32 
36 {
37  kDataSourceParameter_First = 1,
39  kDataSourceParameter_Max,
40 };
41 
45 {
46  kDataSourceFlag_None = sdk::vis::kDataSourceBaseFlag_None,
47  kDataSourceFlag_ChartDatabase = sdk::vis::kDataSourceBaseFlag_ChartDatabase,
48  kDataSourceFlag_WeatherDatabase = sdk::vis::kDataSourceBaseFlag_WeatherDatabase,
49  kDataSourceFlag_RoutesDatabase = sdk::vis::kDataSourceBaseFlag_RoutesDatabase,
52 };
53 
54 static const SDKUInt64 kDataSourceFlag_UserMask = 0xFFFFFFFF00000000;
55 
58 static const wchar_t* kDataSourcePredefinedName_Radar = L"radar";
59 static const wchar_t* kDataSourcePredefinedName_RadarBitmap = L"radar_bitmap";
60 
64 {
65 public:
67  virtual SDKResult SDK_CALLTYPE AddDataSource(
68  const SDKString& data_source_name,
69  const SDKAny& data_source_ref,
70  const ISDKParametersSP& parameters,
71  IDataSourceBaseSP& data_source) throw() = 0;
72 
74  virtual SDKResult SDK_CALLTYPE RemoveDataSource(
75  const SDKString& data_source_name) throw() = 0;
76 
78  virtual SDKResult SDK_CALLTYPE EnumDataSources(
79  IDataSourceEnumeratorSP& data_source_enum) const throw() = 0;
80 
82  virtual SDKResult SDK_CALLTYPE FindDataSource(
83  const SDKString& data_source_name,
84  IDataSourceBaseSP& data_source) const throw() = 0;
85 
87  virtual SDKResult SDK_CALLTYPE FindDataSourceName(
88  const SDKAny& data_source_ref,
89  SDKString& data_source_name) const throw() = 0;
90 
92  virtual SDKResult SDK_CALLTYPE Clear() throw() = 0;
93 
94  SDK_IMPLEMENT_IID(IDataSourcesManager)
95  SDK_END_INTERFACE(IDataSourcesManager)
96 };
97 SDK_DECLARE_IID(IDataSourcesManager)
98 
102 {
103 public:
105  virtual SDKResult SDK_CALLTYPE Next(IDataSourceBaseSP& data_source) const throw() = 0;
107  virtual SDKResult SDK_CALLTYPE Reset() throw() = 0;
108 
109  SDK_IMPLEMENT_IID(IDataSourceEnumerator)
110  SDK_END_INTERFACE(IDataSourceEnumerator)
111 };
112 SDK_DECLARE_IID(IDataSourceEnumerator)
113 
117 {
118  kDataSourceProperty_First = 1,
123  kDataSourceProperty_Max,
124 };
125 
128 class IDataSourceBase : public ISDKProperties
129 {
130 public:
132  virtual SDKResult SDK_CALLTYPE GetName(SDKString& name) const throw() = 0;
134  virtual SDKResult SDK_CALLTYPE GetParameters(ISDKParametersSP& parameters) const throw() = 0;
135 
136  // ISDKProperties
137  //virtual SDKResult SDK_CALLTYPE SetProperty(const SDKPropertyID& id, const SDKAny& value) throw() = 0;
138  //virtual SDKResult SDK_CALLTYPE GetProperty(const SDKPropertyID& id, SDKAny& value) const throw() = 0;
139 };
140 
144 {
145 public:
147  virtual SDKResult SDK_CALLTYPE GetName(SDKString& name) const throw() = 0;
149  virtual SDKResult SDK_CALLTYPE GetParameters(ISDKParametersSP& parameters) const throw() = 0;
150 
152  virtual SDKResult SDK_CALLTYPE SetFilters(
153  const sdk::gdb::IQueryParametersSP& dataset_filter,
154  const sdk::gdb::IQueryParametersSP& feature_query_filter,
155  const sdk::gdb::IFeatureFilterSP& feature_filter) throw() = 0;
156 
158  virtual SDKResult SDK_CALLTYPE GetFilters(
159  sdk::gdb::IQueryParametersSP& dataset_filter,
160  sdk::gdb::IQueryParametersSP& feature_query_filter,
161  sdk::gdb::IFeatureFilterSP& feature_filter) const throw() = 0;
162 
163  SDK_IMPLEMENT_IID(IDataSource)
164  SDK_END_INTERFACE(IDataSource)
165 };
166 SDK_DECLARE_IID(IDataSource)
167 
171 {
172  kRadarDataSourceProperty_TotalRaysCount = kDataSourceProperty_Max,
178 };
179 
183 {
193 };
194 
203 {
206 };
207 
211 {
212 public:
214  virtual SDKResult SetRadarImageParameters(
215  SDKUInt32 total_rays_count,
216  SDKUInt32 pixels_per_ray,
217  double range_nm,
218  const ISDKParametersSP& other_parameters) noexcept = 0;
219 
221  virtual SDKResult UpdateRadarImageData(
222  double center_lon,
223  double center_lat,
224  double angle_deg,
225  SDKUInt32 first_ray_index,
226  SDKUInt32 rays_count,
227  const SDKUInt8* rays_data,
228  SDKUInt32 ray_data_size) noexcept = 0;
229 
240  virtual SDKResult SetRadarOwnShipNav(
241  double cog_deg,
242  double sog_kn,
243  double hdg_deg,
244  double stw_kn) noexcept = 0;
245 
247  virtual SDKResult SDK_CALLTYPE SetRadarImageProperty(
248  const SDKPropertyID& id,
249  const SDKAny& value) noexcept = 0;
250 
252  virtual SDKResult SDK_CALLTYPE GetRadarImageProperty(
253  const SDKPropertyID& id,
254  SDKAny& value) const noexcept = 0;
255 
256  SDK_IMPLEMENT_IID(IDataSourceRadar)
257  SDK_END_INTERFACE(IDataSourceRadar)
258 };
259 SDK_DECLARE_IID(IDataSourceRadar)
260 
264 {
265 public:
267  virtual SDKResult SetRadarImageParameters(
268  double range_nm,
269  SDKUInt32 range_pixels,
270  SDKUInt32 bitmap_width,
271  SDKUInt32 bitmap_height,
272  const ISDKParametersSP& other_parameters) noexcept = 0;
273 
275  virtual SDKResult UpdateRadarImageData(
276  double center_lon,
277  double center_lat,
278  double angle_deg,
279  const base::ISDKStreamSP& bitmap_data) noexcept = 0;
280 
282  virtual SDKResult UpdateRadarImageData(
283  double center_lon,
284  double center_lat,
285  double angle_deg,
286  const SDKUInt8* bitmap_data,
287  SDKUInt32 bitmap_data_size) noexcept = 0;
288 
292  virtual SDKResult SetRadarOwnShipNav(
293  double cog_deg,
294  double sog_kn,
295  double hdg_deg,
296  double stw_kn) noexcept = 0;
297 
299  virtual SDKResult SDK_CALLTYPE SetRadarImageProperty(
300  const SDKPropertyID& id,
301  const SDKAny& value) noexcept = 0;
302 
304  virtual SDKResult SDK_CALLTYPE GetRadarImageProperty(
305  const SDKPropertyID& id,
306  SDKAny& value) const noexcept = 0;
307 
308  SDK_IMPLEMENT_IID(IDataSourceRadarBitmap)
309  SDK_END_INTERFACE(IDataSourceRadarBitmap)
310 };
311 SDK_DECLARE_IID(IDataSourceRadarBitmap)
312 
316 {
319 };
320 
324 {
327 };
328 
331 {
332 public:
333  // \brief Set the grounding check result
334  virtual SDKResult SetGroundingCheckResult(
335  const sdk::gdb::IGroundingCheckResultSP& gc_result,
337  const ISDKParametersSP& parameters) noexcept = 0;
338 
339  SDK_IMPLEMENT_IID(IDataSourceGroundingCheck);
340  SDK_END_INTERFACE(IDataSourceGroundingCheck);
341 };
342 SDK_DECLARE_IID(IDataSourceGroundingCheck);
343 
344 SDK_VISGL_END_NAMESPACE
345 
346 #endif // SDK_VISMAN_GL_DATA_SOURCES_MANAGER_INTERFACE_H_
kRadarImageProperty_RadarColorOpacity
@ kRadarImageProperty_RadarColorOpacity
Main radar image color opacity.
Definition: data_sources_manager_interface.h:187
gdb_dataset.h
Describes interfaces that manages a geodatabase dataset object.
kRadarImageProperty_RadarHighlightRays
@ kRadarImageProperty_RadarHighlightRays
Number of radar rays to highlight.
Definition: data_sources_manager_interface.h:184
DataSourceProperties
DataSourceProperties
Data source properties.
Definition: data_sources_manager_interface.h:116
kDataSourceFlag_RoutesDatabase
@ kDataSourceFlag_RoutesDatabase
Routes database indicator.
Definition: data_sources_manager_interface.h:49
IDataSourcesManager::EnumDataSources
virtual SDKResult SDK_CALLTYPE EnumDataSources(IDataSourceEnumeratorSP &data_source_enum) const =0
Returns enumeration of all data sources.
kRadarImageProperty_RadarTrailTime
@ kRadarImageProperty_RadarTrailTime
Variable-length (time) trails duration in seconds (<0=CONT, 0=unset, >0=time-based).
Definition: data_sources_manager_interface.h:190
kDataSourceProperty_OriginalSource
@ kDataSourceProperty_OriginalSource
Original data source reference.
Definition: data_sources_manager_interface.h:122
IDataSourceRadar
Interface to the radar data specified by rays.
Definition: data_sources_manager_interface.h:210
IDataSourceEnumerator::Reset
virtual SDKResult SDK_CALLTYPE Reset()=0
Resets the enumeration.
GroundingCheckDataSourceProperties
GroundingCheckDataSourceProperties
Grounding check data source properties (can be also set through parameters with SetGroundingCheckResu...
Definition: data_sources_manager_interface.h:315
base_types.h
SDK base types.
IDataSourcesManager::RemoveDataSource
virtual SDKResult SDK_CALLTYPE RemoveDataSource(const SDKString &data_source_name)=0
Removes a data source from the scene manager.
IDataSourceBase
Base interface for all data sources.
Definition: data_sources_manager_interface.h:128
kDataSourceFlag_NoProgressiveDisplay
@ kDataSourceFlag_NoProgressiveDisplay
Displays only last fully prepared data.
Definition: data_sources_manager_interface.h:51
kRadarImageProperty_RadarAntennaRotationPeriod
@ kRadarImageProperty_RadarAntennaRotationPeriod
Antenna rotation period in seconds (0=unknown).
Definition: data_sources_manager_interface.h:191
kGroundingCheckDataSourceProperty_ZonesToDrawIndex
@ kGroundingCheckDataSourceProperty_ZonesToDrawIndex
Specifies which zones should be drawn.
Definition: data_sources_manager_interface.h:318
kRadarDataSourceProperty_BitmapHeight
@ kRadarDataSourceProperty_BitmapHeight
Radar image bitmap height, in pixels.
Definition: data_sources_manager_interface.h:177
kRadarDataSourceProperty_PixelsPerRay
@ kRadarDataSourceProperty_PixelsPerRay
Length of the ray, in pixels.
Definition: data_sources_manager_interface.h:173
IDataSourceEnumerator
Enumerates data sources.
Definition: data_sources_manager_interface.h:101
gdb_workspace.h
Describes interfaces that manages a geodatabase workspace.
IDataSourcesManager::FindDataSourceName
virtual SDKResult SDK_CALLTYPE FindDataSourceName(const SDKAny &data_source_ref, SDKString &data_source_name) const =0
Finds and returns the data source name.
kRadarStabilizationMode_Ground
@ kRadarStabilizationMode_Ground
Ground-stabilized true trails (O0 fixed).
Definition: data_sources_manager_interface.h:204
properties_interface.h
Object generic properties interface.
IDataSourcesManager::AddDataSource
virtual SDKResult SDK_CALLTYPE AddDataSource(const SDKString &data_source_name, const SDKAny &data_source_ref, const ISDKParametersSP &parameters, IDataSourceBaseSP &data_source)=0
Adds a data source to the scene manager.
kDataSourceProperty_Flags
@ kDataSourceProperty_Flags
Data source flags (enum DataSourceFlags).
Definition: data_sources_manager_interface.h:121
kDataSourceFlag_ViewportData
@ kDataSourceFlag_ViewportData
Data source contains data projected to the current viewport.
Definition: data_sources_manager_interface.h:50
GroundingCheckResultSetType
GroundingCheckResultSetType
Grounding check set type.
Definition: data_sources_manager_interface.h:323
kRadarStabilizationMode_Sea
@ kRadarStabilizationMode_Sea
Sea-stabilized true trails (O0 follows set/drift).
Definition: data_sources_manager_interface.h:205
kRadarImageProperty_RadarStabilizationMode
@ kRadarImageProperty_RadarStabilizationMode
Radar echo trails stabilization mode (see RadarStabilizationMode).
Definition: data_sources_manager_interface.h:192
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
kGroundingCheckResultSetType_Clone
@ kGroundingCheckResultSetType_Clone
Extract result data.
Definition: data_sources_manager_interface.h:326
DataSourceFlags
DataSourceFlags
Data source flags.
Definition: data_sources_manager_interface.h:44
kDataSourcePredefinedName_RadarBitmap
static const wchar_t * kDataSourcePredefinedName_RadarBitmap
Created automatically for the radar bitmap layer.
Definition: data_sources_manager_interface.h:59
IDataSource
Provides access to the members that manage the data source.
Definition: data_sources_manager_interface.h:143
DataSourceParameters
DataSourceParameters
Data source additional parameters.
Definition: data_sources_manager_interface.h:35
sdk_component_interface.h
Common base SDK interfaces.
RadarStabilizationMode
RadarStabilizationMode
Radar echo trails stabilization mode (IEC 62388 ยง11.2.2.2 h). Ground-stab true trails keep the trail ...
Definition: data_sources_manager_interface.h:202
kDataSourceFlag_WeatherDatabase
@ kDataSourceFlag_WeatherDatabase
Weather database indicator.
Definition: data_sources_manager_interface.h:48
kGroundingCheckResultSetType_Direct
@ kGroundingCheckResultSetType_Direct
Take ownership of the result.
Definition: data_sources_manager_interface.h:325
RadarImageProperties
RadarImageProperties
Radar image properties (set via SetRadarImageProperty method, retrieved via GetRadarImageProperty).
Definition: data_sources_manager_interface.h:182
kDataSourceProperty_UniqueNumber
@ kDataSourceProperty_UniqueNumber
Unique number of the data source (UInt32).
Definition: data_sources_manager_interface.h:120
kDataSourceFlag_UserMask
static const SDKUInt64 kDataSourceFlag_UserMask
Mask for the User's flags.
Definition: data_sources_manager_interface.h:54
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
IDataSourcesManager::Clear
virtual SDKResult SDK_CALLTYPE Clear()=0
Removes all data sources.
IDataSourceRadarBitmap
Interface to the radar data specified by bitmap.
Definition: data_sources_manager_interface.h:263
kRadarDataSourceProperty_TotalRaysCount
@ kRadarDataSourceProperty_TotalRaysCount
Total number of radar image rays.
Definition: data_sources_manager_interface.h:172
RadarDataSourceProperties
RadarDataSourceProperties
Radar data source properties (set via SetRadarImageParameters method, retrieved via ISDKProperty).
Definition: data_sources_manager_interface.h:170
IDataSourcesManager::FindDataSource
virtual SDKResult SDK_CALLTYPE FindDataSource(const SDKString &data_source_name, IDataSourceBaseSP &data_source) const =0
Finds and returns a data source.
kGroundingCheckDataSourceProperty_DrawZone
@ kGroundingCheckDataSourceProperty_DrawZone
Specifies if a zone should be drawn, by default on.
Definition: data_sources_manager_interface.h:317
kDataSourceFlag_ChartDatabase
@ kDataSourceFlag_ChartDatabase
Chart database indicator.
Definition: data_sources_manager_interface.h:47
kDataSourcePredefinedName_Radar
static const wchar_t * kDataSourcePredefinedName_Radar
Predefined data sources.
Definition: data_sources_manager_interface.h:58
IDataSourceEnumerator::Next
virtual SDKResult SDK_CALLTYPE Next(IDataSourceBaseSP &data_source) const =0
Returns the next data source.
kRadarImageProperty_RadarSymbolName
@ kRadarImageProperty_RadarSymbolName
Name of the radar symbol.
Definition: data_sources_manager_interface.h:185
IDataSourceGroundingCheck
Allows to update grounding check data.
Definition: data_sources_manager_interface.h:330
kDataSourceProperty_Priority
@ kDataSourceProperty_Priority
Priority of the data source (Float).
Definition: data_sources_manager_interface.h:119
kRadarImageProperty_RadarColorName
@ kRadarImageProperty_RadarColorName
Main radar image color name.
Definition: data_sources_manager_interface.h:186
IDataSourcesManager
Interface for scene manager data sources control.
Definition: data_sources_manager_interface.h:63
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
kRadarImageProperty_RadarTrailDecay
@ kRadarImageProperty_RadarTrailDecay
Radar echo trails decay factor (0.0 .. 1.0).
Definition: data_sources_manager_interface.h:189
kRadarDataSourceProperty_RangeInPixels
@ kRadarDataSourceProperty_RangeInPixels
Radar range, in pixels.
Definition: data_sources_manager_interface.h:175
kRadarDataSourceProperty_RangeNM
@ kRadarDataSourceProperty_RangeNM
Radar range, in NM.
Definition: data_sources_manager_interface.h:174
kDataSourceParameter_Flags
@ kDataSourceParameter_Flags
Data source flags (see enum DataSourceFlags)
Definition: data_sources_manager_interface.h:38
kRadarImageProperty_RadarTrailMode
@ kRadarImageProperty_RadarTrailMode
Radar echo trails mode (0 - off, 1 - true, 2 - relative).
Definition: data_sources_manager_interface.h:188
kRadarDataSourceProperty_BitmapWidth
@ kRadarDataSourceProperty_BitmapWidth
Radar image bitmap width, in pixels.
Definition: data_sources_manager_interface.h:176