Retrieval interface for "sliced" data access from Content Layer(s).
- Note
- SW Release Applicability: These APIs are available in NVIDIA DRIVE Software releases.
The DRIVE Maps API is designed to handle optional and data-intensive content with a flexible loading strategy, where the tradeoff between map extents and content density can be flexibily managed for different real-world use cases.
1) For example, building a large scale lane graph for planning purposes may require a request of the "core map" with scope of several kilometers of the planned route. In such cases a route-based map request without layers via the Map Provider API should be adequate.
2) In a contrasting example, the localization system will require a richer view of the map including images, point clouds and/or voxels, but scoped to the local environment for example in a 200x200 meter box around the vehicle.
Content Slice is intended to address use case 2) by loading Content Layers into memory on-demand, using the Local Layout as a key to access content and to provide structure to the local graph of road segment coordinate systems.
Content Layers are partitioned (sliced) according to a provided Local Layout and content is loaded efficiently with caching of segments where possible.
Layer Views are obtained from the Content Slice providing access to loaded content in a caller-defined local coordinate system.
In cases where backing data for a Content Layer has not been requested or cached from previous requests, content getters on the Layer View object will fail with DW_NOT_AVAILABLE.
NOTE: The local availabilty of data for a Content Layer can be guaranteed by making a map request including all required layers via the Map Provider API.
|
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 caller-defined local coordinate system. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
DW_API_PUBLIC dwStatus | dwMapsContentSlice_release (dwMapsContentSliceHandle_t contentSliceHandle) |
| Release content slice handle. More...
|
|
DW_API_PUBLIC dwStatus | dwMapsContentSlice_tryCompleteUpdate (dwMapsContentUpdateToken updateToken, dwMapsContentSliceHandle_t contentSliceHandle) |
| Attempts to complete an asynchronous sliced content update with the provided token. More...
|
|
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. More...
|
|
◆ dwConstMapsContentSliceHandle_t
◆ dwConstMapsImageLayerViewHandle_t
◆ dwConstMapsLaneChannelLayerViewHandle_t
◆ dwConstMapsLaneDividerLayerViewHandle_t
◆ dwConstMapsPointCloudLayerViewHandle_t
◆ dwConstMapsPoleLayerViewHandle_t
◆ dwConstMapsRoadMarkingLayerViewHandle_t
◆ dwMapsContentSliceHandle_t
◆ dwMapsContentUpdateToken
Token for completion of a content slice update.
Definition at line 190 of file ContentLayers.h.
◆ dwMapsJunctionLayerViewHandle_t
◆ dwMapsContentSlice_initialize()
Creates a new content slice, which efficiently loads and serves layered content transformed into a caller-defined local coordinate system.
- Parameters
-
[out] | contentSliceHandle | Content slice handle to be initialized |
[in] | memoryInBytes | Memory in bytes needed for view layers |
[in] | maxSegmentsPerLayout | Maximum road segments per local layout |
[in] | providerHandle | Handle to provider of content layers |
- Returns
- DW_SUCCESS contentSliceHandle is successfully initialized.
DW_INVALID_ARGUMENT contentSliceHandle or layers are nullptr.
DW_BAD_ALLOC Allocation failure based on provided arguments.
◆ dwMapsContentSlice_initializeImageLayerView()
Get local view of an image layer in the content slice.
- Parameters
-
[out] | imageLayerViewHandle | Handle to the image layer view. |
[in] | imageLayerHandle | Handle to the image layer. |
[in] | contentSliceHandle | Handle to the content slice. |
- Returns
- DW_SUCCESS Successfully obtained imageLayerViewHandle.
DW_INVALID_ARGUMENT contentSliceHandle is nullptr.
DW_BAD_CAST Could not successfully cast handle to content slice object.
◆ dwMapsContentSlice_initializeJunctionLayerView()
Create a local view of a junction layer in the content slice.
- Parameters
-
[out] | junctionLayerViewHandle | The junction layer view |
[in] | junctionLayerHandle | The junction layer handle |
[in] | contentSliceHandle | The content slice handle |
- Returns
- DW_SUCCESS Successfully obtained junctionLayerViewHandle
DW_INVALID_ARGUMENT contentSliceHandle is nullptr.
DW_BAD_CAST Could not successfully cast handle to content slice object.
◆ dwMapsContentSlice_initializeLaneChannelLayerView()
Create a local view of the lane channel layer in the content slice.
- Parameters
-
[out] | laneChannelLayerViewHandle | The channel layer view |
[in] | laneChannelLayerHandle | The channel layer handle |
[in] | contentSliceHandle | The content slice handle |
- Returns
- DW_SUCCESS Successfully obtained laneChannelLayerViewHandle
DW_INVALID_ARGUMENT contentSliceHandle is nullptr.
DW_BAD_CAST Could not successfully cast handle to content slice object.
◆ dwMapsContentSlice_initializeLaneDividerLayerView()
Create a local view of the lane divider layer in the content slice.
- Parameters
-
[out] | laneDividerLayerViewHandle | The divider layer view |
[in] | laneDividerLayerHandle | The divider layer handle |
[in] | contentSliceHandle | The content slice handle |
- Returns
- DW_SUCCESS Successfully obtained laneDividerLayerViewHandle
DW_INVALID_ARGUMENT contentSliceHandle is nullptr.
DW_BAD_CAST Could not successfully cast handle to content slice object.
◆ dwMapsContentSlice_initializePointCloudLayerView()
Get local view of a point cloud layer in the content slice.
- Parameters
-
[out] | pointCloudLayerViewHandle | Handle to the point cloud layer view. |
[in] | pointCloudLayer | Handle to the point cloud layer. |
[in] | contentSliceHandle | Handle to the content slice. |
- Returns
- DW_SUCCESS Successfully obtained pointCloudLayerViewHandle
DW_INVALID_ARGUMENT contentSliceHandle is nullptr.
DW_BAD_CAST Could not successfully cast handle to content slice object.
◆ dwMapsContentSlice_initializePoleLayerView()
Create a local view of the pole layer in the content slice.
- Parameters
-
[out] | poleLayerViewHandle | The pole layer view |
[in] | poleLayerHandle | The pole layer handle |
[in] | contentSliceHandle | The content slice handle |
- Returns
- DW_SUCCESS Successfully obtained poleLayerViewHandle
DW_INVALID_ARGUMENT contentSliceHandle is nullptr.
DW_BAD_CAST Could not successfully cast handle to content slice object.
◆ dwMapsContentSlice_initializeRoadMarkingLayerView()
Create a local view of the road marking layer in the content slice.
- Parameters
-
[out] | roadMarkingLayerViewHandle | The road marking layer view |
[in] | roadMarkingLayerHandle | The road marking layer handle |
[in] | contentSliceHandle | The content slice handle |
- Returns
- DW_SUCCESS Successfully obtained roadMarkingLayerViewHandle
DW_INVALID_ARGUMENT contentSliceHandle is nullptr.
DW_BAD_CAST Could not successfully cast handle to content slice object.
◆ dwMapsContentSlice_release()
Release content slice handle.
- Parameters
-
[in] | contentSliceHandle | Content slice handle to be released |
- Returns
- DW_SUCCESS Successfully released image layout object and handle.
DW_INVALID_ARGUMENT contentSliceHandle is nullptr.
DW_BAD_CAST Could not successfully cast handle to image layout object.
◆ dwMapsContentSlice_tryCompleteUpdate()
Attempts to complete an asynchronous sliced content update with the provided token.
- Parameters
-
[out] | updateToken | Token used to retrieve updated content layer views. |
[in] | contentSliceHandle | Content slice object to update. |
- Returns
- DW_SUCCESS Successfully completed content update with the provider token.
DW_NOT_READY Update cannot be completed because content is loading.
DW_BAD_CAST Could not successfully cast handle to content slice object.
◆ dwMapsContentSlice_updateAsync()
Updates sliced content layers with the specified local layout and component ID.
This call will modify the state of all content layer views which may have been obtained from the content slice. If backing data for a view is not yet updated, method calls on content layer views for the slice should return DW_NOT_READY.
- Parameters
-
[out] | updateToken | Token used to complete content update. |
[in] | localLayoutHandle | Local layout handle to use for content update. |
[in] | componentId | Id of the connected component (0 < componentId < numComponents). |
[in] | contentSliceHandle | Content slice object to update. |
- Returns
- DW_SUCCESS Successfully updated content with the given local layout.
DW_INVALID_ARGUMENT Null or otherwise invalid argument was provided.
DW_FAILURE Content layers could not be updated for the slice.
DW_BAD_CAST Could not successfully cast handle to content slice object.