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 (包含圖像、攝像機參數、時間戳、6DOF位置信息和跟蹤狀態)。 使用時需要先使用java.lang.System.loadLibrary加載libarcore_sdk_c.so。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。 當不再需要該設備時,可以調用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 (包含圖像、攝像機參數、時間戳、6DOF位置信息和跟蹤狀態)。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 ARKitCameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。

AttitudeSensor

AttitudeSensor調用了系統提供的姿態傳感器,輸出 AttitudeSensorResult 。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 不建議同時打開多次,可能會無法使用或精度下降。

AttitudeSensorResult

姿態傳感器讀數。 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

稠密重建得到的模型使用三角網格表示,稱爲mesh。由於mesh會進行頻繁的更新,爲了保證效率,整個重建模型的mesh被分割成了非常多的mesh block。一個mesh block由一個邊長大概1米的立方體組成,其中有vertex和index等元素。 BlockInfo用來描述一個mesh block的內容。其中(x,y,z)是mesh block的索引,將(x,y,z)乘上每個mesh block的物理尺寸可以獲得這個mesh block的原點在世界座標系中的座標。可以通過mesh block在世界中的位置對需要顯示的部分進行提前過濾,以節省渲染需要的時間。

BlockPriorResult

先驗地圖信息。 blockIds爲地圖id。 mode爲先驗信息被系統使用的模式,可以爲soft或hard。參考BlockPriorMode

Buffer

Buffer 存儲了原始字節數組,可以用來訪問圖像數據。 在Java API中可以從 Image 中獲取buffer然後copy數據到Java字節數組。 在EasyAR Sense的所有版本中,你都可以訪問圖像數據。參考 Image

BufferDictionary

一個從文件路徑到 Buffer 的映射。用於表示多個放在內存中的文件。

BufferPool

BufferPool 實現了一個內存池,可用於自定義攝像頭接入等需要反覆分配相同大小內存的功能,降低內存分配耗時。

CalibrationDownloader

CalibrationDownloader用於下載更新MotionTracker中使用的標定參數。下載後需要重新創建MotionTracker纔會起作用。

CallbackScheduler

回調調度器。 有兩個子類 DelayedCallbackSchedulerImmediateCallbackScheduler 。 其中 DelayedCallbackScheduler 用於將回調推遲到手動調用的時候調用,可用於單線程環境下(如各種UI環境)。 ImmediateCallbackScheduler 用於將回調立即執行,可用於多線程環境下(如服務器或後臺服務)。

CameraDevice

CameraDevice實現了一個camera設備,輸出 InputFrame (包含圖像、攝像機參數和時間戳)。在Windows、Mac、Android和iOS上可用。 打開之後,可以調用start/stop來開始和停止採集數據。start/stop不會影響之前所設置的camera參數。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 CameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。 Android使用時需要在AndroidManifest.xml中加入android.permission.CAMERA權限聲明。 iOS使用時需要在Info.plist中加入NSCameraUsageDescription權限聲明。

CameraDeviceSelector

用於在Android上選擇Camera API(camera1或camera2)。camera1兼容性較好,但缺乏一些必要的信息,如時間戳。camera2在部分設備上存在兼容性問題。 不同選項會根據用途選擇camera1或camera2。

CameraParameters

camera參數,包括圖像大小、焦距、主點、camera類型和camera相對設備自然方向的旋轉角度。

CloudLocalizer

CloudLocalizer實現了雲定位功能。

CloudLocalizerBlockInstance

CloudLocalizer定位到的block的實例。

CloudLocalizerResult
CloudRecognizationResult
CloudRecognizer

CloudRecognizer實現了雲識別功能。雲識別功能需要在雲端創建雲識別圖庫才能使用,請參考EasyAR CRS文檔。 當不再需要該組件時,可以調用close對其進行關閉。close之後不應繼續使用。 在使用CloudRecognizer之前,需要設置並準備好一個 ImageTracker 。任何返回的target在被track之前都應使用 loadTarget 手動加載進入 ImageTracker 。加載之後,target的識別和跟蹤即和本地target的使用相同。在一個target被識別到之後,你可以從回調中獲取到,然後你應該使用target uid來區分不同的target。target runtimeID是動態生成的,不適用於作爲雲識別情況下的target的唯一區分。

