Table of Contents

Namespace easyar

클래스

Accelerometer

Accelerometer는 시스템에서 제공하는 가속도계를 호출하고 AccelerometerResult를 출력합니다. 더 이상 장치가 필요하지 않으면 close를 호출해 닫을 수 있습니다. close 후에는 계속 사용해서는 안 됩니다. 동시에 여러 번 여는 것은 권장되지 않으며, 사용할 수 없게 되거나 정확도가 떨어질 수 있습니다.

AccelerometerResult

가속도계 판독값입니다. x축 양의 방향은 장치 중심에서 화면 오른쪽을 향합니다. y축 양의 방향은 장치 중심에서 화면 위쪽을 향합니다. z축 양의 방향은 장치 중심에서 화면에 수직으로 바깥쪽을 향합니다. x, y, z의 단위는 m/s^2입니다. timestamp의 단위는 초입니다.

AccelerometerResultSink

가속도계 결과 입력 포트입니다. 컴포넌트의 입력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

AccelerometerResultSource

가속도계 결과 출력 포트입니다. 컴포넌트의 출력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

ARCoreCameraDevice

ARCoreCameraDevice는 ARCore 기반 camera 장치를 구현하며 InputFrame(image, camera parameters, timestamp, 6DOF 위치 정보 및 tracking status 포함)을 출력합니다. 사용하기 전에 java.lang.System.loadLibrary를 사용하여 libarcore_sdk_c.so를 로드해야 합니다. 생성 후 start/stop을 호출하여 video stream data 수집을 시작하고 중지할 수 있습니다. 장치가 더 이상 필요하지 않으면 close를 호출하여 닫을 수 있습니다. close 후에는 계속 사용하면 안 됩니다. ARCoreCameraDevice는 inputFrameSource를 통해 InputFrame을 출력하므로, inputFrameSource를 InputFrameSink에 연결하여 사용해야 합니다. bufferCapacity는 InputFrame 버퍼의 용량을 나타냅니다. 이 수보다 많은 InputFrame이 장치에서 출력되고 해제되지 않으면, 이전 InputFrame이 해제될 때까지 장치는 새 InputFrame을 더 이상 출력하지 않습니다. 이로 인해 화면이 멈추는 등의 문제가 발생할 수 있습니다. 주의: 현재 ARCore(v1.13.0) 구현은 session 생성 및 파괴 시 메모리 누수가 있습니다. 반복적으로 생성하고 파괴하면 메모리 사용량이 계속 증가하며 파괴 후에도 해제되지 않습니다.

ARCoreDeviceListDownloader

ARCoreDeviceListDownloader는 ARCoreCameraDevice에서 사용하는 업데이트된 장치 목록 보정 매개변수를 다운로드하는 데 사용됩니다.

ARKitCameraDevice

ARKitCameraDevice는 ARKit 기반 camera 장치를 구현하며 InputFrame(image, camera parameters, timestamp, 6DOF 위치 정보 및 tracking status 포함)을 출력합니다. 생성 후 start/stop을 호출하여 video stream data 수집을 시작하고 중지할 수 있습니다. 장치가 더 이상 필요하지 않으면 close를 호출하여 닫을 수 있습니다. close 후에는 계속 사용하면 안 됩니다. ARKitCameraDevice는 inputFrameSource를 통해 InputFrame을 출력하므로, inputFrameSource를 InputFrameSink에 연결하여 사용해야 합니다. bufferCapacity는 InputFrame 버퍼의 용량을 나타냅니다. 이 수보다 많은 InputFrame이 장치에서 출력되고 해제되지 않으면, 이전 InputFrame이 해제될 때까지 장치는 새 InputFrame을 더 이상 출력하지 않습니다. 이로 인해 화면이 멈추는 등의 문제가 발생할 수 있습니다.

AttitudeSensor

AttitudeSensor는 시스템에서 제공하는 자세 센서를 호출하고 AttitudeSensorResult를 출력합니다. 더 이상 장치가 필요하지 않으면 close를 호출해 닫을 수 있습니다. close 후에는 계속 사용해서는 안 됩니다. 동시에 여러 번 여는 것은 권장되지 않으며, 사용할 수 없게 되거나 정확도가 떨어질 수 있습니다.

AttitudeSensorResult

attitude sensor 판독값입니다. 양의 x 축은 디바이스 중심에서 화면 오른쪽을 가리킵니다. 양의 y 축은 디바이스 중심에서 화면 위쪽을 가리킵니다. 양의 z 축은 디바이스 중심에서 화면에 수직인 바깥쪽을 가리킵니다. 디바이스는 축 (x, y, z) 주위로 각도 θ 만큼 회전합니다. 단위 회전 쿼터니언은 (cos(θ/2), x*sin(θ/2), y*sin(θ/2), z*sin(θ/2)) 입니다. (v0, v1, v2, v3) = (cos(θ/2), x*sin(θ/2), y*sin(θ/2), z*sin(θ/2)) 입니다. 참조 좌표계는 방향이 있는 표준 정규 직교 기저의 집합으로 정의되며, 여기서

