Configuration

Session configuration.

Summary

Enumerations

ArAugmentedFaceMode{
  AR_AUGMENTED_FACE_MODE_DISABLED = 0,
  AR_AUGMENTED_FACE_MODE_MESH3D = 2
}
enum
Selects the behavior of Augmented Faces subsystem.
ArFocusMode{
  AR_FOCUS_MODE_FIXED = 0,
  AR_FOCUS_MODE_AUTO = 1
}
enum
Selects the desired behavior of the camera focus subsystem.
ArLightEstimationMode{
  AR_LIGHT_ESTIMATION_MODE_DISABLED = 0,
  AR_LIGHT_ESTIMATION_MODE_AMBIENT_INTENSITY = 1,
  AR_LIGHT_ESTIMATION_MODE_ENVIRONMENTAL_HDR = 2
}
enum
Select the behavior of the lighting estimation subsystem.
ArPlaneFindingMode{
  AR_PLANE_FINDING_MODE_DISABLED = 0,
  AR_PLANE_FINDING_MODE_HORIZONTAL = 1,
  AR_PLANE_FINDING_MODE_VERTICAL = 2,
  AR_PLANE_FINDING_MODE_HORIZONTAL_AND_VERTICAL = 3
}
enum
Select the behavior of the plane detection subsystem.
ArUpdateMode{
  AR_UPDATE_MODE_BLOCKING = 0,
  AR_UPDATE_MODE_LATEST_CAMERA_IMAGE = 1
}
enum
Selects the behavior of ArSession_update().

Typedefs

ArConfig typedef
struct ArConfig_
An opaque session configuration object (value type).

Functions

ArConfig_create(const ArSession *session, ArConfig **out_config)
void
Creates a new configuration object and initializes it to a sensible default configuration.
ArConfig_destroy(ArConfig *config)
void
Releases memory used by the provided configuration object.
ArConfig_getAugmentedFaceMode(const ArSession *session, const ArConfig *config, ArAugmentedFaceMode *augmented_face_mode)
void
Stores the currently configured augmented face mode into *augmented_face_mode.
ArConfig_getAugmentedImageDatabase(const ArSession *session, const ArConfig *config, ArAugmentedImageDatabase *out_augmented_image_database)
void
Returns the image database from the session configuration.
ArConfig_getCloudAnchorMode(const ArSession *session, const ArConfig *config, ArCloudAnchorMode *out_cloud_anchor_mode)
void
Gets the current cloud anchor mode from the ArConfig.
ArConfig_getFocusMode(const ArSession *session, ArConfig *config, ArFocusMode *focus_mode)
void
Stores the currently configured focus mode into *focus_mode.
ArConfig_getLightEstimationMode(const ArSession *session, const ArConfig *config, ArLightEstimationMode *light_estimation_mode)
void
Stores the currently configured lighting estimation mode into *light_estimation_mode.
ArConfig_getPlaneFindingMode(const ArSession *session, const ArConfig *config, ArPlaneFindingMode *plane_finding_mode)
void
Stores the currently configured plane finding mode into *plane_finding_mode.
ArConfig_getUpdateMode(const ArSession *session, const ArConfig *config, ArUpdateMode *update_mode)
void
Stores the currently configured behavior of ArSession_update() into *update_mode.
ArConfig_setAugmentedFaceMode(const ArSession *session, ArConfig *config, ArAugmentedFaceMode augmented_face_mode)
void
Sets the desired face mode.
ArConfig_setAugmentedImageDatabase(const ArSession *session, ArConfig *config, const ArAugmentedImageDatabase *augmented_image_database)
void
Sets the image database in the session configuration.
ArConfig_setCloudAnchorMode(const ArSession *session, ArConfig *config, ArCloudAnchorMode cloud_anchor_mode)
void
Sets the desired cloud configuration.
ArConfig_setFocusMode(const ArSession *session, ArConfig *config, ArFocusMode focus_mode)
void
Sets the desired focus mode.
ArConfig_setLightEstimationMode(const ArSession *session, ArConfig *config, ArLightEstimationMode light_estimation_mode)
void
Sets the desired lighting estimation mode.
ArConfig_setPlaneFindingMode(const ArSession *session, ArConfig *config, ArPlaneFindingMode plane_finding_mode)
void
Sets the desired plane finding mode.
ArConfig_setUpdateMode(const ArSession *session, ArConfig *config, ArUpdateMode update_mode)
void
Sets the behavior of ArSession_update().

