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直至先前幀被釋放,可能導致畫面凍結等問題。 注意:當前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

相機參數,包括影像大小、焦距、主點、相機類型和相機相對裝置自然方向的旋轉角度。

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的緩衝區。應使用camera的setBufferCapacity設置不少於所有元件佔用的camera緩衝區數量。 建立之後,可以呼叫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。

MegaLandmarkFilter

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

MegaLandmarkFilterResult
MegaTracker

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

MegaTrackerBlockInstance

MegaTracker定位到的block實例。

MegaTrackerLocalizationResponse

MegaTracker定位請求的回應。

MegaTrackerResult

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

MotionInputData

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

MotionTrackerCameraDevice

MotionTrackerCameraDevice實現了一款真實尺度6DOF運動追蹤的攝影機裝置,輸出 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物件目標的偵測和追蹤。 ObjectTracker佔用(1+SimultaneousNum)個camera的緩衝區。應使用camera的setBufferCapacity設定不少於所有元件佔用的camera緩衝區數量。 建立之後,可以呼叫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類型。

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