Z 는 하늘을 가리키고 지면과 평행합니다.

(X, Y, Z) 는 오른손 좌표계를 이룹니다.

timestamp 단위는 초입니다.

AttitudeSensorResultSink

자세 센서 결과 입력 포트입니다. 컴포넌트의 입력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

AttitudeSensorResultSource

자세 센서 결과 출력 포트입니다. 컴포넌트의 출력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

BlockInfo

dense reconstruction으로 얻은 모델은 triangle mesh로 표현되며 mesh라고 합니다. mesh는 자주 업데이트되므로 효율을 보장하기 위해 전체 재구성 모델의 mesh는 많은 mesh block으로 분할됩니다. 하나의 mesh block은 한 변의 길이가 약 1미터인 큐브로 구성되며 vertex와 index 등의 요소가 있습니다. BlockInfo는 mesh block의 내용을 설명합니다. 여기서 (x,y,z)는 mesh block의 index입니다. (x,y,z)에 각 mesh block의 물리적 크기를 곱하면 이 mesh block의 origin이 world coordinate system에서 가지는 좌표를 얻을 수 있습니다. 표시해야 하는 부분은 world에서 mesh block의 위치를 기준으로 미리 필터링하여 렌더링에 필요한 시간을 절약할 수 있습니다.

BlockPriorResult

사전 맵 정보입니다. blockIds는 맵 ID입니다. mode는 시스템에서 사전 정보를 사용하는 모드이며 soft 또는 hard일 수 있습니다. BlockPriorMode를 참조하십시오.

Buffer

Buffer는 raw byte array를 저장하며 image data에 접근하는 데 사용할 수 있습니다. In the Java API, you can get the buffer from Image and then copy data to a Java byte array. In all versions of EasyAR Sense, you can access image data. Refer to Image.

BufferDictionary

파일 경로에서 Buffer로의 매핑입니다. 메모리에 배치된 여러 파일을 나타내는 데 사용됩니다.

BufferPool

BufferPool은 메모리 풀을 구현합니다. 사용자 지정 카메라 접근처럼 같은 크기의 메모리를 반복적으로 할당해야 하는 기능에 사용할 수 있어 메모리 할당 시간을 줄입니다.

CalibrationDownloader

CalibrationDownloader는 MotionTracker에서 사용하는 업데이트된 보정 매개변수를 다운로드하는 데 사용됩니다. 다운로드 후 업데이트가 적용되려면 MotionTracker를 다시 생성해야 합니다.

CallbackScheduler

콜백 스케줄러입니다. 두 개의 하위 클래스 DelayedCallbackSchedulerImmediateCallbackScheduler가 있습니다. DelayedCallbackScheduler는 콜백을 수동 호출 시점까지 지연하는 데 사용되며, 다양한 UI 환경과 같은 단일 스레드 환경에서 사용할 수 있습니다. ImmediateCallbackScheduler는 콜백을 즉시 실행하는 데 사용되며, 서버나 백그라운드 서비스와 같은 다중 스레드 환경에서 사용할 수 있습니다.

CameraDevice

CameraDevice implements a camera device that outputs InputFrame (including image, camera parameters, and timestamp). It is available on Windows, Mac, Android, and iOS. After opening, start/stop can be called to start and stop data collection. start/stop do not affect previously set camera parameters. When the device is no longer needed, close can be called to close it. It should not be used after close. CameraDevice outputs InputFrame through inputFrameSource. inputFrameSource should be connected to InputFrameSink for use. bufferCapacity indicates the capacity of the InputFrame buffer. If more than this number of InputFrame objects are output from the device and not released, the device will stop outputting new InputFrame objects until previous InputFrame objects are released. This may cause problems such as a frozen image. When used on Android, the android.permission.CAMERA permission declaration must be added to AndroidManifest.xml. When used on iOS, the NSCameraUsageDescription permission declaration must be added to Info.plist.

CameraDeviceSelector

Android에서 Camera API(camera1 또는 camera2)를 선택하는 데 사용됩니다. camera1은 호환성이 더 좋지만 타임스탬프 같은 일부 필수 정보가 부족합니다. camera2는 일부 장치에서 호환성 문제가 있습니다. 용도에 따라 서로 다른 옵션이 camera1 또는 camera2를 선택합니다.

CameraParameters

camera parameters. image 크기, focal length, principal point, camera 유형, device natural orientation 기준 camera 회전 각도를 포함합니다.

CloudLocalizer

CloudLocalizer 는 cloud localization 기능을 구현합니다.

CloudLocalizerBlockInstance

CloudLocalizer가 로컬라이즈한 block의 인스턴스입니다.

CloudLocalizerResult
CloudRecognizationResult
CloudRecognizer

