클래스 ASACloudSpatialAnchorSession

선언

@interface ASACloudSpatialAnchorSession : NSObject;

설명

이 클래스를 사용하여 공간 앵커를 만들고, 찾고, 관리합니다.

메서드

init

기본 구성을 사용하여 새 인스턴스를 초기화합니다.

-(instancetype)init;

Dispose

이 세션을 중지하고 연결된 모든 리소스를 해제합니다.

-(void)dispose;

getAccessTokenWithAuthenticationToken

인증 토큰에서 Azure Spatial Anchors 액세스 토큰을 가져옵니다.

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

매개 변수

  • authenticationToken - 인증 토큰.
  • completionHandler - 액세스 토큰 문자열입니다.

반환

  • void

getAccessTokenWithAccountKey

계정 키에서 Azure Spatial Anchors 액세스 토큰을 가져옵니다.

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

매개 변수

  • accountKey - 계정 키입니다.
  • completionHandler - 액세스 토큰 문자열입니다.

반환

  • void

createAnchor

지정된 로컬 앵커 및 문자열 속성에서 지속형 공간 앵커를 새로 만듭니다.

이 메서드에 전달된 로컬 앵커에는 유효한 변환이 있어야 합니다. iOS와 같은 Azure Spatial Anchors에서 지원하는 일부 플랫폼은 확장 구성 요소 != 1.0을 사용하여 변환을 허용합니다. Azure Spatial Anchors 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 Spatial Anchors 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;