![]() |
NAVTOR SDK
v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
|
Mariners' objects is a way to add both special mariners' objects such as clearing line, danger highlight, and other, and worldwide manual updates such as S57/S101 point objects and simple line and area objects as an additional chart layer. Mariners' objects geo-database is not linked to any other chart data, it creates an additional scale-independent worldwide layer.
Implementation of the mariners' objects is similar to the implementation of manual updating. However, there is a difference at the starting point: you should open a mariners' objects workspace using the workspace factory created with the SDK_MU_NAMESPACE::kMarinerObjectsWorkspaceFactoryCID class id.
The mariners' objects class id is defined in the /datalayer/inc/manual_updates/component_ids.h file.
Below is a sample of how to open a mariners' objects workspace:
using namespace SDK_NAMESPACE;
using namespace SDK_GDB_NAMESPACE;
using namespace SDK_MU_NAMESPACE;
IWorkspaceFactorySP wks_factory;
if (SDK_OK(GetComponentInstanceT< IWorkspaceFactory >(
kMarinerObjectsWorkspaceFactoryCID, &wks_factory))) {
// The application is responsible for the mariners' objects geo-database location
std::wstring path_to_mariner_objects = L"somepath";
IWorkspaceSP wks;
if (SDK_OK(wks_factory->OpenFromFile(ScopedString(path.value()),
NULL, &wks))) {
// To display mariners' objects on the screen, the application should add the returned workspace to the scene
}
}
Editing operations for mariners' objects are absolutely the same as those for manual updates; please refer to the Manual Updating guide.