CloudRecognizer는 cloud recognition 기능을 구현합니다. Cloud recognition 기능을 사용하려면 클라우드에서 cloud recognition 이미지 라이브러리를 만들어야 합니다. EasyAR CRS 문서를 참조하십시오. 이 컴포넌트가 더 이상 필요하지 않으면 close를 호출하여 닫을 수 있습니다. close 후에는 계속 사용해서는 안 됩니다. CloudRecognizer를 사용하기 전에 ImageTracker를 설정하고 준비해야 합니다. 반환된 모든 target은 track되기 전에 loadTarget을 사용하여 ImageTracker에 수동으로 로드해야 합니다. 로드한 후 target의 recognition 및 tracking은 로컬 target 사용과 동일합니다. target이 인식된 후 callback에서 가져올 수 있으며, 이후 서로 다른 target을 구분하려면 target uid를 사용해야 합니다. target runtimeID는 동적으로 생성되므로 cloud recognition 상황에서 target의 고유 식별자로 적합하지 않습니다.

DelayedCallbackScheduler

지연 콜백 스케줄러입니다. 콜백을 수동 호출 시점까지 지연하는 데 사용되며, 다양한 UI 환경과 같은 단일 스레드 환경에서 사용할 수 있습니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

DenseSpatialMap

DenseSpatialMap은 환경의 정확한 3D dense reconstruction에 사용됩니다. 재구성된 모델은 triangle mesh로 표현되며 mesh라고 합니다. DenseSpatialMap은 1개의 camera buffer를 차지합니다.

DeviceAuxiliaryInfo
Engine
EventDumpRecorder

이벤트 덤프 레코더입니다. 일부 핵심 진단 정보를 EED 파일에 저장하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

FeedbackFrame

피드백 프레임입니다. 입력 프레임과 기록 출력 프레임을 포함하며, ImageTracker 같은 피드백 기반 동기 처리 컴포넌트에 사용됩니다.

FeedbackFrameFork

피드백 프레임 분배기입니다. 하나의 피드백 프레임을 여러 컴포넌트로 병렬 전송하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

FeedbackFrameSink

Feedback frame 입력 포트입니다. 컴포넌트의 입력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

FeedbackFrameSource

피드백 프레임 출력 포트입니다. 컴포넌트의 출력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

FrameFilterResult

FrameFilterResult는 동기 알고리즘을 사용하는 모든 컴포넌트 결과의 기본 클래스입니다.

Gyroscope

Gyroscope는 시스템에서 제공하는 자이로스코프를 호출하고 GyroscopeResult를 출력합니다. 더 이상 장치가 필요하지 않으면 close를 호출해 닫을 수 있습니다. close 후에는 계속 사용해서는 안 됩니다. 동시에 여러 번 여는 것은 권장되지 않으며, 사용할 수 없게 되거나 정확도가 떨어질 수 있습니다.

GyroscopeResult

자이로스코프 판독값입니다. x축 양의 방향은 장치 중심에서 화면 오른쪽을 향합니다. y축 양의 방향은 장치 중심에서 화면 위쪽을 향합니다. z축 양의 방향은 장치 중심에서 화면에 수직으로 바깥쪽을 향합니다. x, y, z는 해당 축을 중심으로 회전하는 각속도를 나타내며 단위는 라디안/초입니다. 좌표축 양의 방향의 어떤 위치에서 장치를 바라볼 때 반시계 방향이 회전의 양의 방향입니다. timestamp의 단위는 초입니다.

GyroscopeResultSink

자이로스코프 결과 입력 포트입니다. 컴포넌트의 입력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

GyroscopeResultSource

자이로스코프 결과 출력 포트입니다. 컴포넌트의 출력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

Image

Image는 이미지 데이터를 저장하며 메모리의 image를 나타내는 데 사용됩니다. Image는 원시 데이터에 대한 접근을 byte array 방식으로 제공하고 width/height 등의 정보에 접근하는 인터페이스도 제공합니다. EasyAR Sense의 모든 버전에서 이미지 데이터에 접근할 수 있습니다. iOS에서는 다음과 같이 접근할 수 있습니다

#import <easyar/buffer.oc.h>
#import <easyar/image.oc.h>

easyar_OutputFrame * outputFrame = [outputFrameBuffer peek];
if (outputFrame != nil) {
    easyar_Image * i = [[outputFrame inputFrame] image];
    easyar_Buffer * b = [i buffer];
    char * bytes = calloc([b size], 1);
    memcpy(bytes, [b data], [b size]);
    // use bytes here
    free(bytes);
}

Android에서는,

import cn.easyar.*;

OutputFrame outputFrame = outputFrameBuffer.peek();
if (outputFrame != null) {
    InputFrame inputFrame = outputFrame.inputFrame();
    Image i = inputFrame.image();
    Buffer b = i.buffer();
    byte[] bytes = new byte[b.size()];
    b.copyToByteArray(0, bytes, 0, bytes.length);
    // use bytes here
    b.dispose();
    i.dispose();
    inputFrame.dispose();
    outputFrame.dispose();
}
ImageHelper

