DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

ContentLayers.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed
3 // under the Mutual Non-Disclosure Agreement.
4 //
5 // Notice
6 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7 // NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9 // MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10 //
11 // NVIDIA Corporation assumes no responsibility for the consequences of use of such
12 // information or for any infringement of patents or other rights of third parties that may
13 // result from its use. No license is granted by implication or otherwise under any patent
14 // or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15 // expressly authorized by NVIDIA. Details are subject to change without notice.
16 // This code supersedes and replaces all information previously supplied.
17 // NVIDIA Corporation products are not authorized for use as critical
18 // components in life support devices or systems without express written approval of
19 // NVIDIA Corporation.
20 //
21 // Copyright (c) 2019 NVIDIA Corporation. All rights reserved.
22 //
23 // NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24 // rights in and to this software and related documentation and any modifications thereto.
25 // Any use, reproduction, disclosure or distribution of this software and related
26 // documentation without an express license agreement from NVIDIA Corporation is
27 // strictly prohibited.
28 //
30 
31 #ifndef DW_MAPS_CONTENTLAYERS_H_
32 #define DW_MAPS_CONTENTLAYERS_H_
33 
34 #include <dw/maps/MapProvider.h>
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 //#######################################################################################
41 // Content Layer
42 //#######################################################################################
43 
67 #define DW_MAPS_CONTENT_LAYER_ID_MAX_LENGTH 256
68 
74 
87 dwStatus dwMapsContentLayer_getId(dwMapsContentLayerId* id,
88  dwConstMapsContentLayerHandle_t contentLayerHandle);
89 
96 typedef enum dwMapsContentLayerType {
101 
117  dwConstMapsContentLayerHandle_t contentLayerHandle);
118 
121 //#######################################################################################
122 // Content Slice
123 //#######################################################################################
124 
165 typedef struct dwMapsContentSliceObject* dwMapsContentSliceHandle_t;
166 typedef struct dwMapsContentSliceObject const* dwConstMapsContentSliceHandle_t;
167 
182 dwStatus dwMapsContentSlice_initialize(dwMapsContentSliceHandle_t* contentSliceHandle,
183  size_t memoryInBytes,
184  size_t maxSegmentsPerLayout,
185  dwMapProviderHandle_t providerHandle);
186 
190 typedef uint64_t dwMapsContentUpdateToken;
191 
192 typedef struct dwMapsImageLayerViewObject const* dwConstMapsImageLayerViewHandle_t;
193 typedef struct dwMapsPointCloudLayerViewObject const* dwConstMapsPointCloudLayerViewHandle_t;
194 typedef struct dwMapsJunctionLayerViewObject* dwMapsJunctionLayerViewHandle_t;
195 typedef struct dwMapsLaneDividerLayerViewObject const* dwConstMapsLaneDividerLayerViewHandle_t;
196 typedef struct dwMapsLaneChannelLayerViewObject const* dwConstMapsLaneChannelLayerViewHandle_t;
197 typedef struct dwMapsRoadMarkingLayerViewObject const* dwConstMapsRoadMarkingLayerViewHandle_t;
198 typedef struct dwMapsPoleLayerViewObject const* dwConstMapsPoleLayerViewHandle_t;
199 
212 dwStatus dwMapsContentSlice_initializeImageLayerView(dwConstMapsImageLayerViewHandle_t* imageLayerViewHandle,
213  dwConstMapsContentLayerHandle_t imageLayerHandle,
214  dwMapsContentSliceHandle_t contentSliceHandle);
215 
228 dwStatus dwMapsContentSlice_initializePointCloudLayerView(dwConstMapsPointCloudLayerViewHandle_t* pointCloudLayerViewHandle,
229  dwConstMapsContentLayerHandle_t pointCloudLayer,
230  dwMapsContentSliceHandle_t contentSliceHandle);
231 
244 dwStatus dwMapsContentSlice_initializeJunctionLayerView(dwMapsJunctionLayerViewHandle_t* junctionLayerViewHandle,
245  dwConstMapsContentLayerHandle_t junctionLayerHandle,
246  dwMapsContentSliceHandle_t contentSliceHandle);
247 
260 dwStatus dwMapsContentSlice_initializeLaneDividerLayerView(dwConstMapsLaneDividerLayerViewHandle_t* laneDividerLayerViewHandle,
261  dwConstMapsContentLayerHandle_t laneDividerLayerHandle,
262  dwMapsContentSliceHandle_t contentSliceHandle);
263 
276 dwStatus dwMapsContentSlice_initializeLaneChannelLayerView(dwConstMapsLaneChannelLayerViewHandle_t* laneChannelLayerViewHandle,
277  dwConstMapsContentLayerHandle_t laneChannelLayerHandle,
278  dwMapsContentSliceHandle_t contentSliceHandle);
279 
292 dwStatus dwMapsContentSlice_initializeRoadMarkingLayerView(dwConstMapsRoadMarkingLayerViewHandle_t* roadMarkingLayerViewHandle,
293  dwConstMapsContentLayerHandle_t roadMarkingLayerHandle,
294  dwMapsContentSliceHandle_t contentSliceHandle);
295 
308 dwStatus dwMapsContentSlice_initializePoleLayerView(dwConstMapsPoleLayerViewHandle_t* poleLayerViewHandle,
309  dwConstMapsContentLayerHandle_t poleLayerHandle,
310  dwMapsContentSliceHandle_t contentSliceHandle);
311 
330 dwStatus dwMapsContentSlice_updateAsync(dwMapsContentUpdateToken* updateToken,
331  dwConstMapsLocalLayoutHandle_t localLayoutHandle,
332  uint32_t componentId,
333  dwMapsContentSliceHandle_t contentSliceHandle);
334 
346 dwStatus dwMapsContentSlice_tryCompleteUpdate(dwMapsContentUpdateToken updateToken,
347  dwMapsContentSliceHandle_t contentSliceHandle);
348 
359 dwStatus dwMapsContentSlice_release(dwMapsContentSliceHandle_t contentSliceHandle);
360 
363 #ifdef __cplusplus
364 }
365 #endif
366 
367 #endif // DW_MAPS_CONTENTLAYERS_H_
DW_API_PUBLIC dwStatus dwMapsContentLayer_getType(dwMapsContentLayerType *contentLayerType, dwConstMapsContentLayerHandle_t contentLayerHandle)
Get the type of the content layer.
Defined by layers/ImageLayer.h.
Definition: ContentLayers.h:98
DW_API_PUBLIC dwStatus dwMapsContentSlice_initializePointCloudLayerView(dwConstMapsPointCloudLayerViewHandle_t *pointCloudLayerViewHandle, dwConstMapsContentLayerHandle_t pointCloudLayer, dwMapsContentSliceHandle_t contentSliceHandle)
Get local view of a point cloud layer in the content slice.
struct dwMapsImageLayerViewObject const * dwConstMapsImageLayerViewHandle_t
DW_API_PUBLIC dwStatus dwMapsContentLayer_getId(dwMapsContentLayerId *id, dwConstMapsContentLayerHandle_t contentLayerHandle)
Get the human-readable identifier for the layer.
struct dwMapsContentLayerObject const * dwConstMapsContentLayerHandle_t
Forward declaration of content layer handle.
Definition: MapProvider.h:160
DW_API_PUBLIC dwStatus dwMapsContentSlice_updateAsync(dwMapsContentUpdateToken *updateToken, dwConstMapsLocalLayoutHandle_t localLayoutHandle, uint32_t componentId, dwMapsContentSliceHandle_t contentSliceHandle)
Updates sliced content layers with the specified local layout and component ID.
DW_API_PUBLIC dwStatus dwMapsContentSlice_initializeImageLayerView(dwConstMapsImageLayerViewHandle_t *imageLayerViewHandle, dwConstMapsContentLayerHandle_t imageLayerHandle, dwMapsContentSliceHandle_t contentSliceHandle)
Get local view of an image layer in the content slice.
struct dwMapsLaneDividerLayerViewObject const * dwConstMapsLaneDividerLayerViewHandle_t
DW_API_PUBLIC dwStatus dwMapsContentSlice_initializeLaneDividerLayerView(dwConstMapsLaneDividerLayerViewHandle_t *laneDividerLayerViewHandle, dwConstMapsContentLayerHandle_t laneDividerLayerHandle, dwMapsContentSliceHandle_t contentSliceHandle)
Create a local view of the lane divider layer in the content slice.
struct dwMapsContentSliceObject * dwMapsContentSliceHandle_t
DW_API_PUBLIC dwStatus dwMapsContentSlice_release(dwMapsContentSliceHandle_t contentSliceHandle)
Release content slice handle.
Defined by layers/PointCloudLayer.h.
Definition: ContentLayers.h:99
char dwMapsContentLayerId[DW_MAPS_CONTENT_LAYER_ID_MAX_LENGTH]
Human-readable identifier for a content layer.
Definition: ContentLayers.h:73
uint64_t dwMapsContentUpdateToken
Token for completion of a content slice update.
dwStatus
Status definition.
Definition: Status.h:178
struct dwMapsJunctionLayerViewObject * dwMapsJunctionLayerViewHandle_t
DW_API_PUBLIC dwStatus dwMapsContentSlice_initializeLaneChannelLayerView(dwConstMapsLaneChannelLayerViewHandle_t *laneChannelLayerViewHandle, dwConstMapsContentLayerHandle_t laneChannelLayerHandle, dwMapsContentSliceHandle_t contentSliceHandle)
Create a local view of the lane channel layer in the content slice.
dwMapsContentLayerType
Types of content layers which may be available in a map.
Definition: ContentLayers.h:96
DW_API_PUBLIC dwStatus dwMapsContentSlice_tryCompleteUpdate(dwMapsContentUpdateToken updateToken, dwMapsContentSliceHandle_t contentSliceHandle)
Attempts to complete an asynchronous sliced content update with the provided token.
DW_API_PUBLIC dwStatus dwMapsContentSlice_initializePoleLayerView(dwConstMapsPoleLayerViewHandle_t *poleLayerViewHandle, dwConstMapsContentLayerHandle_t poleLayerHandle, dwMapsContentSliceHandle_t contentSliceHandle)
Create a local view of the pole layer in the content slice.
struct dwMapsPoleLayerViewObject const * dwConstMapsPoleLayerViewHandle_t
#define DW_MAPS_CONTENT_LAYER_ID_MAX_LENGTH
Maximum length of a content layer name including NULL terminator.
Definition: ContentLayers.h:67
DW_API_PUBLIC dwStatus dwMapsContentSlice_initializeRoadMarkingLayerView(dwConstMapsRoadMarkingLayerViewHandle_t *roadMarkingLayerViewHandle, dwConstMapsContentLayerHandle_t roadMarkingLayerHandle, dwMapsContentSliceHandle_t contentSliceHandle)
Create a local view of the road marking layer in the content slice.
struct dwMapsLaneChannelLayerViewObject const * dwConstMapsLaneChannelLayerViewHandle_t
DW_API_PUBLIC dwStatus dwMapsContentSlice_initialize(dwMapsContentSliceHandle_t *contentSliceHandle, size_t memoryInBytes, size_t maxSegmentsPerLayout, dwMapProviderHandle_t providerHandle)
Creates a new content slice, which efficiently loads and serves layered content transformed into a ca...
struct dwMapProviderObject * dwMapProviderHandle_t
Definition: MapProvider.h:77
struct dwMapsContentSliceObject const * dwConstMapsContentSliceHandle_t
DW_API_PUBLIC dwStatus dwMapsContentSlice_initializeJunctionLayerView(dwMapsJunctionLayerViewHandle_t *junctionLayerViewHandle, dwConstMapsContentLayerHandle_t junctionLayerHandle, dwMapsContentSliceHandle_t contentSliceHandle)
Create a local view of a junction layer in the content slice.
struct dwMapsLocalLayoutObject const * dwConstMapsLocalLayoutHandle_t
Definition: Maps.h:72
struct dwMapsPointCloudLayerViewObject const * dwConstMapsPointCloudLayerViewHandle_t
struct dwMapsRoadMarkingLayerViewObject const * dwConstMapsRoadMarkingLayerViewHandle_t
#define DW_API_PUBLIC
Definition: Exports.h:56
Content layer has unknown type.
Definition: ContentLayers.h:97