public static void UpdateApiConfigWithARCoreSessionConfig(IntPtr sessionHandle, IntPtr configHandle, ARCoreSessionConfig sessionConfig) { ApiLightEstimationMode lightingMode = sessionConfig.LightEstimationMode.ToApiLightEstimationMode(); ExternApi.ArConfig_setLightEstimationMode(sessionHandle, configHandle, lightingMode); ApiPlaneFindingMode planeFindingMode = sessionConfig.PlaneFindingMode.ToApiPlaneFindingMode(); ExternApi.ArConfig_setPlaneFindingMode(sessionHandle, configHandle, planeFindingMode); ApiUpdateMode updateMode = sessionConfig.MatchCameraFramerate ? ApiUpdateMode.Blocking : ApiUpdateMode.LatestCameraImage; ExternApi.ArConfig_setUpdateMode(sessionHandle, configHandle, updateMode); ApiCloudAnchorMode cloudAnchorMode = sessionConfig.CloudAnchorMode.ToApiCloudAnchorMode(); ExternApi.ArConfig_setCloudAnchorMode(sessionHandle, configHandle, cloudAnchorMode); IntPtr augmentedImageDatabaseHandle = IntPtr.Zero; if (sessionConfig.AugmentedImageDatabase != null) { augmentedImageDatabaseHandle = sessionConfig.AugmentedImageDatabase._nativeHandle; ExternApi.ArConfig_setAugmentedImageDatabase(sessionHandle, configHandle, augmentedImageDatabaseHandle); } else { ExternApi.ArConfig_setAugmentedImageDatabase(sessionHandle, configHandle, IntPtr.Zero); } ApiAugmentedFaceMode augmentedFaceMode = sessionConfig.AugmentedFaceMode.ToApiAugmentedFaceMode(); ExternApi.ArConfig_setAugmentedFaceMode(sessionHandle, configHandle, augmentedFaceMode); ApiCameraFocusMode focusMode = sessionConfig.CameraFocusMode.ToApiCameraFocusMode(); ExternApi.ArConfig_setFocusMode(sessionHandle, configHandle, focusMode); if (!InstantPreviewManager.IsProvidingPlatform) { ApiDepthMode depthMode = sessionConfig.DepthMode.ToApiDepthMode(); ExternApi.ArConfig_setDepthMode(sessionHandle, configHandle, depthMode); } if (!InstantPreviewManager.IsProvidingPlatform) { ExternApi.ArConfig_setInstantPlacementMode(sessionHandle, configHandle, sessionConfig.InstantPlacementMode); } }
public static void UpdateApiConfigWithARCoreSessionConfig(IntPtr sessionHandle, IntPtr configHandle, ARCoreSessionConfig sessionConfig) { ApiLightEstimationMode lightingMode = sessionConfig.LightEstimationMode.ToApiLightEstimationMode(); ExternApi.ArConfig_setLightEstimationMode(sessionHandle, configHandle, lightingMode); ApiPlaneFindingMode planeFindingMode = sessionConfig.PlaneFindingMode.ToApiPlaneFindingMode(); ExternApi.ArConfig_setPlaneFindingMode(sessionHandle, configHandle, planeFindingMode); ApiUpdateMode updateMode = sessionConfig.MatchCameraFramerate ? ApiUpdateMode.Blocking : ApiUpdateMode.LatestCameraImage; ExternApi.ArConfig_setUpdateMode(sessionHandle, configHandle, updateMode); ApiCloudAnchorMode cloudAnchorMode = sessionConfig.EnableCloudAnchor ? ApiCloudAnchorMode.Enabled : ApiCloudAnchorMode.Disabled; ExternApi.ArConfig_setCloudAnchorMode(sessionHandle, configHandle, cloudAnchorMode); IntPtr augmentedImageDatabaseHandle = IntPtr.Zero; if (sessionConfig.AugmentedImageDatabase != null) { augmentedImageDatabaseHandle = sessionConfig.AugmentedImageDatabase.NativeHandle; ExternApi.ArConfig_setAugmentedImageDatabase(sessionHandle, configHandle, augmentedImageDatabaseHandle); } ApiAugmentedFaceMode augmentedFaceMode = sessionConfig.AugmentedFaceMode.ToApiAugmentedFaceMode(); ExternApi.ArConfig_setAugmentedFaceMode(sessionHandle, configHandle, augmentedFaceMode); ApiCameraFocusMode focusMode = sessionConfig.CameraFocusMode.ToApiCameraFocusMode(); ExternApi.ArConfig_setFocusMode(sessionHandle, configHandle, focusMode); }
public static extern void ArConfig_setAugmentedFaceMode( IntPtr session, IntPtr config, ApiAugmentedFaceMode augmented_face_mode);
/// <summary> /// Wrap an ARCoreSessionConfig in an API config. /// </summary> /// <param name="config">Config to wrap.</param> public ApiPrestoConfig(ARCoreSessionConfig config) { UpdateMode = config.MatchCameraFramerate ? ApiUpdateMode.Blocking : ApiUpdateMode.LatestCameraImage; var planeFindingMode = ApiPlaneFindingMode.Disabled; switch (config.PlaneFindingMode) { case DetectedPlaneFindingMode.Horizontal: planeFindingMode = ApiPlaneFindingMode.Horizontal; break; case DetectedPlaneFindingMode.Vertical: planeFindingMode = ApiPlaneFindingMode.Vertical; break; case DetectedPlaneFindingMode.HorizontalAndVertical: planeFindingMode = ApiPlaneFindingMode.HorizontalAndVertical; break; default: break; } PlaneFindingMode = planeFindingMode; LightEstimationMode = config.LightEstimationMode.ToApiLightEstimationMode(); CloudAnchorMode = config.EnableCloudAnchor ? ApiCloudAnchorMode.Enabled : ApiCloudAnchorMode.Disabled; if (config.AugmentedImageDatabase != null) { ArPrestoAugmentedImageDatabase = config.AugmentedImageDatabase.m_ArPrestoDatabaseHandle; } else { ArPrestoAugmentedImageDatabase = IntPtr.Zero; } switch (config.CameraFocusMode) { case GoogleARCore.CameraFocusMode.Fixed: CameraFocusMode = ApiCameraFocusMode.Fixed; break; case GoogleARCore.CameraFocusMode.Auto: CameraFocusMode = ApiCameraFocusMode.Auto; break; default: CameraFocusMode = ApiCameraFocusMode.Fixed; break; } switch (config.AugmentedFaceMode) { case AugmentedFaceMode.Disabled: FaceMode = ApiAugmentedFaceMode.Disabled; break; case AugmentedFaceMode.Mesh: FaceMode = ApiAugmentedFaceMode.Mesh3D; break; default: FaceMode = ApiAugmentedFaceMode.Disabled; break; } }