DelayedCallbackScheduler

延時回調調度器。 用於將回調推遲到手動調用的時候調用,可用於單線程環境下(如各種UI環境)。 本類的所有成員都是線程安全的。

DenseSpatialMap

DenseSpatialMap用來對環境進行精確的三維稠密重建,其重建的模型用三角網格表示,稱爲mesh。 DenseSpatialMap佔用1個camera的buffer。

DeviceAuxiliaryInfo
Engine
EventDumpRecorder

事件轉儲錄製器。 用於將一些關鍵診斷信息保存到EED文件中。 本類的所有成員都是線程安全的。

FeedbackFrame

反饋幀。 包含一個輸入幀和一個歷史輸出幀,用於 ImageTracker 等反饋式同步處理組件。

FeedbackFrameFork

反饋幀分流器。 用於將一個反饋幀並行傳輸到多個組件中。 本類的所有成員都是線程安全的。

FeedbackFrameSink

反饋幀輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是線程安全的。

FeedbackFrameSource

反饋幀輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是線程安全的。

FrameFilterResult

FrameFilterResult是所有使用同步算法組件結果的基類。

Gyroscope

Gyroscope調用了系統提供的陀螺儀,輸出 GyroscopeResult 。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 不建議同時打開多次,可能會無法使用或精度下降。

GyroscopeResult

陀螺儀讀數。 x軸正方向從設備中心指向屏幕右部。 y軸正方向從設備中心指向屏幕上部。 z軸正方向從設備中心垂直屏幕向外。 x, y, z表示繞對應的軸旋轉的角速度,單位爲弧度/秒。 從座標軸正方向上某處看向設備時的逆時針方向爲旋轉正方向。 timestamp單位爲秒。

GyroscopeResultSink

陀螺儀結果輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是線程安全的。

GyroscopeResultSource

陀螺儀結果輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是線程安全的。

Image

Image存儲了圖像數據,用來表示內存中的圖像。 Image以字節數組的方式提供了對原始數據的訪問,同時也提供了訪問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實現了平面卡片的檢測和跟蹤。 ImageTracker佔用(1 + SimultaneousNum)個camera的buffer。應使用camera的setBufferCapacity設置不少於所有組件佔用的camera的buffer數量。 創建之後,可以調用start/stop來開始和停止運行,start/stop是非常輕量的調用。 當不再需要該組件時,可以調用close對其進行關閉。close之後不應繼續使用。 ImageTracker通過feedbackFrameSink輸入 FeedbackFrame ,應將 FeedbackFrameSource 連接到feedbackFrameSink上進行使用。 在 Target 可以被ImageTracker跟蹤之前,你需要通過loadTarget/unloadTarget將它載入。可以通過傳入接口的回調來獲取load/unload的結果。

ImageTrackerConfig

ImageTracker 創建配置。

ImageTrackerResult

ImageTracker 的結果。

ImmediateCallbackScheduler

立即回調調度器。 用於將回調立即執行,可用於多線程環境下(如服務器或後臺服務)。 本類的所有成員都是線程安全的。

InertialCameraDevice

InertialCameraDevice實現了一個基於運動慣性的camera設備,輸出 CameraTransformType 爲FiveDofRotXZ的 InputFrame (包含圖像、攝像機參數、時間戳、位姿轉換矩陣和跟蹤狀態)。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 InertialCameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。

InputFrame

輸入幀。 包含圖像、camera參數、時間戳、相機相對於世界座標系的變換和跟蹤狀態。 其中,camera參數、時間戳、相機相對於世界座標系的變換和跟蹤狀態均爲可選,但特定的算法組件會對輸入有特定的要求。

InputFrameFork

