ASACloudSpatialAnchorSession 类

声明

@interface ASACloudSpatialAnchorSession : NSObject;

说明

使用此类创建、查找和管理空间定位点。

方法

init

使用默认配置初始化新实例。

-(instancetype)init;

处理

停止此会话并释放所有关联的资源。

-(void)dispose;

getAccessTokenWithAuthenticationToken

从身份验证令牌获取 Azure 空间定位点访问令牌。

-(void)getAccessTokenWithAuthenticationToken:(NSString *)authenticationToken withCompletionHandler:(void (^)(NSString * value, NSError *error))completionHandler;

参数

  • authenticationToken - 身份验证令牌。
  • completionHandler - 访问令牌字符串。

返回

  • void

getAccessTokenWithAccountKey

从帐户密钥获取 Azure 空间定位点访问令牌。

-(void)getAccessTokenWithAccountKey:(NSString *)accountKey withCompletionHandler:(void (^)(NSString * value, NSError *error))completionHandler;

参数

  • accountKey - 帐户密钥。
  • completionHandler - 访问令牌字符串。

返回

  • void

createAnchor

从指定的本地定位点和字符串属性创建新的持久空间定位点。

传递到此方法的本地定位点必须具有有效的转换。 请注意,Azure 空间定位点支持的一些平台(如 iOS)允许使用缩放组件 != 1.0 进行转换。 Azure 空间定位点 SDK 不支持此类转换,并且将无法创建带有错误代码 InvalidAnchorTransformRigidity 的空间定位点。 定位点的任何缩放处理都必须在应用级别完成。

-(void)createAnchor:(ASACloudSpatialAnchor *)anchor withCompletionHandler:(void (^)(NSError *error))completionHandler;

参数

  • anchor - 要保留的定位点。
  • completionHandler - 表示异步创建操作的任务。

返回

  • void

createWatcher

创建一个新的 对象,用于监视满足指定条件的定位点。

-(ASACloudSpatialAnchorWatcher *)createWatcher:(ASAAnchorLocateCriteria *)criteria;

参数

  • criteria - 要监视的定位点的条件。

返回

  • ASACloudSpatialAnchorWatcher * - 一个新的观察程序对象,它持续查找定位点,直到完全满足条件或观察程序停止。 一次只能有一个活动观察程序。

getAnchorProperties

获取给定标识符的云空间定位点,即使尚未找到它。

-(void)getAnchorProperties:(NSString *)identifier withCompletionHandler:(void (^)(ASACloudSpatialAnchor * value, NSError *error))completionHandler;

参数

  • identifier - 要查找的标识符。
  • completionHandler - 表示异步检索操作的任务。 检索到的定位点将具有属性值,但可能没有可用的本地定位点。

返回

  • void

getNearbyAnchorIds

获取与给定条件对应的所有附近的云空间定位点 ID 的列表。

-(void)getNearbyAnchorIds:(ASANearDeviceCriteria *)criteria withCompletionHandler:(void (^)(NSArray * value, NSError *error))completionHandler;

参数

  • criteria - 搜索条件。
  • completionHandler - 表示异步检索操作的任务。

返回

  • void

getActiveWatchers

获取活动观察程序的列表。

-(NSArray<ASACloudSpatialAnchorWatcher *> *)getActiveWatchers;

返回

  • NSArray<ASACloudSpatialAnchorWatcher *> * - 活动观察程序的列表。

refreshAnchorProperties

刷新指定空间定位点的属性。

-(void)refreshAnchorProperties:(ASACloudSpatialAnchor *)anchor withCompletionHandler:(void (^)(NSError *error))completionHandler;

参数

  • anchor - 要刷新的定位点。
  • completionHandler - 表示异步刷新操作的任务。

返回

  • void

updateAnchorProperties

汇报指定的空间定位点。

-(void)updateAnchorProperties:(ASACloudSpatialAnchor *)anchor withCompletionHandler:(void (^)(NSError *error))completionHandler;

参数

  • anchor - 要更新的定位点。
  • completionHandler - 表示异步更新操作的任务。

返回

  • void

deleteAnchor

删除持久空间定位点。

-(void)deleteAnchor:(ASACloudSpatialAnchor *)anchor withCompletionHandler:(void (^)(NSError *error))completionHandler;

参数

  • anchor - 要删除的定位点。
  • completionHandler - 表示异步删除操作的任务。

返回

  • void

processFrame

应用程序必须在需要按帧处理的平台上调用此方法。

此方法在 HoloLens 平台上不可用。

-(void)processFrame:(ARFrame *)frame;

参数

  • frame - 要处理的 AR 帧。

getSessionStatus

获取描述会话状态的 对象。

-(void)getSessionStatusWithCompletionHandler:(void (^)(ASASessionStatus * value, NSError *error))completionHandler;

参数

  • completionHandler - 表示会话状态检索的任务。

返回

  • void

start

开始捕获会话的环境数据。

-(void)start;

stop

停止捕获会话的环境数据,并取消任何未完成的定位操作。 维护环境数据。

-(void)stop;

reset

重置已在此会话中捕获的环境数据;当跟踪丢失时,应用程序必须调用此方法。

在任何平台上,调用 方法将清理所有内部缓存状态。

-(void)reset;

属性

delegate

提供用于从此 ASACloudSpatialAnchorSession 实例接收事件的对象。

@property(nonatomic, assign) id<ASACloudSpatialAnchorSessionDelegate> delegate;

配置

会话的配置信息。

启动会话时,配置设置将生效。

@property (retain, readonly) ASASessionConfiguration * configuration;

诊断

会话的诊断设置,可用于收集和提交数据以进行故障排除和改进。

@property (retain, readonly) ASACloudSpatialAnchorSessionDiagnostics * diagnostics;

logLevel

会话日志事件的日志记录级别。

@property ASASessionLogLevel logLevel;

会话

用于帮助查找定位点的跟踪会话。

此属性在 HoloLens 平台上不可用。

@property (retain) ARSession * session;

telemetryEnabled

此 API 可用于启用或禁用 Azure 空间定位点 SDK 遥测。 默认情况下,ASA SDK 遥测处于启用状态。 如果禁用,ASA SDK 将不会记录此会话的任何遥测事件。 需要完全禁用 ASA SDK 遥测的应用程序可以在调用 CloudSpatialAnchorSession::Start 之前使用此 API,这将导致不为该 CloudSpatialAnchorSession 实例发送遥测事件。

@property BOOL telemetryEnabled;

locationProvider

用于使用 粗略重新定位创建和查找定位点的位置提供程序。

@property (retain) ASAPlatformLocationProvider * locationProvider;

sessionID

会话的唯一标识符。

@property (retain, readonly) NSString * sessionId;