Enumerations

ArAugmentedFaceMode

 ArAugmentedFaceMode

Selects the behavior of Augmented Faces subsystem.

Default value is AR_AUGMENTED_FACE_MODE_DISABLED.

Properties
AR_AUGMENTED_FACE_MODE_DISABLED

Disable augmented face mode.

AR_AUGMENTED_FACE_MODE_MESH3D

Face 3D mesh is enabled.

Augmented Faces is currently only supported when using the front-facing (selfie) camera. See AR_SESSION_FEATURE_FRONT_CAMERA for details and additional restrictions.

ArFocusMode

 ArFocusMode

Selects the desired behavior of the camera focus subsystem.

Properties
AR_FOCUS_MODE_AUTO

Auto-focus is enabled.

AR_FOCUS_MODE_FIXED

Focus is fixed.

ArLightEstimationMode

 ArLightEstimationMode

Select the behavior of the lighting estimation subsystem.

Properties
AR_LIGHT_ESTIMATION_MODE_AMBIENT_INTENSITY

Lighting estimation is enabled, generating a single-value intensity estimate and three (R, G, B) color correction values.

AR_LIGHT_ESTIMATION_MODE_DISABLED

Lighting estimation is disabled.

AR_LIGHT_ESTIMATION_MODE_ENVIRONMENTAL_HDR

Lighting estimation is enabled, generating inferred Environmental HDR lighting estimation in linear color space.

Note, AR_LIGHT_ESTIMATION_MODE_ENVIRONMENTAL_HDR is not supported when using AR_SESSION_FEATURE_FRONT_CAMERA.

ArPlaneFindingMode

 ArPlaneFindingMode

Select the behavior of the plane detection subsystem.

Properties
AR_PLANE_FINDING_MODE_DISABLED

Plane detection is disabled.

AR_PLANE_FINDING_MODE_HORIZONTAL

Detection of only horizontal planes is enabled.

AR_PLANE_FINDING_MODE_HORIZONTAL_AND_VERTICAL

Detection of horizontal and vertical planes is enabled.

AR_PLANE_FINDING_MODE_VERTICAL

Detection of only vertical planes is enabled.

ArUpdateMode

 ArUpdateMode

Selects the behavior of ArSession_update().

Properties
AR_UPDATE_MODE_BLOCKING

update() will wait until a new camera image is available, or until the built-in timeout (currently 66ms) is reached.

On most devices the camera is configured to capture 30 frames per second. If the camera image does not arrive by the built-in timeout, then update() will return the most recent ArFrame object.

AR_UPDATE_MODE_LATEST_CAMERA_IMAGE

update() will return immediately without blocking.

If no new camera image is available, then update() will return the most recent ArFrame object.

Typedefs

ArConfig

struct ArConfig_ ArConfig

An opaque session configuration object (value type).

Create with ArConfig_create()
Release with ArConfig_destroy()

Functions

ArConfig_create

void ArConfig_create(
  const ArSession *session,
  ArConfig **out_config
)

Creates a new configuration object and initializes it to a sensible default configuration.

Plane detection and lighting estimation are enabled, and blocking update is selected. This configuration is guaranteed to be supported on all devices that support ARCore.

ArConfig_destroy

void ArConfig_destroy(
  ArConfig *config
)

Releases memory used by the provided configuration object.

ArConfig_getAugmentedFaceMode

void ArConfig_getAugmentedFaceMode(
  const ArSession *session,
  const ArConfig *config,
  ArAugmentedFaceMode *augmented_face_mode
)

Stores the currently configured augmented face mode into *augmented_face_mode.

ArConfig_getAugmentedImageDatabase

void ArConfig_getAugmentedImageDatabase(
  const ArSession *session,
  const ArConfig *config,
  ArAugmentedImageDatabase *out_augmented_image_database
)

