NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
radar_sonar_targets_interface.h
Go to the documentation of this file.
1 
9 #ifndef SDK_ECDIS_RADAR_SONAR_TARGETS_INTERFACE_H_
10 #define SDK_ECDIS_RADAR_SONAR_TARGETS_INTERFACE_H_
11 #pragma once
12 
13 #include <base/inc/platform.h>
14 #include <base/inc/sdk_results.h>
15 #include <base/inc/base_types.h>
26 
27 SDK_VESSELS_BEGIN_NAMESPACE
28 
39 
44  const RadarSonarTargetFOID& target_foid)
45 { return target_foid | 0x8000000000000000; }
46 
51  const RadarSonarTargetFOID& past_track_foid)
52 { return past_track_foid & ~0x8000000000000000; }
53 
64 inline RadarSonarTargetFOID MakeRadarSonarTargetFOID(SDKUInt32 target_number,
66 {
67  RadarSonarTargetFOID foid = static_cast<RadarSonarTargetFOID>(device_id);
68  foid = foid << 32UL;
69  foid |= target_number;
70  return foid;
71 }
72 
76 {
77  kRadarSonarTargetsWksProperty_IgnoreTargetsInAcquisitionState,
78 };
79 
83 {
84 public:
85  // Only methods of IUpdatedTargets interface
86  SDK_IMPLEMENT_IID(IUpdatedRadarSonarTargets)
87  SDK_END_INTERFACE(IUpdatedRadarSonarTargets)
88 };
89 SDK_DECLARE_IID(IUpdatedRadarSonarTargets)
90 
94 {
95 public:
97  virtual SDKResult SDK_CALLTYPE GetTargetsDataset(const DatasetID& dsid,
98  IRadarSonarTargetsDatasetSP& targets_dataset) throw() = 0;
99 
102  virtual SDKResult SDK_CALLTYPE GetTarget(const RadarSonarTargetFOID& foid,
103  IRadarSonarTargetSP& target) const throw() = 0;
106  virtual SDKResult SDK_CALLTYPE GetTarget(const sdk::gdb::ObjectID& oid,
107  IRadarSonarTargetSP& target) const throw() = 0;
108 
111  virtual SDKResult SDK_CALLTYPE GetTargetPastTrack(
112  const RadarSonarTargetFOID& target_foid,
113  IRadarSonarTargetPastTrackSP& target_past_track) const throw() = 0;
116  virtual SDKResult SDK_CALLTYPE GetTargetPastTrack(
117  const sdk::gdb::ObjectID& target_oid,
118  IRadarSonarTargetPastTrackSP& target_past_track) const throw() = 0;
119 
122  virtual SDKResult SDK_CALLTYPE RemoveTarget(
123  const RadarSonarTargetFOID& foid) throw() = 0;
126  virtual SDKResult SDK_CALLTYPE RemoveTarget(
127  const sdk::gdb::ObjectID& oid) throw() = 0;
128 
130  virtual SDKResult SDK_CALLTYPE SetOwnShip(
131  const SDK_VESSELS_NAMESPACE::IOwnShipDatasetSP& own_ship_ds) throw() = 0;
132 
134  virtual SDKResult SDK_CALLTYPE SetManager(
135  const IRadarSonarTargetsManagerSP& manager) throw() = 0;
137  virtual SDKResult SDK_CALLTYPE GetManager(
138  IRadarSonarTargetsManagerSP& manager) const throw() = 0;
139 
141  virtual SDKResult SDK_CALLTYPE SetAISDatabase(
142  const IAISTargetsWorkspaceSP& ais_targets_database) throw() = 0;
144  virtual SDKResult SDK_CALLTYPE GetAISDatabase(
145  IAISTargetsWorkspaceSP& ais_targets_database) const throw() = 0;
146 
147  SDK_IMPLEMENT_IID(IRadarSonarTargetsWorkspace)
148  SDK_END_INTERFACE(IRadarSonarTargetsWorkspace)
149 };
150 SDK_DECLARE_IID(IRadarSonarTargetsWorkspace)
151 
155 {
156 public:
163  virtual SDKResult SDK_CALLTYPE UpdateTargetData(
164  const SDK_VESSELS_NAMESPACE::OwnShipDeviceConfig& source_device,
165  const SDK_NMEA_NAMESPACE::IParsedNMEASentenceDataSP& parsed_nmea_data,
166  IUpdatedRadarSonarTargetsSP& updated_targets) throw() = 0;
167 
171  virtual SDKResult SDK_CALLTYPE OwnShipParametersChanged(
172  IUpdatedRadarSonarTargetsSP& updated_targets) throw() = 0;
173 
175  virtual SDKResult SDK_CALLTYPE SourceDeviceIsLost(
176  const SDK_VESSELS_NAMESPACE::OwnShipDeviceConfig& source_device,
177  IUpdatedRadarSonarTargetsSP& updated_targets) throw() = 0;
178 
180  virtual SDKResult SDK_CALLTYPE GetTarget(const RadarSonarTargetFOID& foid,
181  IRadarSonarTargetSP& target) const throw() = 0;
183  virtual SDKResult SDK_CALLTYPE GetTarget(const sdk::gdb::ObjectID& oid,
184  IRadarSonarTargetSP& target) const throw() = 0;
185 
187  virtual SDKResult SDK_CALLTYPE GetTargetPastTrack(
188  const RadarSonarTargetFOID& target_foid,
189  IRadarSonarTargetPastTrackSP& target_past_track) const throw() = 0;
191  virtual SDKResult SDK_CALLTYPE GetTargetPastTrack(
192  const sdk::gdb::ObjectID& target_oid,
193  IRadarSonarTargetPastTrackSP& target_past_track) const throw() = 0;
194 
196  virtual SDKResult SDK_CALLTYPE GetTargets(
197  IRadarSonarTargetsCollectionSP& targets_collection) const throw() = 0;
198 
200  virtual SDKResult SDK_CALLTYPE RemoveTarget(
201  const RadarSonarTargetFOID& foid) throw() = 0;
203  virtual SDKResult SDK_CALLTYPE RemoveTarget(
204  const sdk::gdb::ObjectID& oid) throw() = 0;
205 
207  virtual SDKResult SDK_CALLTYPE SetOwnShip(
208  const SDK_VESSELS_NAMESPACE::IOwnShipDatasetSP& own_ship_ds) throw() = 0;
210  virtual SDKResult SDK_CALLTYPE GetOwnShip(
211  SDK_VESSELS_NAMESPACE::IOwnShipDatasetSP& own_ship_ds) const throw() = 0;
212 
216 
219  virtual SDKResult SDK_CALLTYPE SelectTarget(
220  const RadarSonarTargetFOID& target_foid) throw() = 0;
223  virtual SDKResult SDK_CALLTYPE GetSelectedTarget(
224  RadarSonarTargetFOID& target_foid) throw() = 0;
225 
227  virtual SDKResult SDK_CALLTYPE AcknowledgeTargetAlarms(
228  const RadarSonarTargetFOID& target_foid, const TargetAlarmIDs& alarms,
229  IUpdatedRadarSonarTargetsSP& updated_targets) throw() = 0;
230 
232  virtual SDKResult SDK_CALLTYPE ResetTargetsPastTrack() throw() = 0;
233 
234  SDK_IMPLEMENT_IID(IRadarSonarTargetsDataset)
235  SDK_END_INTERFACE(IRadarSonarTargetsDataset)
236 };
237 SDK_DECLARE_IID(IRadarSonarTargetsDataset)
238 
242 {
243 public:
245  virtual SDKResult SDK_CALLTYPE EditTarget(SDKUInt32 target_number,
247  IRadarSonarTargetEditSP& target_edit) throw() = 0;
248 
249  SDK_IMPLEMENT_IID(IRadarSonarTargetsDatasetEdit)
250  SDK_END_INTERFACE(IRadarSonarTargetsDatasetEdit)
251 };
252 SDK_DECLARE_IID(IRadarSonarTargetsDatasetEdit)
253 
254 class IRadarSonarTarget : public IVessel
257 {
258 public:
260  virtual SDKResult SDK_CALLTYPE GetFOID(
261  RadarSonarTargetFOID& foid) const throw() = 0;
262 
264  virtual SDKResult SDK_CALLTYPE GetTargetPosition(
265  SDKGeoPoint& position) const throw() = 0;
266 
268  virtual SDKResult SDK_CALLTYPE ResetPastTrack() throw() = 0;
269 
270  SDK_IMPLEMENT_IID(IRadarSonarTarget)
271  SDK_END_INTERFACE(IRadarSonarTarget)
272 };
273 SDK_DECLARE_IID(IRadarSonarTarget)
274 
277 {
278 public:
280  virtual SDKResult UpdateTargetPosition(const SDKGeoPoint& pos) throw() = 0;
281 
283  virtual SDKResult SetTargetAttributeValue(
284  const AttributeClassCode& class_code, const SDKAny& value) throw() = 0;
285 
286  SDK_IMPLEMENT_IID(IRadarSonarTargetEdit)
287  SDK_END_INTERFACE(IRadarSonarTargetEdit)
288 };
289 SDK_DECLARE_IID(IRadarSonarTargetEdit)
290 
294 {
295 public:
297  virtual SDKResult SDK_CALLTYPE GetFOID(
298  RadarSonarTargetFOID& foid) const throw() = 0;
299 
301  virtual SDKResult SDK_CALLTYPE GetVisiblePastTrack(
302  const SDKUInt32& past_track_interval, const SDKUInt32& past_track_length,
303  sdk::geometry::IPointCollectionSP& past_track) throw() = 0;
304 
306  virtual SDKResult SDK_CALLTYPE ResetPastTrack() throw() = 0;
307 
308  SDK_IMPLEMENT_IID(IRadarSonarTargetPastTrack)
309  SDK_END_INTERFACE(IRadarSonarTargetPastTrack)
310 };
311 SDK_DECLARE_IID(IRadarSonarTargetPastTrack)
312 
316 {
317 public:
319  virtual SDKResult SDK_CALLTYPE Next(IRadarSonarTargetSP& target) const throw() = 0;
320 
322  virtual SDKResult SDK_CALLTYPE Reset() throw() = 0;
323 
324  SDK_IMPLEMENT_IID(IRadarSonarTargetsEnum)
325  SDK_END_INTERFACE(IRadarSonarTargetsEnum)
326 };
327 SDK_DECLARE_IID(IRadarSonarTargetsEnum)
328 
332 {
333 public:
335  virtual SDKResult SDK_CALLTYPE GetCount(
336  SDKUInt32& targets_count) const throw() = 0;
337 
339  virtual SDKResult SDK_CALLTYPE GetTarget(const SDKUInt32& target_index,
340  IRadarSonarTargetSP& target) const throw() = 0;
341 
342  SDK_IMPLEMENT_IID(IRadarSonarTargetsCollection)
343  SDK_END_INTERFACE(IRadarSonarTargetsCollection)
344 };
345 SDK_DECLARE_IID(IRadarSonarTargetsCollection)
346 
347 SDK_VESSELS_END_NAMESPACE
348 
349 #endif // SDK_ECDIS_RADAR_SONAR_TARGETS_INTERFACE_H_
parsed_nmea_sentence_data_interface.h
A container for parsed NMEA sentence(s) data fields.
IRadarSonarTargetsDataset::OwnShipParametersChanged
virtual SDKResult SDK_CALLTYPE OwnShipParametersChanged(IUpdatedRadarSonarTargetsSP &updated_targets)=0
Notification about own ship parameters changed (position/COG/SOG etc) This will initiate the status/a...
IRadarSonarTargetsDataset::ResetTargetsPastTrack
virtual SDKResult SDK_CALLTYPE ResetTargetsPastTrack()=0
Resets past track for all of targets.
sdk_results.h
A list of SDK error/return results.
geometry.h
Describes interfaces that manages a geometry objects.
base_types.h
SDK base types.
vessels_const.h
Defines Vessels constants.
IRadarSonarTargetsWorkspace::RemoveTarget
virtual SDKResult SDK_CALLTYPE RemoveTarget(const RadarSonarTargetFOID &foid)=0
Removes one target entry from dataset by target's FOID Looks through all of datasets in workspace.
IUpdatedTargets
Set of updated target's.
Definition: updated_targets_interface.h:46
IRadarSonarTargetEdit
Single RadarSonar target editor.
Definition: radar_sonar_targets_interface.h:276
IRadarSonarTargetsDataset::GetTargets
virtual SDKResult SDK_CALLTYPE GetTargets(IRadarSonarTargetsCollectionSP &targets_collection) const =0
Returns the radar/sonar targets collection/enumerator.
IRadarSonarTargetsWorkspace::GetTargetPastTrack
virtual SDKResult SDK_CALLTYPE GetTargetPastTrack(const RadarSonarTargetFOID &target_foid, IRadarSonarTargetPastTrackSP &target_past_track) const =0
Returns the target past track record by Radar/Sonar target FOID Looks through all of datasets in work...
TargetAlarmIDs
SDKUInt32 TargetAlarmIDs
AIS/Radar/Sonar target alarm IDs (see the TargetAlarmType description below)
Definition: vessels_const.h:60
updated_targets_interface.h
Updated targets interface.
IVesselWorkspace
Provides access to members that manage the vessels workspace.
Definition: vessels_interface.h:32
IRadarSonarTargetsWorkspace::GetTargetsDataset
virtual SDKResult SDK_CALLTYPE GetTargetsDataset(const DatasetID &dsid, IRadarSonarTargetsDatasetSP &targets_dataset)=0
Returns appropriate targets dataset instance.
OwnShipDeviceConfig
OwnShipDeviceConfig
Own ship device configuration.
Definition: ownship_device_config_interface.h:54
IVesselDataset
Provides access to members that provide information about a VesselDataset.
Definition: vessels_interface.h:68
IRadarSonarTargetsDataset::SetOwnShip
virtual SDKResult SDK_CALLTYPE SetOwnShip(const SDK_VESSELS_NAMESPACE::IOwnShipDatasetSP &own_ship_ds)=0
Sets the own ship dataset instance.
MakeRadarSonarTargetFOID
RadarSonarTargetFOID MakeRadarSonarTargetFOID(SDKUInt32 target_number, const sdk::gdb::vessels::OwnShipDeviceConfig device_id)
Generates FOID for target from target number/source device.
Definition: radar_sonar_targets_interface.h:64
IRadarSonarTargetsDataset
Radar/Sonar targets dataset.
Definition: radar_sonar_targets_interface.h:154
IRadarSonarTargetsManager
An interface for high-level managing the targets over the database Allows to controls the target's po...
Definition: radar_sonar_targets_manager_interface.h:47
IRadarSonarTargetsWorkspace::SetAISDatabase
virtual SDKResult SDK_CALLTYPE SetAISDatabase(const IAISTargetsWorkspaceSP &ais_targets_database)=0
Sets AIS database instance for associated targets support.
RadarSonarTargetsWksPropertiesID
RadarSonarTargetsWksPropertiesID
Set of Radar/Sonar targets workspace properties.
Definition: radar_sonar_targets_interface.h:75
ecdislayer_const.h
The ecdislayer constants.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
TargetFoid2PastTrackFoid
RadarSonarTargetFOID TargetFoid2PastTrackFoid(const RadarSonarTargetFOID &target_foid)
Converts Radar/Sonar target FOID to appropriate Radar/Sonar target past track FOID.
Definition: radar_sonar_targets_interface.h:43
IRadarSonarTargetsWorkspace::GetManager
virtual SDKResult SDK_CALLTYPE GetManager(IRadarSonarTargetsManagerSP &manager) const =0
Returns current instance of targets manager.
IRadarSonarTargetsDataset::GetSelectedTarget
virtual SDKResult SDK_CALLTYPE GetSelectedTarget(RadarSonarTargetFOID &target_foid)=0
Returns selected target FOID Implementation depends of currently used targets manager.
SDKGeoPoint
Geo point in degree units.
Definition: geometry_base_types.h:1727
IRadarSonarTarget
Single Radar/Sonar target.
Definition: radar_sonar_targets_interface.h:256
IRadarSonarTargetsWorkspace::SetOwnShip
virtual SDKResult SDK_CALLTYPE SetOwnShip(const SDK_VESSELS_NAMESPACE::IOwnShipDatasetSP &own_ship_ds)=0
Sets the own ship dataset instance.
IRadarSonarTargetsCollection
Radar/Sonar targets collection.
Definition: radar_sonar_targets_interface.h:331
sdk_component_interface.h
Common base SDK interfaces.
IVessel
Common interface for all of vessel objects.
Definition: vessels_interface.h:96
IRadarSonarTargetsDataset::AcknowledgeTargetAlarms
virtual SDKResult SDK_CALLTYPE AcknowledgeTargetAlarms(const RadarSonarTargetFOID &target_foid, const TargetAlarmIDs &alarms, IUpdatedRadarSonarTargetsSP &updated_targets)=0
Notification about some of target's alarms were acknowledged.
IRadarSonarTargetsWorkspace::GetTarget
virtual SDKResult SDK_CALLTYPE GetTarget(const RadarSonarTargetFOID &foid, IRadarSonarTargetSP &target) const =0
Returns the target record by it's FOID Looks through all of datasets in workspace.
IRadarSonarTargetsDataset::UpdateTargetData
virtual SDKResult SDK_CALLTYPE UpdateTargetData(const SDK_VESSELS_NAMESPACE::OwnShipDeviceConfig &source_device, const SDK_NMEA_NAMESPACE::IParsedNMEASentenceDataSP &parsed_nmea_data, IUpdatedRadarSonarTargetsSP &updated_targets)=0
Updates Radar/Sonar target information or creates new target Valid source device is one of Radar/Sona...
PastTrackFoid2TargetFoid
RadarSonarTargetFOID PastTrackFoid2TargetFoid(const RadarSonarTargetFOID &past_track_foid)
Converts Radar/Sonar target past track FOID to appropriate Radar/Sonar target FOID.
Definition: radar_sonar_targets_interface.h:50
platform.h
Describes the platform constants.
ownship_device_config_interface.h
Describes the own ship devices configuration.
ownship_interface.h
Own Ship dataset/object interface.
IRadarSonarTargetsWorkspace
Radar/Sonar targets workspace.
Definition: radar_sonar_targets_interface.h:93
IRadarSonarTargetsDatasetEdit
AIS targets dataset.
Definition: radar_sonar_targets_interface.h:241
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
IUpdatedRadarSonarTargets
Set of updated radar/sonar target's.
Definition: radar_sonar_targets_interface.h:82
IRadarSonarTargetsDataset::SelectTarget
virtual SDKResult SDK_CALLTYPE SelectTarget(const RadarSonarTargetFOID &target_foid)=0
Selects target in dataset Implementation depends of currently used targets manager.
AttributeClassCode
ClassCode AttributeClassCode
Attribute class code type.
Definition: gdb_const.h:247
IRadarSonarTargetsDataset::RemoveTarget
virtual SDKResult SDK_CALLTYPE RemoveTarget(const RadarSonarTargetFOID &foid)=0
Removes one target entry from dataset by target's FOID.
IRadarSonarTargetsDataset::SourceDeviceIsLost
virtual SDKResult SDK_CALLTYPE SourceDeviceIsLost(const SDK_VESSELS_NAMESPACE::OwnShipDeviceConfig &source_device, IUpdatedRadarSonarTargetsSP &updated_targets)=0
Notification about source device is lost.
radar_sonar_targets_const.h
Set of specific for Radar/Sonar targets constants.
IRadarSonarTargetPastTrack
Single Radar/Sonar target past track.
Definition: radar_sonar_targets_interface.h:293
ais_targets_interface.h
AIS targets workspace/dataset/target interface.
RadarSonarTargetFOID
TargetFOID RadarSonarTargetFOID
Radar/Sonar target FOID definition.
Definition: radar_sonar_targets_const.h:34
IRadarSonarTargetsDataset::GetTarget
virtual SDKResult SDK_CALLTYPE GetTarget(const RadarSonarTargetFOID &foid, IRadarSonarTargetSP &target) const =0
Returns the target record by it's FOID.
IRadarSonarTargetsWorkspace::SetManager
virtual SDKResult SDK_CALLTYPE SetManager(const IRadarSonarTargetsManagerSP &manager)=0
Sets new instance of targets manager.
IRadarSonarTargetsDataset::GetTargetPastTrack
virtual SDKResult SDK_CALLTYPE GetTargetPastTrack(const RadarSonarTargetFOID &target_foid, IRadarSonarTargetPastTrackSP &target_past_track) const =0
Returns the target past track record by Radar/Sonar target FOID.
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
IRadarSonarTargetsDataset::GetOwnShip
virtual SDKResult SDK_CALLTYPE GetOwnShip(SDK_VESSELS_NAMESPACE::IOwnShipDatasetSP &own_ship_ds) const =0
Returns current own ship dataset instance.
IRadarSonarTargetsEnum
Radar/Sonar targets enumerator.
Definition: radar_sonar_targets_interface.h:315
IRadarSonarTargetsWorkspace::GetAISDatabase
virtual SDKResult SDK_CALLTYPE GetAISDatabase(IAISTargetsWorkspaceSP &ais_targets_database) const =0
Returns current AIS database instance for associated targets support.