이미지 도우미 클래스입니다.

ImageTarget

ImageTarget은 평면 이미지의 target을 나타내며 ImageTracker가 추적할 수 있습니다. ImageTarget 내부의 값은 읽기 전에 먼저 create... 등의 메서드로 채워야 합니다. 그런 다음 loadTarget를 통해 ImageTracker에 성공적으로 로드된 후 ImageTracker가 감지하고 추적할 수 있습니다.

ImageTargetParameters

ImageTargetParameters 는 ImageTarget 생성에 필요한 파라미터를 나타냅니다.

ImageTracker

ImageTracker implements detection and tracking of planar cards. ImageTracker occupies (1 + SimultaneousNum) camera buffers. Use camera setBufferCapacity to set no less than the total number of camera buffers occupied by all components. After creation, start/stop can be called to start and stop running. start/stop are very lightweight calls. When the component is no longer needed, close can be called to close it. It should not be used after close. ImageTracker inputs FeedbackFrame through feedbackFrameSink. FeedbackFrameSource should be connected to feedbackFrameSink for use. Before a Target can be tracked by ImageTracker, you need to load it with loadTarget/unloadTarget. The result of load/unload can be obtained through the callback passed to the interface.

ImageTrackerConfig

ImageTracker 생성 구성입니다.

ImageTrackerResult

ImageTracker의 결과입니다.

ImmediateCallbackScheduler

즉시 콜백 스케줄러입니다. 콜백을 즉시 실행하는 데 사용되며, 서버나 백그라운드 서비스와 같은 다중 스레드 환경에서 사용할 수 있습니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

InertialCameraDevice

InertialCameraDevice implements a camera device based on motion inertia, outputting InputFrame whose CameraTransformType is FiveDofRotXZ (including image, camera parameters, timestamp, pose transform matrix, and tracking status). After creation, start/stop can be called to start and stop video stream data collection. When the device is no longer needed, close can be called to close it. It should not be used after close. InertialCameraDevice outputs InputFrame through inputFrameSource. inputFrameSource should be connected to InputFrameSink for use. bufferCapacity indicates the capacity of the InputFrame buffer. If more than this number of InputFrame objects are output from the device and not released, the device will stop outputting new InputFrame objects until previous InputFrame objects are released. This may cause problems such as a frozen image.

InputFrame

Input frame입니다. image, camera parameters, timestamp, world coordinate system에 대한 camera transform 및 tracking status를 포함합니다. 이 중 camera parameters, timestamp, world coordinate system에 대한 camera transform 및 tracking status는 선택 사항이지만, 특정 알고리즘 컴포넌트는 input에 대한 특정 요구 사항이 있습니다.

InputFrameFork

입력 프레임 분배기입니다. 하나의 입력 프레임을 여러 컴포넌트로 병렬 전송하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

InputFramePlayer

입력 프레임 플레이어입니다. 입력 프레임 출력 포트가 있으며, EIF 파일에서 입력 프레임을 가져오는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

InputFrameRecorder

입력 프레임 레코더입니다. 입력 프레임 입력 포트와 입력 프레임 출력 포트가 있으며, 지나가는 입력 프레임을 EIF 파일에 저장하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

InputFrameSink

Input frame 입력 포트입니다. 컴포넌트의 입력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

InputFrameSource

입력 프레임 출력 포트입니다. 컴포넌트의 출력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

InputFrameThrottler

Input frame throttler. It has one input frame input port and one input frame output port, used to prevent new input frames from entering an algorithm component while the component has not finished processing the previous frame. InputFrameThrottler occupies one camera buffer. Use camera setBufferCapacity to set no fewer camera buffers than the total number occupied by all components. All members of this class are thread-safe. Note that connecting and disconnecting signalInput should not be performed while data is flowing in, otherwise it may enter a state where it cannot output. It is recommended to complete data-flow connections before starting the Camera.

InputFrameToFeedbackFrameAdapter

입력 프레임을 피드백 프레임으로 변환하는 어댑터입니다. 입력 프레임 입력 포트, 기록 출력 프레임 입력 포트, 피드백 프레임 출력 포트가 있으며, 입력 프레임과 기록 출력 프레임을 피드백 프레임으로 결합하여 ImageTracker 같은 피드백 프레임 입력을 요구하는 알고리즘 컴포넌트에 전달합니다. 입력 프레임이 입력될 때마다 이전에 입력된 기록 출력 프레임과 함께 피드백 프레임을 합성합니다. 기록 출력 프레임이 입력된 적이 없으면 피드백 프레임의 기록 출력 프레임은 비어 있습니다. InputFrameToFeedbackFrameAdapter는 camera buffer 1개를 점유합니다. camera의 setBufferCapacity를 사용하여 모든 컴포넌트가 점유하는 camera buffer 수 이상으로 설정해야 합니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