輸入幀分流器。 用於將一個輸入幀並行傳輸到多個組件中。 本類的所有成員都是線程安全的。

InputFramePlayer

輸入幀播放器。 有一個輸入幀輸出端口,用於從EIF文件將輸入幀取出。 本類的所有成員都是線程安全的。

InputFrameRecorder

輸入幀錄製器。 有一個輸入幀輸入端口和一個輸入幀輸出端口,用於將經過的輸入幀保存到EIF文件中。 本類的所有成員都是線程安全的。

InputFrameSink

輸入幀輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是線程安全的。

InputFrameSource

輸入幀輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是線程安全的。

InputFrameThrottler

輸入幀節流器。 有一個輸入幀輸入端口和輸入幀輸出端口,用於在算法組件未完成處理上一幀數據的時候阻止新的輸入幀進入算法組件。 InputFrameThrottler佔用1個camera的buffer。應使用camera的setBufferCapacity設置不少於所有組件佔用的camera的buffer數量。 本類的所有成員都是線程安全的。 需要注意其signalInput的連接和斷開不應該在有數據流入的同時進行,否則可能會陷入不能輸出的狀態。(推薦在Camera啓動之前完成數據流連接。)

InputFrameToFeedbackFrameAdapter

輸入幀到反饋幀適配器。 有一個輸入幀輸入端口、一個歷史輸出幀輸入端口和一個反饋幀輸出端口,用於將輸入幀和歷史輸出幀組合成反饋幀,傳遞給要求輸入反饋幀的算法組件,例如 ImageTracker 。 每次輸入幀輸入時,會連帶上一次輸入的歷史輸出幀合成反饋幀。如果沒有輸入過歷史輸出幀,則反饋幀中的歷史輸出幀爲空。 InputFrameToFeedbackFrameAdapter佔用1個camera的buffer。應使用camera的setBufferCapacity設置不少於所有組件佔用的camera的buffer數量。 本類的所有成員都是線程安全的。

InputFrameToOutputFrameAdapter

輸入幀到輸出幀適配器。 有一個輸入幀輸入端口和一個輸出幀輸出端口,用於將輸入幀包裝成輸出幀,實現不接入算法組件,直接進行渲染的功能。 本類的所有成員都是線程安全的。

JniUtility

JNI工具類。 用於在Unity中對Java的數組和ByteBuffer進行包裝。 不支持iOS平臺。

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

三階方陣。數據的排列方式爲row-major。

Matrix44F

四階方陣。數據的排列方式爲row-major。

MegaGoBlockInfo

Mega Go 地圖壓縮包中的 block 信息。

MegaGoTargetLoadResult

Mega Go 加載 target 的結果。

MegaGoTracker

提供設備端定位功能。 MegaGoTracker 佔用 2 個相機緩衝區。

MegaGoTrackerBlockInstance

MegaGoTracker 定位到的 block 的實例。

MegaGoTrackerLocalizationResponse

MegaGoTracker 定位的響應。

MegaGoTrackerResult

MegaGoTracker 的輸出結果。異步模式下,結果通過 OutputFrame 輸出。

MegaLandmarkFilter

MegaLandmarkFilter實現了VPS雲定位過濾功能。

MegaLandmarkFilterResult
MegaTracker

提供雲定位功能。 MegaTracker佔用1個camera的buffer。

MegaTrackerBlockInstance

MegaTracker定位到的block的實例。

MegaTrackerLocalizationResponse

MegaTracker定位請求的響應。

MegaTrackerResult

MegaTracker的輸出,會以OutputFrame的頻率更新。

MotionInputData

運動輸入數據。 包含、時間戳、相對於世界座標系的變換和跟蹤狀態。

MotionTrackerCameraDevice

MotionTrackerCameraDevice實現了一個真實尺度6DOF運動追蹤的camera設備,輸出 InputFrame (包含圖像、攝像機參數、時間戳、6DOF位置信息和跟蹤狀態)。 創建之後,可以調用start/stop來開始和停止數據流。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 MotionTrackerCameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。

