Skip to main content

class ARDeviceMappingManager

(Niantic.Lightship.AR.Mapping.ARDeviceMappingManager)

Overview​

ARDeviceMappingManager can be used to generate device map and set the device map to track

	class ARDeviceMappingManager: MonoBehaviour {
public:
// properties

DeviceMapAccessController DeviceMapAccessController;
DeviceMappingController DeviceMappingController;
ARDeviceMap ARDeviceMap;
uint MappingTargetFrameRate;
float MappingSplitterMaxDistanceMeters;
float MappingSplitterMaxDurationSeconds;
bool MapUploadEnabled;
bool IsMappingInProgress;

// events

event DeviceMapUpdated();
event DeviceMapFinalized();

// methods

IEnumerator RestartModuleAsyncCoroutine();
void StartMapping();
void StopMapping();
void SetDeviceMap(ARDeviceMap arDeviceMap);

void ExtractMapMetadata(
out Vector3[] points,
out float[] errors,
out Vector3 center,
out string mapType
);
};

Detailed Documentation​

ARDeviceMappingManager can be used to generate device map and set the device map to track

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

Properties​

DeviceMapAccessController​

DeviceMapAccessController DeviceMapAccessController

Get DeviceMapAccessController, which provides primitive access to the device map and related info

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

DeviceMappingController​

DeviceMappingController DeviceMappingController

Get DeviceMappingController, which provides primitive API for device mapping

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

ARDeviceMap​

ARDeviceMap ARDeviceMap

Get the ARDeviceMap object in this manager

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

MappingTargetFrameRate​

uint MappingTargetFrameRate

Property access for mapping speed

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

MappingSplitterMaxDistanceMeters​

float MappingSplitterMaxDistanceMeters

Property access for map splitting criteria by distance

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

MappingSplitterMaxDurationSeconds​

float MappingSplitterMaxDurationSeconds

Property access for map splitting criteria by time

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

MapUploadEnabled​

bool MapUploadEnabled

Property access for whether map upload will be enabled during mapping Set this property before StartMapping()

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

IsMappingInProgress​

bool IsMappingInProgress

A state if mapping is in progress or not. True is mapping is ongoing. Becomes false after calling StopMapping()

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

Events​

DeviceMapUpdated​

event DeviceMapUpdated()

An event when device map data has been updated

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

DeviceMapFinalized​

event DeviceMapFinalized()

An event when device map is finalized and ready to save

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

Methods​

RestartModuleAsyncCoroutine​

IEnumerator RestartModuleAsyncCoroutine()

Asynchronously restarts the underlying module with the current configuration.

StartMapping​

void StartMapping()

Start map generation

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

StopMapping​

void StopMapping()

Stop map generation

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

SetDeviceMap​

void SetDeviceMap(ARDeviceMap arDeviceMap)

Set a Device Map to track. Use when loading a serialized device map and track it.

.. note::

This is an experimental feature, and is subject to breaking changes or deprecation without notice

    Parameters:

    arDeviceMap - ARDeviceMap to track

ExtractMapMetadata​

void ExtractMapMetadata(
out Vector3[] points,
out float[] errors,
out Vector3 center,
out string mapType
)

Extract map metadata from the currently set device map. Could be used for debugging and/or visual user feedback where map is

    Parameters:

    points - feature points coordinates relative to the anchor/map center

    errors - estimated errors of each points. Smaller error points could be more significant feature points

    center - center point coordinates in the mapped coordinate system