InputFrameToOutputFrameAdapter

입력 프레임을 출력 프레임으로 변환하는 어댑터입니다. 입력 프레임 입력 포트와 출력 프레임 출력 포트가 있으며, 입력 프레임을 출력 프레임으로 래핑하여 알고리즘 컴포넌트에 연결하지 않고 직접 렌더링할 수 있습니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

JniUtility

JNI utility class. Used to wrap Java arrays and ByteBuffer in Unity. iOS is not supported.

LocationResult

위치 판독값입니다. latitude, longitude의 단위는 도입니다. altitude의 단위는 미터입니다. horizontalAccuracy는 수평 방향 정확도이며, 단위는 미터입니다. verticalAccuracy는 중력 방향 정확도이며, 단위는 미터입니다.

LocationResultSink

위치 결과 입력 포트입니다. 컴포넌트의 입력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

LocationResultSource

위치 결과 출력 포트입니다. 컴포넌트의 출력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

Log

로그 클래스입니다. 로그를 출력하거나 사용자 지정 로그 출력 함수를 설정하는 데 사용됩니다.

Magnetometer

Magnetometer는 시스템에서 제공하는 자력계를 호출하고 MagnetometerResult를 출력합니다. 더 이상 장치가 필요하지 않으면 close를 호출해 닫을 수 있습니다. close 후에는 계속 사용해서는 안 됩니다. 동시에 여러 번 여는 것은 권장되지 않으며, 사용할 수 없게 되거나 정확도가 떨어질 수 있습니다.

MagnetometerResult

자력계 판독값입니다. x축 양의 방향은 장치 중심에서 화면 오른쪽을 향합니다. y축 양의 방향은 장치 중심에서 화면 위쪽을 향합니다. z축 양의 방향은 장치 중심에서 화면에 수직으로 바깥쪽을 향합니다. x, y, z의 단위는 uT(마이크로테슬라)입니다. timestamp의 단위는 초입니다.

MagnetometerResultSink

자력계 결과 입력 포트입니다. 컴포넌트의 입력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

MagnetometerResultSource

자력계 결과 출력 포트입니다. 컴포넌트의 출력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

Matrix33F

3차 정방 행렬입니다. 데이터는 row-major 순서로 배열됩니다.

Matrix44F

4차 정방 행렬입니다. 데이터는 row-major 순서로 배열됩니다.

MegaGoBlockInfo

Mega Go 맵 패키지의 block 정보입니다.

MegaGoTargetLoadResult

Mega Go에서 target을 로드한 결과입니다.

MegaGoTracker

제공합니다 device-side localization. MegaGoTracker occupies 2 camera buffers.

MegaGoTrackerBlockInstance

MegaGoTracker가 로컬라이즈한 block의 인스턴스입니다.

MegaGoTrackerLocalizationResponse

MegaGoTracker 위치 확인 응답입니다.

MegaGoTrackerResult

MegaGoTracker의 출력 결과입니다. 비동기 모드에서는 결과가 OutputFrame을 통해 출력됩니다.

MegaLandmarkFilter

MegaLandmarkFilter 는 VPS cloud localization 필터링 기능을 구현합니다.

MegaLandmarkFilterResult
MegaTracker

cloud localization을 제공합니다. MegaTracker occupies 1 camera buffer.

MegaTrackerBlockInstance

MegaTracker가 로컬라이즈한 block의 인스턴스입니다.

MegaTrackerLocalizationResponse

MegaTracker localization 요청에 대한 응답입니다.

MegaTrackerResult

MegaTracker의 출력이며 OutputFrame 빈도로 업데이트됩니다.

MotionInputData

모션 입력 데이터입니다. timestamp, 월드 좌표계 기준 transform 및 tracking 상태를 포함합니다.

MotionTrackerCameraDevice

MotionTrackerCameraDevice implements a camera device for real-scale 6DOF motion tracking, outputting InputFrame (including image, camera parameters, timestamp, 6DOF position information, and tracking status). After creation, start/stop can be called to start and stop the data stream. When the device is no longer needed, close can be called to close it. It should not be used after close. MotionTrackerCameraDevice outputs InputFrame through inputFrameSource. inputFrameSource should be connected to InputFrameSink for use.

ObjectTarget

ObjectTarget은 3D object target을 나타내며 ObjectTracker가 추적할 수 있습니다. ObjectTarget의 크기는 obj 파일에 의해 결정됩니다. scale을 수정하여 size를 변경할 수 있습니다. scale의 기본값은 1입니다. ObjectTarget이 loadTarget를 통해 ObjectTracker에 성공적으로 로드된 후 ObjectTracker가 감지하고 추적할 수 있습니다.

ObjectTargetParameters

