Flutter Engine
The Flutter Engine
Functions
Cloud Anchors

Functions

 AR_DEFINE_ENUM (ArCloudAnchorState)
 
 AR_DEFINE_ENUM (ArCloudAnchorMode)
 

Detailed Description

The cloud state and configuration of an Anchor and the AR Session.

Function Documentation

◆ AR_DEFINE_ENUM() [1/2]

AR_DEFINE_ENUM ( ArCloudAnchorMode  )

Indicates the cloud configuration of the ArSession.

Anchor Hosting is disabled. This is the value set in the default ArConfig.

Anchor Hosting is enabled. Setting this value and calling configure() will require that the application have the Android INTERNET permission.

Definition at line 771 of file arcore_c_api.h.

771 {
772 /// Anchor Hosting is disabled. This is the value set in the default
773 /// ::ArConfig.
774 AR_CLOUD_ANCHOR_MODE_DISABLED = 0,
775 /// Anchor Hosting is enabled. Setting this value and calling @c configure()
776 /// will require that the application have the Android INTERNET permission.
777 AR_CLOUD_ANCHOR_MODE_ENABLED = 1};

◆ AR_DEFINE_ENUM() [2/2]

AR_DEFINE_ENUM ( ArCloudAnchorState  )

Describes the current cloud state of an Anchor.

The anchor is purely local. It has never been hosted using hostCloudAnchor, and has not been acquired using acquireCloudAnchor.

A hosting/resolving task for the anchor is in progress. Once the task completes in the background, the anchor will get a new cloud state after the next update() call.

A hosting/resolving task for this anchor completed successfully.

A hosting/resolving task for this anchor finished with an internal error. The app should not attempt to recover from this error.

The app cannot communicate with the ARCore Cloud because of an invalid or unauthorized API key in the manifest, or because there was no API key present in the manifest.

The ARCore Cloud was unreachable. This can happen because of a number of reasons. The request sent to the server could have timed out with no response, there could be a bad network connection, DNS unavailability, firewall issues, or anything that could affect the device's ability to connect to the ARCore Cloud.

The application has exhausted the request quota allotted to the given API key. The developer should request additional quota for the ARCore Cloud for their API key from the Google Developers Console.

Hosting failed, because the server could not successfully process the dataset for the given anchor. The developer should try again after the device has gathered more data from the environment.

Resolving failed, because the ARCore Cloud could not find the provided cloud anchor ID.

The server could not match the visual features provided by ARCore against the localization dataset of the requested cloud anchor ID. This means that the anchor pose being requested was likely not created in the user's surroundings.

The anchor could not be resolved because the SDK used to host the anchor was newer than and incompatible with the version being used to acquire it.

The anchor could not be acquired because the SDK used to host the anchor was older than and incompatible with the version being used to acquire it.

Definition at line 591 of file arcore_c_api.h.

591 {
592 /// The anchor is purely local. It has never been hosted using
593 /// hostCloudAnchor, and has not been acquired using acquireCloudAnchor.
594 AR_CLOUD_ANCHOR_STATE_NONE = 0,
595
596 /// A hosting/resolving task for the anchor is in progress. Once the task
597 /// completes in the background, the anchor will get a new cloud state after
598 /// the next update() call.
599 AR_CLOUD_ANCHOR_STATE_TASK_IN_PROGRESS = 1,
600
601 /// A hosting/resolving task for this anchor completed successfully.
602 AR_CLOUD_ANCHOR_STATE_SUCCESS = 2,
603
604 /// A hosting/resolving task for this anchor finished with an internal
605 /// error. The app should not attempt to recover from this error.
606 AR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL = -1,
607
608 /// The app cannot communicate with the ARCore Cloud because of an invalid
609 /// or unauthorized API key in the manifest, or because there was no API key
610 /// present in the manifest.
611 AR_CLOUD_ANCHOR_STATE_ERROR_NOT_AUTHORIZED = -2,
612
613 /// The ARCore Cloud was unreachable. This can happen because of a number of
614 /// reasons. The request sent to the server could have timed out with no
615 /// response, there could be a bad network connection, DNS unavailability,
616 /// firewall issues, or anything that could affect the device's ability to
617 /// connect to the ARCore Cloud.
618 AR_CLOUD_ANCHOR_STATE_ERROR_SERVICE_UNAVAILABLE = -3,
619
620 /// The application has exhausted the request quota allotted to the given
621 /// API key. The developer should request additional quota for the ARCore
622 /// Cloud for their API key from the Google Developers Console.
623 AR_CLOUD_ANCHOR_STATE_ERROR_RESOURCE_EXHAUSTED = -4,
624
625 /// Hosting failed, because the server could not successfully process the
626 /// dataset for the given anchor. The developer should try again after the
627 /// device has gathered more data from the environment.
628 AR_CLOUD_ANCHOR_STATE_ERROR_HOSTING_DATASET_PROCESSING_FAILED = -5,
629
630 /// Resolving failed, because the ARCore Cloud could not find the provided
631 /// cloud anchor ID.
632 AR_CLOUD_ANCHOR_STATE_ERROR_CLOUD_ID_NOT_FOUND = -6,
633
634 /// The server could not match the visual features provided by ARCore
635 /// against the localization dataset of the requested cloud anchor ID. This
636 /// means that the anchor pose being requested was likely not created in the
637 /// user's surroundings.
638 AR_CLOUD_ANCHOR_STATE_ERROR_RESOLVING_LOCALIZATION_NO_MATCH = -7,
639
640 /// The anchor could not be resolved because the SDK used to host the anchor
641 /// was newer than and incompatible with the version being used to acquire
642 /// it.
643 AR_CLOUD_ANCHOR_STATE_ERROR_RESOLVING_SDK_VERSION_TOO_OLD = -8,
644
645 /// The anchor could not be acquired because the SDK used to host the anchor
646 /// was older than and incompatible with the version being used to acquire
647 /// it.
648 AR_CLOUD_ANCHOR_STATE_ERROR_RESOLVING_SDK_VERSION_TOO_NEW = -9};