Table of Contents

Class SurfaceTracker

네임스페이스
easyar

SurfaceTracker는 환경 표면 추적을 구현합니다. SurfaceTracker는 카메라 버퍼 1개를 사용합니다. 카메라의 setBufferCapacity를 사용하여 모든 컴포넌트가 사용하는 카메라 버퍼 수량 이상으로 설정해야 합니다. 생성 후 start/stop을 호출하여 실행을 시작하거나 중지할 수 있으며, start/stop은 매우 가벼운 호출입니다. 해당 컴포넌트가 더 이상 필요하지 않을 때 close를 호출하여 닫을 수 있습니다. close 이후에는 계속 사용해서는 안 됩니다. SurfaceTracker는 inputFrameSink를 통해 InputFrame을 입력받으며, InputFrameSource를 inputFrameSink에 연결하여 사용해야 합니다.

SurfaceTracker

메서드

isAvailable

Android 및 iOS 시스템에서 가속도계, 자이로스코프를 사용할 수 있을 때만 true를 반환합니다.

bool easyar_SurfaceTracker_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
+ (bool)isAvailable
public static func isAvailable() -> Bool
public static bool isAvailable()

반환 값

형식 설명
Boolean

inputFrameSink

InputFrame 입력 포트. InputFrame은 이미지, 타임스탬프 및 camera 파라미터를 반드시 보유해야 한다. 참고: camera는 어안 렌즈 카메라 모델(fisheye camera model)을 지원하지 않는다.

void easyar_SurfaceTracker_inputFrameSink(easyar_SurfaceTracker * This, easyar_InputFrameSink * * Return)
std::shared_ptr<InputFrameSink> inputFrameSink()
public @Nonnull InputFrameSink inputFrameSink()
fun inputFrameSink(): InputFrameSink
- (easyar_InputFrameSink *)inputFrameSink
public func inputFrameSink() -> InputFrameSink
public virtual InputFrameSink inputFrameSink()

반환 값

형식 설명
InputFrameSink

bufferRequirement

현재 구성 요소가 카메라 버퍼를 점유하는 수량.

int easyar_SurfaceTracker_bufferRequirement(easyar_SurfaceTracker * This)
int bufferRequirement()
public int bufferRequirement()
fun bufferRequirement(): Int
- (int)bufferRequirement
public func bufferRequirement() -> Int32
public virtual int bufferRequirement()

반환 값

형식 설명
Int32

outputFrameSource

OutputFrame 출력 포트.

void easyar_SurfaceTracker_outputFrameSource(easyar_SurfaceTracker * This, easyar_OutputFrameSource * * Return)
std::shared_ptr<OutputFrameSource> outputFrameSource()
public @Nonnull OutputFrameSource outputFrameSource()
fun outputFrameSource(): OutputFrameSource
- (easyar_OutputFrameSource *)outputFrameSource
public func outputFrameSource() -> OutputFrameSource
public virtual OutputFrameSource outputFrameSource()

반환 값

형식 설명
OutputFrameSource

create

생성.

void easyar_SurfaceTracker_create(easyar_SurfaceTracker * * Return)
static std::shared_ptr<SurfaceTracker> create()
public static @Nonnull SurfaceTracker create()
companion object fun create(): SurfaceTracker
+ (easyar_SurfaceTracker *)create
public static func create() -> SurfaceTracker
public static SurfaceTracker create()

반환 값

형식 설명
SurfaceTracker

start

추적 알고리즘 시작.

bool easyar_SurfaceTracker_start(easyar_SurfaceTracker * This)
bool start()
public boolean start()
fun start(): Boolean
- (bool)start
public func start() -> Bool
public virtual bool start()

반환 값

형식 설명
Boolean

stop

추적 알고리즘을 일시 중지합니다. 재시작하려면 start를 호출하세요.

void easyar_SurfaceTracker_stop(easyar_SurfaceTracker * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()

반환 값

형식 설명
Void

close

닫기. close 후에는 계속 사용해서는 안 됩니다.

void easyar_SurfaceTracker_close(easyar_SurfaceTracker * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()

반환 값

형식 설명
Void

alignTargetToCameraImagePoint

추적 대상 포인트를 카메라 이미지의 지정된 위치로 조준합니다. 이미지 좌표계([0,1]^2)에서 x는 오른쪽, y는 아래쪽을 가리키며 원점은 왼쪽 상단입니다. imageCoordinatesFromScreenCoordinates를 사용하여 화면 좌표를 이미지 좌표로 변환할 수 있습니다.

void easyar_SurfaceTracker_alignTargetToCameraImagePoint(easyar_SurfaceTracker * This, easyar_Vec2F cameraImagePoint)
void alignTargetToCameraImagePoint(Vec2F cameraImagePoint)
public void alignTargetToCameraImagePoint(@Nonnull Vec2F cameraImagePoint)
fun alignTargetToCameraImagePoint(cameraImagePoint: Vec2F): Unit
- (void)alignTargetToCameraImagePoint:(easyar_Vec2F *)cameraImagePoint
public func alignTargetToCameraImagePoint(_ cameraImagePoint: Vec2F) -> Void
public virtual void alignTargetToCameraImagePoint(Vec2F cameraImagePoint)

매개 변수

이름 형식 설명
cameraImagePoint Vec2F

반환 값

형식 설명
Void