ObjectTargetParameters 는 ObjectTarget 생성에 필요한 파라미터를 나타냅니다.

ObjectTracker

ObjectTracker는 3D object target의 감지와 tracking을 구현합니다. ObjectTracker는 (1 + SimultaneousNum)개의 camera buffer를 차지합니다. camera의 setBufferCapacity를 사용하여 모든 컴포넌트가 차지하는 camera buffer 수 이상으로 설정해야 합니다. 생성 후 start/stop을 호출하여 실행을 시작하고 중지할 수 있으며, start/stop은 매우 가벼운 호출입니다. 이 컴포넌트가 더 이상 필요하지 않으면 close를 호출하여 닫을 수 있습니다. close 후에는 계속 사용하면 안 됩니다. ObjectTracker는 feedbackFrameSink를 통해 FeedbackFrame을 입력하므로, FeedbackFrameSource를 feedbackFrameSink에 연결하여 사용해야 합니다. Target이 ObjectTracker에 의해 tracking되기 전에 loadTarget/unloadTarget을 통해 로드해야 합니다. 인터페이스에 전달한 callback을 통해 load/unload 결과를 얻을 수 있습니다.

ObjectTrackerResult

ObjectTracker의 결과입니다.

OutputFrame

출력 프레임입니다. 입력 프레임과 동기 처리 컴포넌트의 출력 결과를 포함합니다.

OutputFrameBuffer

출력 프레임 버퍼입니다. 출력 프레임 입력 포트와 출력 프레임 가져오기 함수가 있으며, 출력 프레임 가져오기 방식을 비동기에서 동기 폴링으로 변환하는 데 사용되어 프레임별 렌더링에 적합합니다. OutputFrameBuffer는 camera buffer 1개를 점유합니다. camera의 setBufferCapacity를 사용하여 모든 컴포넌트가 점유하는 camera buffer 수 이상으로 설정해야 합니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

OutputFrameFork

출력 프레임 분배기입니다. 하나의 출력 프레임을 여러 컴포넌트로 병렬 전송하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

OutputFrameJoin

출력 프레임 합류기입니다. 여러 컴포넌트의 출력 프레임을 하나의 출력 프레임으로 병합하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다. 여러 입력의 연결 및 연결 해제는 데이터가 유입되는 동안 수행해서는 안 됩니다. 그렇지 않으면 출력할 수 없는 상태에 빠질 수 있습니다. (Camera 시작 전에 데이터 흐름 연결을 완료하는 것을 권장합니다.)

OutputFrameSink

Output frame 입력 포트입니다. 컴포넌트의 입력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

OutputFrameSource

출력 프레임 출력 포트입니다. 컴포넌트의 출력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

PlaneData
PoseUtility
ProximityLocationResult

근접 위치 판독값입니다. x, y, z의 단위는 미터입니다. 원점은 map block 원점입니다. y는 위쪽입니다. accuracy의 단위는 미터입니다. timestamp 및 validTime의 단위는 초입니다. is2d는 y를 사용하지 않는지 여부를 나타냅니다.

ProximityLocationResultSink

근접 위치 결과 입력 포트입니다. 컴포넌트의 입력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

ProximityLocationResultSource

근접 위치 결과 출력 포트입니다. 컴포넌트의 출력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

Recorder

Recorder는 현재 렌더링 환경의 화면 녹화 기능을 구현합니다. 현재 Recorder는 Android(4.3 이상) 및 iOS의 OpenGL ES 3.0 환경에서만 동작합니다. OpenGLES에 의존하므로 이 클래스의 모든 함수(requestPermissions 제외, 소멸자 포함)는 OpenGLES 컨텍스트를 포함하는 단일 thread에서 호출해야 합니다. Unity Only Unity에서 Multi-threaded rendering 기능을 사용하는 경우 스크립트 thread가 렌더링 thread와 분리되며 렌더링 thread에서 updateFrame을 호출할 수 없습니다. 따라서 화면 녹화 기능을 사용해야 하는 경우 Multi-threaded rendering 기능을 비활성화해야 합니다. Android에서 사용할 때는 AndroidManifest.xml에 android.permission.RECORD_AUDIO 권한 선언을 추가해야 합니다. iOS에서 사용할 때는 Info.plist에 NSMicrophoneUsageDescription 권한 선언을 추가해야 합니다.

RecorderConfiguration

RecorderConfiguration 은 Recorder 의 시작 구성입니다.

SceneMesh
SignalSink

신호 입력 포트입니다. 컴포넌트의 입력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

SignalSource

신호 출력 포트입니다. 컴포넌트의 출력 포트를 노출하는 데 사용됩니다. 이 클래스의 모든 멤버는 스레드로부터 안전합니다.

SparseSpatialMap

제공합니다 the main functions of the SparseSpatialMap system: map generation and storage, map loading and localization, and access to environment information such as point clouds and planes for hit Test. SparseSpatialMap occupies 2 camera buffers. Use camera setBufferCapacity to set no less than the total number of camera buffers occupied by all components.