ObjectTarget

ObjectTarget表示3D object target,它可以被 ObjectTracker 所跟蹤。 ObjectTarget的大小由 obj 文件決定。可以通過修改 scale 達到修改size的目的。 scale 默認爲1。 ObjectTarget通過 loadTarget 成功載入 ObjectTracker 之後可以被 ObjectTracker 檢測和跟蹤。

ObjectTargetParameters

ObjectTargetParameters表示創建 ObjectTarget 所需要的參數。

ObjectTracker

ObjectTracker實現了3D object target的檢測和跟蹤。 ObjectTracker佔用(1 + SimultaneousNum)個camera的buffer。應使用camera的setBufferCapacity設置不少於所有組件佔用的camera的buffer數量。 創建之後,可以調用start/stop來開始和停止運行,start/stop是非常輕量的調用。 當不再需要該組件時,可以調用close對其進行關閉。close之後不應繼續使用。 ObjectTracker通過feedbackFrameSink輸入 FeedbackFrame ,應將 FeedbackFrameSource 連接到feedbackFrameSink上進行使用。 在 Target 可以被ObjectTracker跟蹤之前,你需要通過loadTarget/unloadTarget將它載入。可以通過傳入接口的回調來獲取load/unload的結果。

ObjectTrackerResult

ObjectTracker 的結果。

OutputFrame

輸出幀。 包含輸入幀和同步處理組件的輸出結果。

OutputFrameBuffer

輸出幀緩存。 有一個輸出幀輸入端口和輸出幀獲取函數,用於將輸出幀的獲取方式從異步轉化爲同步輪詢,適合逐幀渲染。 OutputFrameBuffer佔用1個camera的buffer。應使用camera的setBufferCapacity設置不少於所有組件佔用的camera的buffer數量。 本類的所有成員都是線程安全的。

OutputFrameFork

輸出幀分流器。 用於將一個輸出幀並行傳輸到多個組件中。 本類的所有成員都是線程安全的。

OutputFrameJoin

輸出幀合流器。 用於將多個組件的輸出幀合併成一個輸出幀。 本類的所有成員都是線程安全的。 需要注意其多個輸入的連接和斷開不應該在有數據流入的同時進行,否則可能會陷入不能輸出的狀態。(推薦在Camera啓動之前完成數據流連接。)

OutputFrameSink

輸出幀輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是線程安全的。

OutputFrameSource

輸出幀輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是線程安全的。

PlaneData
PoseUtility
ProximityLocationResult

鄰近位置讀數。 x, y, z單位爲米。原點爲地圖塊原點。y向上。 accuracy單位爲米。 timestamp, validTime單位爲秒。 is2d表示是否不使用y。

ProximityLocationResultSink

鄰近位置結果輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是線程安全的。

ProximityLocationResultSource

鄰近位置結果輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是線程安全的。

Recorder

Recorder 實現了對當前渲染環境的屏幕錄製功能。 當前Recorder 只在 Android(4.3 或更新)和 iOS的OpenGL ES 3.0 環境下工作。 由於依賴於OpenGLES,本類的所有函數(除requestPermissions以外,包括析構函數)都必須在單個包含OpenGLES上下文的線程中調用。 Unity Only Unity中如果使用Multi-threaded rendering功能,則腳本線程將與渲染線程分離,無法在渲染線程上調用updateFrame。因此,如果需要使用屏幕錄製功能,應禁用Multi-threaded rendering功能。 Android使用時需要在AndroidManifest.xml中加入android.permission.RECORD_AUDIO權限聲明。 iOS使用時需要在Info.plist中加入NSMicrophoneUsageDescription權限聲明。

RecorderConfiguration

RecorderConfiguration爲 Recorder 的啓動配置。

SceneMesh
SignalSink

信號輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是線程安全的。

SignalSource

信號輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是線程安全的。

SparseSpatialMap

