 |
NAVTOR SDK
v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
|
|
Go to the documentation of this file.
9 #ifndef SDK_GDB_CONST_H_
10 #define SDK_GDB_CONST_H_
16 #ifndef SDK_GDB_NAMESPACE
17 #define SDK_GDB_NAMESPACE SDK_NAMESPACE::gdb
18 #endif // SDK_GDB_NAMESPACE
20 #ifndef SDK_GDB_BEGIN_NAMESPACE
21 #define SDK_GDB_BEGIN_NAMESPACE namespace SDK_NAMESPACE { \
23 #endif // SDK_GDB_BEGIN_NAMESPACE
25 #ifndef SDK_GDB_END_NAMESPACE
26 #define SDK_GDB_END_NAMESPACE } }
27 #endif // SDK_GDB_END_NAMESPACE
29 SDK_GDB_BEGIN_NAMESPACE
37 static const double kInfiniteDegree = 361.0;
39 typedef SDKUInt32 DatasetID;
40 #define DatasetID_SDKAnyType kSDKAnyType_Uint32
41 #define DatasetID_SDKAnyValue(v) ANY_UI32(v)
42 typedef SDKUInt8 WorkspaceID;
43 #define ObjectID_SDKAnyType kSDKAnyType_Uint64
44 #define ObjectID_SDKAnyValue(v) ANY_UI64(v)
46 #define DatasetID_SlaveDatasetMask 0x00C00000
47 #define DatasetID_MakeID(workspace, dataset) \
48 ((static_cast<sdk::gdb::DatasetID>(workspace) << 24) | (dataset & 0x003FFFFF))
49 #define DatasetID_MakeID_ForSlaveDataset(workspace, dataset, slave_dataset) \
50 (DatasetID_MakeID(workspace, dataset) | \
51 ((slave_dataset << 22) & DatasetID_SlaveDatasetMask))
52 #define DatasetID_DatasetID(did) \
53 static_cast<sdk::gdb::DatasetID>(did & 0x003FFFFF)
54 #define DatasetID_MarkSlaveDataset(did, slave_dataset) \
55 (did | ((slave_dataset << 22) & DatasetID_SlaveDatasetMask))
56 #define DatasetID_Native(did) (did & ~DatasetID_SlaveDatasetMask)
57 #define DatasetID_WorkspaceID(did) static_cast<sdk::gdb::WorkspaceID>(did >> 24)
58 #define DatasetID_WorkspaceID_MaxValue 255
59 #define DatasetID_WorkspaceID_ExternalUser 220
60 #define DatasetID_WorkspaceID_InternalUser 200
62 typedef enum WorkspaceID_InternalUser {
63 kWorkspaceID_InternalUser_OwnShip = DatasetID_WorkspaceID_InternalUser,
64 kWorkspaceID_InternalUser_RadarTargets,
65 kWorkspaceID_InternalUser_AISTargets,
66 kWorkspaceID_InternalUser_Routes,
67 kWorkspaceID_InternalUser_TotalTide,
68 kWorkspaceID_InternalUser_ADP,
69 kWorkspaceID_InternalUser_ARCS,
70 } WorkspaceID_InternalUser;
72 static const char kWorkspace_InternalUser_Name_OwnShip[] =
"Workspace_OwnShip";
73 static const char kWorkspace_InternalUser_Name_RadarTargets[] =
74 "Workspace_RadarTargets";
75 static const char kWorkspace_InternalUser_Name_AISTargets[] =
76 "Workspace_AISTargets";
77 static const char kWorkspace_InternalUser_Name_Routes[] =
79 static const char kWorkspace_InternalUser_Name_TotalTide[] =
80 "Workspace_TotalTide";
81 static const char kWorkspace_InternalUser_Name_ADP[] =
83 static const char kWorkspace_InternalUser_Name_LOP[] =
85 static const char kWorkspace_InternalUser_Name_ARCS[] =
88 #if defined(__cplusplus)
89 inline bool IsEqualDatasetID(
const sdk::gdb::DatasetID& did1,
90 const DatasetID& did2) {
91 return (did1 == did2);
93 inline void InitDatasetID(sdk::gdb::DatasetID& _did) { _did = -1; }
94 inline bool IsNullDatasetID(
const DatasetID& did) {
95 return (did ==
static_cast<SDKUInt32
>(-1));
97 inline bool IsSlaveDataset(
const DatasetID& did) {
98 return (did & DatasetID_SlaveDatasetMask) ? true :
false;
101 #define IsEqualDatasetID(did1, did2) (did1 == did2)
102 #define InitDatasetID(did) did = -1;
103 #define IsNullDatasetID(did) (did == -1)
104 #define IsSlaveDataset(did) (did & DatasetID_SlaveDatasetFlag)
122 #define ObjectID_OID(section, record) \
123 ((static_cast<SDKUInt32>(section) << 24) | (record & 0x00FFFFFF))
124 #define ObjectID_Record(id) \
125 static_cast<sdk::gdb::senc::UInt32>(id.oid & 0x00FFFFFF)
126 #define ObjectID_Section(id) \
127 static_cast<sdk::gdb::senc::SECI_ENUM>(id.oid >> 24)
128 #define ObjectID_DatasetID(id) DatasetID_DatasetID(id.did)
129 #define ObjectID_WorkspaceID(id) DatasetID_WorkspaceID(id.did)
130 #define ObjectID_MakeObjectID(did, oid) \
131 ((did & 0x00000000FFFFFFFFULL) | \
132 ((static_cast<SDKUInt64>(oid) << 32) & 0xFFFFFFFF00000000ULL))
134 #if defined(__cplusplus)
137 return (IsEqualDatasetID(oid1.
did, oid2.
did) && (oid1.
oid == oid2.
oid));
141 return IsEqualObjectID(oid1, oid2);
144 inline void InitObjectID(
ObjectID& oid) {InitDatasetID(oid.
did); oid.
oid = 0;}
145 inline bool IsNullObjectID(
const ObjectID& oid) {
146 return (IsNullDatasetID(oid.
did) && (oid.
oid == 0));
149 #define IsEqualObjectID(oid1, oid2) \
150 (IsEqualDatasetID(oid1.did, oid2.did) && (oid1.oid == oid2.oid))
151 #define InitObjectID(oid) \
152 InitDatasetID(oid.did) oid.oid = 0;
153 #define IsNullObjectID(oid) \
154 (IsNullDatasetID(oid.did) && (oid.oid == 0))
165 static const RCID kUndefinedRCID = -1;
166 static const RCID kDeprecatedRCID = 0;
186 const FOID kNULL_FOID = {0};
187 const MU_FOID kNULL_MU_FOID = {0};
189 inline bool IsNullFOID(
const FOID& foid) {
190 return (kNULL_FOID.foid == foid.foid);
193 inline bool IsNullMU_FOID(
const MU_FOID& foid) {
194 return (kNULL_FOID.foid == foid.foid);
197 inline void InitFOID(
FOID& foid) {
198 foid.foid = kNULL_FOID.foid;
201 inline void InitMU_FOID(MU_FOID& foid) {
202 foid.foid = kNULL_FOID.foid;
207 inline FOID GetMUFoidFromChartObjectRCID(
const RCID& chart_obj_rcid) {
211 foid.
fidn = chart_obj_rcid;
216 #if defined(__cplusplus)
217 inline bool IsEqualFOID(
const FOID& foid1,
const FOID& foid2) {
222 #define IsEqualFOID(foid1, foid2) \
223 (foid1.agen == foid2.agen && foid1.fidn == foid2.fidn \
224 && foid1.fids == foid2.fids)
230 #define ClassCode_SDKAnyType kSDKAnyType_Uint32
231 #define ClassCode_SDKAnyValue(v) ANY_UI32(v)
254 #define PRSP_SDKAnyType kSDKAnyType_Uint32
255 #define PRSP_SDKAnyValue(v) ANY_UI32(v)
328 typedef enum DebugFlags {
329 kDebugFlag_WorkspaceDatasetList = 1,
330 kDebugFlag_WorkspaceDatasetListCount = 2,
333 static const SDKUInt32 kScaleMin_InvalidValue = 0;
334 static const SDKUInt32 kScaleMax_InvalidValue = -1;
336 SDK_GDB_END_NAMESPACE
338 #endif // SDK_GDB_CONST_H_
@ kPRSP_OVERVIEW_CHART
Overview charts.
Definition: gdb_const.h:273
@ kPRSP_InlandENC
Inland Nautical charts.
Definition: gdb_const.h:264
@ kPRSP_LoadLines
Load lines.
Definition: gdb_const.h:289
@ kPRSP_RADAR
RADAR.
Definition: gdb_const.h:278
@ kPRSP_ARPA
ARPA targets.
Definition: gdb_const.h:276
PRSPEnum
Specifies values for the product specification aka PRSP.
Definition: gdb_const.h:259
@ kPRSP_AML3
AML3 - All layers.
Definition: gdb_const.h:271
@ kPRSP_MarinerObjects
Mariner's objects.
Definition: gdb_const.h:280
@ kPRSP_S107
Ice charts.
Definition: gdb_const.h:263
@ kPRSP_SignalsVol6
Radio Signals vol.6.
Definition: gdb_const.h:284
RelationshipRole
Definition of the Relation role.
Definition: gdb_const.h:305
@ kPRSP_Navareas
Navareas warnings.
Definition: gdb_const.h:286
SDKUInt32 OID
Feature internal identifier.
Definition: gdb_const.h:109
@ kPRSP_AIS
AIS targets.
Definition: gdb_const.h:277
@ kPRSP_Ports
Ports data.
Definition: gdb_const.h:297
@ kPRSP_ListOfLights
List Of Lights.
Definition: gdb_const.h:282
@ kRelationshipRole_Master
Master.
Definition: gdb_const.h:307
@ kPRSP_Repareas
Reporting areas.
Definition: gdb_const.h:291
@ kRelationshipClass_ManualUpdatesHistory
MU history list.
Definition: gdb_const.h:322
@ kPRSP_MARPOL
MARPOL. Marine pollution.
Definition: gdb_const.h:293
@ kPRSP_TotalTide
Total Tide.
Definition: gdb_const.h:279
@ kPRSP_S101
S-101/S-57 Nautical charts.
Definition: gdb_const.h:261
@ kRelationshipClass_AssociationMaster
Reference to master associations.
Definition: gdb_const.h:318
@ kPRSP_AeNPCatalogue
eNP Catalogue from AeNP SDK.
Definition: gdb_const.h:287
@ kRelationshipClass_PeerToPeer
Peer To Peer relationship.
Definition: gdb_const.h:316
@ kPRSP_NavtexObjects
Navtex objects.
Definition: gdb_const.h:281
@ kRelationshipClass_ManualUpdatesHistoryBackward
MU history list.
Definition: gdb_const.h:323
@ kPRSP_OWNSHIP
Own ship.
Definition: gdb_const.h:275
@ kPRSP_AML12_ESB
AML1&2 - Environment, Seabed and Beach.
Definition: gdb_const.h:269
@ kRelationshipClass_MasterSlave
Master.
Definition: gdb_const.h:315
static const SDKUInt32 kAnyClassCode
Any class code.
Definition: gdb_const.h:238
@ kPRSP_SignalsVol2
Radio Signals vol.2.
Definition: gdb_const.h:283
@ kPRSP_TimeZones
Time zones.
Definition: gdb_const.h:292
SDKUInt32 PRSP
Product specification.
Definition: gdb_const.h:250
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
@ kRelationshipClass_SpatialAssociation
Reference to spatially associated features.
Definition: gdb_const.h:317
@ kRelationshipClass_RCID
Relation to RCID.
Definition: gdb_const.h:319
@ kSDKAnyType_Uint32
unsigned integer 32 bit value
Definition: base_types.h:142
@ kPRSP_Weather_New
Weather data.
Definition: gdb_const.h:296
DatasetID did
Dataset identifier.
Definition: gdb_const.h:118
SDKUInt32 ClassCode
Definition of the ClassCode types.
Definition: gdb_const.h:229
Feature object global identifier.
Definition: gdb_const.h:170
SDKUInt32 fidn
Feature identification number.
Definition: gdb_const.h:175
@ kPRSP_AIO
Admiralty information overlay.
Definition: gdb_const.h:272
@ kPRSP_AML12_CLB
AML1&2 - Contour Line Bathymetry.
Definition: gdb_const.h:268
Common base SDK interfaces.
SDKUInt64 RAW_OID
Feature raw identifier.
Definition: gdb_const.h:111
@ kPRSP_Service
Service.
Definition: gdb_const.h:290
@ kPRSP_Weather_Old
Weather data.
Definition: gdb_const.h:295
OID oid
Object identification number.
Definition: gdb_const.h:119
static const SDKUInt32 kSDKAnyType_PRSP
Any type PRSP.
Definition: gdb_const.h:253
Object identifier.
Definition: gdb_const.h:115
ClassCode FeatureClassCode
Feature class code type.
Definition: gdb_const.h:244
@ kPRSP_AML12_SBO
AML1&2 - Small Bottom Objects.
Definition: gdb_const.h:270
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
@ kPRSP_ARCS
ARCS raster charts.
Definition: gdb_const.h:288
@ kPRSP_IENC_Bathymetry
Inland Nautical charts (bathymetry).
Definition: gdb_const.h:294
SDKUInt16 fids
Feature identification subdivision.
Definition: gdb_const.h:174
@ kPRSP_VESSELS
Vessels.
Definition: gdb_const.h:274
@ kRelationshipClass_Any
Return all classes.
Definition: gdb_const.h:314
@ kPRSP_Unknown
Unknown PRSP.
Definition: gdb_const.h:260
@ kRelationshipRole_Slave
Slave.
Definition: gdb_const.h:308
ClassCode AttributeClassCode
Attribute class code type.
Definition: gdb_const.h:247
@ kPRSP_AML12_Routes
AML1&2 - Areas and Limits RAL.
Definition: gdb_const.h:266
@ kPRSP_AML12_MFF
AML1&2 - Maritime Foundation and Facilities.
Definition: gdb_const.h:265
SDKUInt32 RCID
NULL object identifier.
Definition: gdb_const.h:163
RelationshipClass
Definition of the Relationship class.
Definition: gdb_const.h:313
@ kRelationshipClass_ManualUpdates
Relation to manual updates.
Definition: gdb_const.h:320
@ kPRSP_AML12_LBO
AML1&2 - Large Bottom Objects.
Definition: gdb_const.h:267
@ kRelationshipRole_Any
Return all roles.
Definition: gdb_const.h:306
@ kPRSP_S106
Route.
Definition: gdb_const.h:262
@ kPRSP_SignalsVol1345
Radio Signals vol.1345.
Definition: gdb_const.h:285
SDKUInt16 agen
Producing agency.
Definition: gdb_const.h:173
static const SDKUInt16 SDK_MAX_UINT16
Max limit of 16-bit unsigned integer.
Definition: platform.h:172
static const SDKUInt32 kInvalidClassCode
Invalid class code.
Definition: gdb_const.h:235
@ kRelationshipClass_FOID
Relation to FOID.
Definition: gdb_const.h:321