SparseSpatialMapConfig

희소 공간 매핑에서 로컬라이즈 전략을 구성하는 데 사용됩니다.

SparseSpatialMapManager

SparseSpatialMap 공유 기능을 관리하는 SparseSpatialMap 관리자 클래스입니다.

SparseSpatialMapResult

sparse mapping 및 localization 시스템의 출력을 가져오며 OutputFrame 빈도로 업데이트됩니다.

Storage
SurfaceTracker

SurfaceTracker는 환경 표면의 tracking을 구현합니다. SurfaceTracker는 1개의 camera buffer를 차지합니다. camera의 setBufferCapacity를 사용하여 모든 컴포넌트가 차지하는 camera buffer 총수 이상으로 설정해야 합니다. 생성 후 start/stop을 호출하여 실행을 시작하고 중지할 수 있습니다. start/stop은 매우 가벼운 호출입니다. 이 컴포넌트가 더 이상 필요하지 않으면 close를 호출하여 닫을 수 있습니다. close 후에는 계속 사용해서는 안 됩니다. SurfaceTracker는 inputFrameSink를 통해 InputFrame을 입력합니다. 사용하려면 InputFrameSource를 inputFrameSink에 연결하십시오.

SurfaceTrackerResult

SurfaceTracker의 결과입니다.

Target

Target is the base class of all targets in EasyAR that can be tracked by ImageTracker or other algorithms.

TargetInstance

TargetInstance 는 tracker 가 추적한 target 입니다. TargetInstance 는 추적된 원본 Target 및 이 Target 의 현재 status 와 pose 를 포함합니다.

TargetTrackerResult

TargetTrackerResult는 ImageTrackerResultObjectTrackerResult의 기본 클래스입니다.

TextureId

TextureId는 그래픽 API의 텍스처 객체를 래핑합니다. OpenGL/OpenGLES에서는 getInt 및 fromInt를 사용하고, Direct3D에서는 getPointer 및 fromPointer를 사용하십시오.

ThreeDofCameraDevice

ThreeDofCameraDevice는 three dof camera 장치를 구현하며 CameraTransformType이 ThreeDofRotOnly인 InputFrame(image, camera parameters, timestamp, pose 변환 행렬 및 tracking status 포함)을 출력합니다. 생성 후 start/stop을 호출하여 video stream data 수집을 시작하고 중지할 수 있습니다. 장치가 더 이상 필요하지 않으면 close를 호출하여 닫을 수 있습니다. close 후에는 계속 사용하면 안 됩니다. ThreeDofCameraDevice는 inputFrameSource를 통해 InputFrame을 출력하므로, inputFrameSource를 InputFrameSink에 연결하여 사용해야 합니다. bufferCapacity는 InputFrame 버퍼의 용량을 나타냅니다. 이 수보다 많은 InputFrame이 장치에서 출력되고 해제되지 않으면, 이전 InputFrame이 해제될 때까지 장치는 새 InputFrame을 더 이상 출력하지 않습니다. 이로 인해 화면이 멈추는 등의 문제가 발생할 수 있습니다.

Vec2F

2차원 float 벡터입니다.

Vec2I

2차원 int 벡터입니다.

Vec3D

3차원 double 벡터입니다.

Vec3F

3차원 float 벡터입니다.

Vec4F

4차원 float 벡터입니다.

Vec4I

4차원 int 벡터입니다.

VideoInputFramePlayer

입력 frame 플레이어입니다. EIF MKV 파일에서 입력 frame을 가져오는 데 사용되는 입력 frame 출력 포트가 있습니다. 이 클래스의 모든 멤버는 thread-safe입니다.

VideoInputFrameRecorder

Input frame recorder입니다. input frame input port와 input frame output port가 있으며, 지나가는 input frame을 EIF MKV 파일에 저장하는 데 사용됩니다. 이 클래스의 모든 멤버는 thread-safe입니다.

VideoPlayer

VideoPlayer는 video playback 클래스입니다. EasyAR는 일반 video, 투명 video 및 streaming playback을 지원합니다. video 콘텐츠는 setRenderTexture에 전달된 texture에 렌더링됩니다. 이 클래스는 OpenGLES 3.0 texture만 지원합니다. OpenGLES에 의존하므로 이 클래스의 모든 함수(destructor 포함)는 OpenGLES 컨텍스트를 포함하는 단일 thread에서 호출해야 합니다. 현재 버전은 너비와 높이가 모두 16의 배수여야 합니다. 지원되는 video 파일 형식 Windows: Media Foundation 호환 형식. 추가 디코더를 설치하면 더 많은 형식을 지원할 수 있습니다. Supported Media Formats in Media Foundation 을 참조하십시오. DirectShow는 지원되지 않습니다. Mac: 지원되지 않습니다. Android: 시스템이 지원하는 형식. Supported media formats 를 참조하십시오. iOS: 시스템이 지원하는 형식. 현재 유효한 참조 문서가 없습니다.