提供SparseSpatialMap系統主要的功能,地圖生成和存儲、地圖加載和定位,同時可以獲取點雲,平面等環境信息並進行hit Test。 SparseSpatialMap佔用2個camera的buffer。應使用camera的setBufferCapacity設置不少於所有組件佔用的camera的buffer數量。

SparseSpatialMapConfig

用於配置稀疏建圖中的定位策略。

SparseSpatialMapManager

SparseSpatialMap管理類,用於管理SparseSpatialMap的分享功能。

SparseSpatialMapResult

獲取稀疏建圖與定位系統的輸出,會以OutputFrame的頻率更新。

Storage
SurfaceTracker

SurfaceTracker實現了對環境表面的跟蹤。 SurfaceTracker佔用1個camera的buffer。應使用camera的setBufferCapacity設置不少於所有組件佔用的camera的buffer數量。 創建之後,可以調用start/stop來開始和停止運行,start/stop是非常輕量的調用。 當不再需要該組件時,可以調用close對其進行關閉。close之後不應繼續使用。 SurfaceTracker通過inputFrameSink輸入 InputFrame ,應將 InputFrameSource 連接到inputFrameSink上進行使用。

SurfaceTrackerResult

SurfaceTracker 的結果。

Target

Target是EasyAR裏面所有可以被 ImageTracker 或其它算法跟蹤的目標的基類。

TargetInstance

TargetInstance是被tracker跟蹤到的target。 TargetInstance包括被跟蹤上的原始 Target 以及這個 Target 當前的狀態和姿態。

TargetTrackerResult

TargetTrackerResult是 ImageTrackerResultObjectTrackerResult 的基類。

TextureId

TextureId封裝圖形API中的紋理對象。 其中,OpenGL/OpenGLES應使用getInt和fromInt,Direct3D應使用getPointer和fromPointer。

ThreeDofCameraDevice

ThreeDofCameraDevice實現了一個three dof的camera設備,輸出 CameraTransformType 爲ThreeDofRotOnly的 InputFrame (包含圖像、攝像機參數、時間戳、位姿轉換矩陣和跟蹤狀態)。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 ThreeDofCameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。

Vec2F

二維float向量。

Vec2I

二維int向量。

Vec3D

三維double向量。

Vec3F

三維float向量。

Vec4F

四維float向量。

Vec4I

四維int向量。

VideoInputFramePlayer

輸入幀播放器。 有一個輸入幀輸出端口,用於從EIF MKV文件將輸入幀取出。 本類的所有成員都是線程安全的。

VideoInputFrameRecorder

輸入幀錄製器。 有一個輸入幀輸入端口和一個輸入幀輸出端口,用於將經過的輸入幀保存到EIF MKV文件中。 本類的所有成員都是線程安全的。

VideoPlayer

VideoPlayer是視頻播放類。 EasyAR支持普通的視頻、透明視頻和流媒體播放。視頻內容會被渲染到傳入setRenderTexture的texture上。 該類只支持OpenGLES 3.0的texture。 由於依賴於OpenGLES,本類的所有函數(包括析構函數)都必須在單個包含OpenGLES上下文的線程中調用。 當前版本要求寬高均爲16的倍數。 支持的視頻文件格式 Windows: Media Foundation兼容格式,安裝額外的解碼器可以支持更多格式,請參考 Supported Media Formats in Media Foundation ,不支持DirectShow Mac: 不支持 Android: 系統支持的格式,請參考 Supported media formats 。 iOS: 系統支持的格式,當前沒有有效的參考文檔

VisionOSARKitCameraDevice

VisionOSARKitCameraDevice實現了一個基於VisionOS ARKit的camera設備,輸出 InputFrame (包含圖像、攝像機參數、時間戳、6DOF位置信息和跟蹤狀態)。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 VisionOSARKitCameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。

XREALCameraDevice

XREALCameraDevice實現了一個基於XREAL Enterprise Native SDK Plugin的camera設備,輸出 InputFrame (不可獲取圖像、攝像機參數、時間戳、6DOF位置信息和跟蹤狀態)。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。需要確保在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