Returns the image database from the session configuration.

This function returns a copy of the internally stored image database.

ArConfig_getCloudAnchorMode

void ArConfig_getCloudAnchorMode(
  const ArSession *session,
  const ArConfig *config,
  ArCloudAnchorMode *out_cloud_anchor_mode
)

Gets the current cloud anchor mode from the ArConfig.

ArConfig_getFocusMode

void ArConfig_getFocusMode(
  const ArSession *session,
  ArConfig *config,
  ArFocusMode *focus_mode
)

Stores the currently configured focus mode into *focus_mode.

ArConfig_getLightEstimationMode

void ArConfig_getLightEstimationMode(
  const ArSession *session,
  const ArConfig *config,
  ArLightEstimationMode *light_estimation_mode
)

Stores the currently configured lighting estimation mode into *light_estimation_mode.

ArConfig_getPlaneFindingMode

void ArConfig_getPlaneFindingMode(
  const ArSession *session,
  const ArConfig *config,
  ArPlaneFindingMode *plane_finding_mode
)

Stores the currently configured plane finding mode into *plane_finding_mode.

ArConfig_getUpdateMode

void ArConfig_getUpdateMode(
  const ArSession *session,
  const ArConfig *config,
  ArUpdateMode *update_mode
)

Stores the currently configured behavior of ArSession_update() into *update_mode.

ArConfig_setAugmentedFaceMode

void ArConfig_setAugmentedFaceMode(
  const ArSession *session,
  ArConfig *config,
  ArAugmentedFaceMode augmented_face_mode
)

Sets the desired face mode.

See ArAugmentedFaceMode for available options. Augmented Faces is currently only supported when using the front-facing (selfie) camera. See AR_SESSION_FEATURE_FRONT_CAMERA for details.

ArConfig_setAugmentedImageDatabase

void ArConfig_setAugmentedImageDatabase(
  const ArSession *session,
  ArConfig *config,
  const ArAugmentedImageDatabase *augmented_image_database
)

Sets the image database in the session configuration.

Any images in the currently active image database that have a TRACKING/PAUSED state will immediately be set to the STOPPED state if a different or null image database is set.

This function makes a copy of the image database.

ArConfig_setCloudAnchorMode

void ArConfig_setCloudAnchorMode(
  const ArSession *session,
  ArConfig *config,
  ArCloudAnchorMode cloud_anchor_mode
)

Sets the desired cloud configuration.

See ArCloudAnchorMode for available options.

ArConfig_setFocusMode

void ArConfig_setFocusMode(
  const ArSession *session,
  ArConfig *config,
  ArFocusMode focus_mode
)

Sets the desired focus mode.

See ArFocusMode for available options.

The default focus mode varies by device and camera, and is set to optimize AR tracking. Currently the default on most ARCore devices and cameras is AR_FOCUS_MODE_FIXED, although this default might change in the future.

Note, on devices where ARCore does not support auto focus due to the use of a fixed focus camera, setting AR_FOCUS_MODE_AUTO will be ignored. Similarly, on devices where tracking requires auto focus, setting AR_FOCUS_MODE_FIXED will be ignored. See the ARCore supported devices (https://developers.google.com/ar/discover/supported-devices) page for a list of affected devices.

To determine whether the configured ARCore camera supports auto focus, check ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE, which is 0 for fixed-focus cameras.

ArConfig_setLightEstimationMode

void ArConfig_setLightEstimationMode(
  const ArSession *session,
  ArConfig *config,
  ArLightEstimationMode light_estimation_mode
)

Sets the desired lighting estimation mode.

See ArLightEstimationMode for available options.

ArConfig_setPlaneFindingMode

void ArConfig_setPlaneFindingMode(
  const ArSession *session,
  ArConfig *config,
  ArPlaneFindingMode plane_finding_mode
)

Sets the desired plane finding mode.

See ArPlaneFindingMode for available options.

ArConfig_setUpdateMode

void ArConfig_setUpdateMode(
  const ArSession *session,
  ArConfig *config,
  ArUpdateMode update_mode
)

Sets the behavior of ArSession_update().

See ArUpdateMode for available options.