VisionOSARKitCameraDevice

VisionOSARKitCameraDevice는 VisionOS ARKit 기반 camera device를 구현하며, image, camera parameters, timestamp, 6DOF 위치 정보 및 tracking status를 포함하는 InputFrame을 출력합니다. 생성 후 start/stop을 호출하여 video stream data 수집을 시작하고 중지할 수 있습니다. 이 device가 더 이상 필요하지 않으면 close를 호출하여 닫을 수 있습니다. close 후에는 계속 사용해서는 안 됩니다. VisionOSARKitCameraDevice는 inputFrameSource를 통해 InputFrame을 출력합니다. 사용하려면 inputFrameSource를 InputFrameSink에 연결하십시오. bufferCapacity는 InputFrame buffer의 용량을 나타냅니다. 이 수보다 많은 InputFrame이 이 device에서 출력되고 해제되지 않으면, 이전 InputFrame이 해제될 때까지 이 device는 새 InputFrame을 더 이상 출력하지 않습니다. 이로 인해 화면이 멈추는 등의 문제가 발생할 수 있습니다.

XREALCameraDevice

XREALCameraDevice는 XREAL Enterprise Native SDK Plugin 기반 camera 장치를 구현하며 InputFrame(image, camera parameters, timestamp, 6DOF 위치 정보 및 tracking status는 가져올 수 없음)을 출력합니다. 생성 후 start/stop을 호출하여 video stream data 수집을 시작하고 중지할 수 있습니다. isDeviceSupported가 true를 반환한 후에만 start를 호출해야 합니다. 장치가 더 이상 필요하지 않으면 close를 호출하여 닫을 수 있습니다. close 후에는 계속 사용하면 안 됩니다. XREALCameraDevice는 inputFrameSource를 통해 InputFrame을 출력하므로, inputFrameSource를 InputFrameSink에 연결하여 사용해야 합니다. bufferCapacity는 InputFrame 버퍼의 용량을 나타냅니다. 이 수보다 많은 InputFrame이 장치에서 출력되고 해제되지 않으면, 이전 InputFrame이 해제될 때까지 장치는 새 InputFrame을 더 이상 출력하지 않습니다. 이로 인해 화면이 멈추는 등의 문제가 발생할 수 있습니다.

열거형

AndroidCameraApiType
ARCoreCameraDeviceFocusMode
ARCoreDeviceListDownloadStatus
ARKitCameraDeviceFocusMode
BlockPriorMode

사전 맵 정보의 동작 모드

CalibrationDownloadStatus
CameraDeviceFocusMode
CameraDevicePreference
CameraDevicePresetProfile
CameraDeviceType

카메라 장치 유형입니다.

CameraModelType

카메라 모델 유형입니다.

CameraState
CameraTransformType

카메라 변환 유형입니다.

CloudLocalizerStatus

클라우드 위치 확인 상태입니다.

CloudRecognizationStatus
EngineOperatingSystem
ImageTrackerMode
InertialCameraDeviceFocusMode
LocalizationMode
LogLevel
MegaApiType

MEGA API 유형입니다.

MegaGoTargetLoadStatus

Mega Go target 로드 상태입니다.

MegaGoTrackerError

MegaGoTracker 오류입니다.

MegaGoTrackerOutputUpdateStatus

MegaGoTracker 위치 확인 응답이 출력에 적용한 업데이트 상태입니다.

MegaGoTrackerStatus

MegaGoTracker 실행 상태입니다.

MegaLandmarkFilterStatus
MegaTrackerLocalizationStatus
MotionTrackerCameraDeviceFocusMode
MotionTrackerCameraDeviceFPS
MotionTrackerCameraDeviceQualityLevel
MotionTrackerCameraDeviceResolution
MotionTrackerCameraDeviceTrackingMode
MotionTrackingStatus

장치 모션 추적의 품질을 설명합니다.

PermissionStatus
PixelFormat

PixelFormat은 이미지 픽셀 형식을 나타냅니다. 모든 형식의 픽셀 방향은 왼쪽에서 오른쪽, 위에서 아래입니다.

PlaneType
RecordProfile
RecordStatus
RecordVideoOrientation
RecordVideoSize
RecordZoomMode
StorageType

StorageType은 이미지, json 파일, 비디오 또는 기타 파일의 저장 위치를 나타냅니다. StorageType은 파일이 저장되는 루트 디렉터리를 지정합니다. 모든 관련 인터페이스에서 이 루트 디렉터리를 기준으로 하는 상대 경로를 사용할 수 있습니다.

TargetStatus
ThreeDofCameraDeviceFocusMode
ValidationState
VideoInputFrameRecorderCompletionReason
VideoInputFrameRecorderVideoCodec
VideoStatus
VideoType