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ベースのカメラデバイスを実装しています。出力として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)の実装では、セッションの作成と破棄時にメモリリークが存在し、複数回の作成と破棄によりメモリ使用量が増加し続け、破棄後も解放されません。

ARCoreDeviceListDownloader

ARCoreDeviceListDownloaderは、ARCoreCameraDeviceで使用されるデバイスリストのキャリブレーションパラメータをダウンロードおよび更新するために使用されます。

ARKitCameraDevice

ARKitCameraDeviceは、ARKitベースのカメラデバイスを実装し、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), xsin(θ/2), ysin(θ/2), zsin(θ/2))である。 (v0, v1, v2, v3) = (cos(θ/2), xsin(θ/2), ysin(θ/2), zsin(θ/2))。 参考座標系は、有向の標準直交基底として定義され、 Zは空を指し、地面と平行である。 (X, Y, Z)は右手系を構成する。 timestampの単位は秒である。

AttitudeSensorResultSink

姿勢センサー結果入力ポート。 コンポーネントの入力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

AttitudeSensorResultSource

姿勢センサー結果出力ポート。 コンポーネントの出力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

BlockInfo

密な再構築によって得られたモデルは三角メッシュで表現され、メッシュと呼ばれます。メッシュは頻繁に更新されるため、効率を保証するために、再構築モデルのメッシュは非常に多くのメッシュブロックに分割されます。1つのメッシュブロックは、辺の長さが約1メートルの立方体で構成され、頂点(vertex)やインデックス(index)などの要素が含まれます。 BlockInfoは、メッシュブロックの内容を記述するために使用されます。ここで、(x,y,z)はメッシュブロックのインデックスであり、(x,y,z)に各メッシュブロックの物理サイズを乗算すると、このメッシュブロックの原点がワールド座標系での座標を取得できます。メッシュブロックのワールド内の位置に基づいて、表示が必要な部分を事前にフィルタリングすることで、レンダリングに必要な時間を節約できます。

BlockPriorResult

事前マップ情報。 blockIdsはマップID。 modeは事前情報がシステムで使用されるモード。softまたはhardを指定可能。BlockPriorModeを参照。

Buffer

Bufferは生のバイト配列を格納し、画像データにアクセスするために使用できます。 Java APIでは、Imageからbufferを取得し、データをJavaバイト配列にコピーできます。 EasyAR Senseの全バージョンで画像データにアクセス可能です。参照: Image

BufferDictionary

ファイルパスから Buffer へのマッピング。メモリに配置された複数のファイルを表すために使用されます。

BufferPool

BufferPoolはメモリプールを実装し、カスタムカメラアクセスなど同じサイズのメモリを繰り返し割り当てる必要がある機能に使用でき、メモリ割り当ての時間を短縮します。

CalibrationDownloader

CalibrationDownloaderは、MotionTrackerで使用されるキャリブレーションパラメータをダウンロードおよび更新するために使用されます。ダウンロード後、MotionTrackerを再作成する必要があります。そうしないと効果がありません。

CallbackScheduler

コールバックスケジューラ。 2つのサブクラスがあります DelayedCallbackSchedulerImmediateCallbackScheduler 。 そのうち DelayedCallbackScheduler はコールバックを手動で呼び出されるまで延期するために使用され、シングルスレッド環境(例:様々なUI環境)で使用できます。 ImmediateCallbackScheduler はコールバックを即座に実行するために使用され、マルチスレッド環境(例:サーバーやバックグラウンドサービス)で使用できます。

CameraDevice

CameraDeviceはカメラデバイスを実装し、InputFrameを出力します(画像、カメラパラメータ、タイムスタンプを含む)。Windows、Mac、Android、iOSで利用可能です。 開いた後、start/stopを呼び出してデータの収集を開始および停止できます。start/stopは以前に設定されたカメラパラメータに影響しません。 デバイスが不要になったら、closeを呼び出して閉じることができます。close後は使用を継続しないでください。 CameraDeviceはinputFrameSourceを通じてInputFrameを出力します。inputFrameSourceをInputFrameSinkに接続して使用する必要があります。 bufferCapacityは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が検出したブロックのインスタンス。

CloudLocalizerResult
CloudRecognizationResult
CloudRecognizer

CloudRecognizerはクラウド認識機能を実装しています。クラウド認識機能を使用するには、クラウド上にクラウド認識ギャラリーを作成する必要があります。EasyAR CRSドキュメントを参照してください。 このコンポーネントが不要になったら、closeを呼び出して閉じることができます。closeした後は使用を続けないでください。 CloudRecognizerを使用する前に、ImageTrackerを設定して準備する必要があります。返されたtargetは、trackされる前にloadTargetを使用して手動でImageTrackerにロードする必要があります。ロード後、targetの認識と追跡はローカルtargetの使用と同じです。targetが認識された後、コールバックから取得でき、異なるtargetを区別するためにtarget uidを使用する必要があります。target runtimeIDは動的に生成されるため、クラウド認識の場合のtargetの一意の識別子として使用できません。

DelayedCallbackScheduler

遅延コールバックスケジューラ。 手動呼び出し時までコールバックの実行を遅延させるために使用され、シングルスレッド環境(各種UI環境など)で利用可能。 本クラスの全メンバはスレッドセーフです。

DenseSpatialMap

DenseSpatialMapは環境の高精度な3次元高密度再構築に使用され、その再構築されたモデルは三角メッシュで表現され、メッシュと呼ばれる。 DenseSpatialMapは1つのカメラバッファを占有する。

DeviceAuxiliaryInfo
Engine
EventDumpRecorder

イベントダンプレコーダ。 主要な診断情報をEEDファイルに保存するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

FeedbackFrame

フィードバックフレーム。 入力フレームと歴史出力フレームを含む。 ImageTracker などのフィードバック式同期処理コンポーネントに使用される。

FeedbackFrameFork

フィードバックフレームスプリッタ。 複数のコンポーネントにフィードバックフレームを並列転送するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

FeedbackFrameSink

フィードバックフレーム入力ポート。 コンポーネントの入力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

FeedbackFrameSource

フィードバックフレーム出力ポート。 コンポーネントの出力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

FrameFilterResult

FrameFilterResultはすべての同期アルゴリズムコンポーネント結果の基底クラスです。

Gyroscope

Gyroscopeはシステム提供のジャイロスコープを呼び出し、出力GyroscopeResult。 デバイスが不要になった場合、closeを呼び出して閉じることができます。close後は使用を続けるべきではありません。 同時に複数回開くことは推奨されません。使用不能になるか精度が低下する可能性があります。

GyroscopeResult

ジャイロスコープの読み取り。 x軸の正方向は、デバイスの中心から画面の右側を指します。 y軸の正方向は、デバイスの中心から画面の上部を指します。 z軸の正方向は、デバイスの中心から画面に垂直に外側を指します。 x,y,zは、それぞれの軸周りの回転角速度を表し、単位はラジアン/秒です。 座標軸の正方向のどこかからデバイスを見たときの反時計回りの方向が回転の正方向です。 タイムスタンプの単位は秒です。

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]);
    // ここでbytesを使用
    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);
    // ここでbytesを使用
    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)個のカメラバッファを占有します。カメラのsetBufferCapacityを使用して、すべてのコンポーネントが占有するカメラバッファの数以上に設定する必要があります。 作成後、start/stopを呼び出して実行を開始および停止できます。start/stopは非常に軽量な呼び出しです。 コンポーネントが不要になったら、closeを呼び出して閉じることができます。close後は使用を続けてはいけません。 ImageTrackerはfeedbackFrameSinkを介してFeedbackFrameを入力します。FeedbackFrameSourceをfeedbackFrameSinkに接続して使用する必要があります。 TargetがImageTrackerによって追跡される前に、loadTarget/unloadTargetを使用してロードする必要があります。ロード/アンロードの結果は、インターフェースのコールバックを渡すことで取得できます。

ImageTrackerConfig

ImageTracker 作成設定。

ImageTrackerResult

ImageTrackerの結果。

ImmediateCallbackScheduler

即時コールバックスケジューラ。 コールバックを即時に実行するために使用されます。マルチスレッド環境下(サーバーやバックグラウンドサービスなど)で使用できます。 このクラスのすべてのメンバーはスレッドセーフです。

InertialCameraDevice

InertialCameraDeviceは、運動慣性に基づくカameraデバイスを実装し、出力としてCameraTransformTypeがFiveDofRotXZのInputFrame(画像、カメラパラメータ、タイムスタンプ、姿勢変換行列、および追跡状態を含む)を提供します。 作成後、start/stopを呼び出してビデオストリームデータの収集を開始および停止できます。 デバイスが不要になったら、closeを呼び出して閉じることができます。close後に使用を続けるべきではありません。 InertialCameraDeviceはinputFrameSourceを介してInputFrameを出力し、inputFrameSourceをInputFrameSinkに接続して使用する必要があります。 bufferCapacityはInputFrameバッファの容量を表し、この数を超えるInputFrameがデバイスから出力され、解放されない場合、以前のInputFrameが解放されるまで、デバイスは新しいInputFrameを出力しません。これにより、画面の固まりなどの問題が発生する可能性があります。

InputFrame

入力フレーム。 画像、カメラパラメータ、タイムスタンプ、カメラのワールド座標系に対する変換とトラッキング状態を含む。 ただし、カメラパラメータ、タイムスタンプ、カメラのワールド座標系に対する変換とトラッキング状態はすべてオプションですが、特定のアルゴリズムコンポーネントは入力に特定の要件があります。

InputFrameFork

入力フレームスプリッタ。 1つの入力フレームを複数のコンポーネントに並列的に送信するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。

InputFramePlayer

入力フレームプレーヤー。 入力フレーム出力ポートがあり、EIFファイルから入力フレームを取り出すために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

InputFrameRecorder

入力フレームレコーダー。 入力フレーム入力ポートと入力フレーム出力ポートがあり、通過する入力フレームをEIFファイルに保存するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

InputFrameSink

入力フレーム入力ポート。 コンポーネントの入力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

InputFrameSource

入力フレーム出力ポート。 コンポーネントの出力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

InputFrameThrottler

入力フレームスロットル。 入力フレーム入力ポートと入力フレーム出力ポートを持ち、アルゴリズムコンポーネントが前フレームの処理を完了していない場合に新しい入力フレームの流入を阻止する。 InputFrameThrottlerは1つのカメラバッファを占有する。カメラのsetBufferCapacityを使用して、全コンポーネントが占有するバッファ数以上に設定すべきである。 本クラスの全メンバーはスレッドセーフである。 signalInputの接続・切断はデータ流入中に行うべきではない。そうしないと出力不能状態に陥る可能性がある。(カメラ起動前にデータフロー接続を完了することを推奨。)

InputFrameToFeedbackFrameAdapter

入力フレームからフィードバックフレームへのアダプタ。 入力フレーム入力ポート、履歴出力フレーム入力ポート、フィードバックフレーム出力ポートを備え、入力フレームと履歴出力フレームを組み合わせてフィードバックフレームを生成し、ImageTrackerなどのフィードバックフレームを必要とするアルゴリズムコンポーネントに渡す。 入力フレームが入力されるたびに、前回の履歴出力フレームと組み合わせてフィードバックフレームが生成される。履歴出力フレームが入力されていない場合、フィードバックフレーム内の履歴出力フレームは空となる。 InputFrameToFeedbackFrameAdapterはカメラのバッファを1つ占有する。カメラのsetBufferCapacityを使用して、全コンポーネントが占有するカメラバッファ数以上の容量を設定する必要がある。 本クラスのすべてのメンバーはスレッドセーフである。

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(マイクロテスラ)です。 タイムスタンプの単位は秒です。

MagnetometerResultSink

磁力計結果入力ポート。 コンポーネントの入力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

MagnetometerResultSource

磁力計の結果出力ポート。 コンポーネントの出力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

Matrix33F

三次正方行列。データの配列方式はrow-majorです。

Matrix44F

4次正方行列。データの排列方法は行優先です。

MegaLandmarkFilter

MegaLandmarkFilterはVPSクラウド位置フィルタリング機能を実装しています。

MegaLandmarkFilterResult
MegaTracker

クラウド位置特定機能を提供します。 MegaTrackerは1つのcameraのbufferを占有します。

MegaTrackerBlockInstance

MegaTrackerによって位置付けられたブロックのインスタンス。

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を変更することでサイズを変更できます。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つのcamerabufferを占有します。cameraのsetBufferCapacityを使用して、すべてのコンポーネントが占有するcamerabufferの数以上に設定する必要があります。 このクラスのすべてのメンバーはスレッドセーフです。

OutputFrameFork

出力フレームスプリッタ。 1つの出力フレームを複数のコンポーネントに並列に転送するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

OutputFrameJoin

出力フレームマージャー。 複数のコンポーネントの出力フレームを1つの出力フレームにマージするために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。 複数入力の接続と切断は、データが流入している間に行うべきではありません。そうしないと、出力不能状態に陥る可能性があります。(カメラ起動前にデータフローの接続を完了することを推奨します。)

OutputFrameSink

出力フレーム入力ポート。 コンポーネントの入力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

OutputFrameSource

出力ポート。 コンポーネントの出力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

PlaneData
PoseUtility
ProximityLocationResult

近接位置の測定値。 x, y, z の単位はメートル。原点はマップタイルの原点。yは上向き。 精度の単位はメートル。 timestamp, validTimeの単位は秒。 is2dはyを使用しないかどうかを示す。

ProximityLocationResultSink

近接位置結果入力ポート。 コンポーネントの入力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

ProximityLocationResultSource

近傍位置結果出力ポート。 コンポーネントの出力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

Recorder

Recorderは、現在のレンダリング環境の画面録画機能を実装しています。 現在、RecorderはAndroid(4.3以降)およびiOSのOpenGL ES 3.0環境でのみ動作します。 OpenGLESに依存しているため、このクラスのすべての関数(requestPermissionsを除く、デストラクタを含む)は、OpenGLESコンテキストを含む単一のスレッドで呼び出さなければなりません。 Unity専用 Unityでマルチスレッドレンダリング機能を使用する場合、スクリプトスレッドはレンダリングスレッドから分離され、レンダリングスレッドでupdateFrameを呼び出すことができません。したがって、画面録画機能を使用する必要がある場合は、マルチスレッドレンダリング機能を無効にする必要があります。 Androidで使用する場合、AndroidManifest.xmlにandroid.permission.RECORD_AUDIO権限の宣言を追加する必要があります。 iOSで使用する場合、Info.plistにNSMicrophoneUsageDescription権限の宣言を追加する必要があります。

RecorderConfiguration

RecorderConfigurationはRecorderの起動構成です。

SceneMesh
SignalSink

信号入力ポート。 コンポーネントの入力ポートを公開するために使用。 このクラスのすべてのメンバはスレッドセーフです。

SignalSource

信号出力ポート。 コンポーネントの出力ポートを公開するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。

SparseSpatialMap

SparseSpatialMapシステムの主要な機能を提供する:マップ生成と保存、マップロードと位置特定、同時に点雲、平面などの環境情報を取得しhitTestを実行できる。 SparseSpatialMapはカメラのバッファを2つ占有する。cameraのsetBufferCapacityを使用して、すべてのコンポーネントが占有するカメラバッファの数以上を設定する必要がある。

SparseSpatialMapConfig

スパースマッピングにおける位置推定戦略の設定に使用します。

SparseSpatialMapManager

SparseSpatialMap管理クラス、SparseSpatialMapの共有機能を管理するために使用されます。

SparseSpatialMapResult

疎なマッピングと位置推定システムの出力を取得します。OutputFrameの頻度で更新されます。

Storage
SurfaceTracker

SurfaceTrackerは環境表面の追跡を実装します。 SurfaceTrackerは1つのカメラバッファを占有します。カメラのsetBufferCapacityを使用して、すべてのコンポーネントが占有するカメラバッファの数以上に設定する必要があります。 作成後、start/stopを呼び出して実行を開始および停止できます。start/stopは非常に軽量な呼び出しです。 コンポーネントが不要になったら、closeを呼び出して閉じることができます。close後は使用を続けてはいけません。 SurfaceTrackerはinputFrameSinkを介して InputFrame を入力します。 InputFrameSource をinputFrameSinkに接続して使用する必要があります。

SurfaceTrackerResult

SurfaceTracker の結果。

Target

TargetはEasyARの中でImageTrackerや他のアルゴリズムによって追跡可能なすべてのターゲットの基本クラスです。

TargetInstance

TargetInstanceはトラッカーによって追跡されたターゲットです。 TargetInstanceは追跡された元のTargetおよびこのTargetの現在の状態と姿勢を含みます。

TargetTrackerResult

TargetTrackerResultはImageTrackerResultObjectTrackerResultの基底クラスです。

TextureId

TextureIdは、グラフィックスAPIのテクスチャオブジェクトをカプセル化します。 OpenGL/OpenGLESでは、getIntとfromIntを使用する必要があります。Direct3Dでは、getPointerとfromPointerを使用する必要があります。

ThreeDofCameraDevice

ThreeDofCameraDeviceは、three dofのカメラデバイスを実装し、出力CameraTransformTypeがThreeDofRotOnlyのInputFrame(画像、カメラパラメータ、タイムスタンプ、姿勢変換行列、トラッキング状態を含む)を提供します。 作成後、start/stopを呼び出してビデオストリームデータの収集を開始および停止できます。 デバイスが不要になったら、closeを呼び出して閉じることができます。close後は使用を続けてはいけません。 ThreeDofCameraDeviceはinputFrameSourceを通じてInputFrameを出力し、inputFrameSourceをInputFrameSinkに接続して使用する必要があります。 bufferCapacityはInputFrameバッファの容量を表し、この数を超えるInputFrameがデバイスから出力され、解放されない場合、デバイスは以前のInputFrameが解放されるまで新しいInputFrameを出力しません。これにより、画面の固まりなどの問題が発生する可能性があります。

Vec2F

2次元floatベクトル。

Vec2I

二次元intベクトル。

Vec3D

3次元ダブルベクトル。

Vec3F

三次元floatベクトル。

Vec4F

四次元浮動小数点ベクトル。

Vec4I

4次元intベクトル。

VideoInputFramePlayer

入力フレームプレーヤー。 EIF MKVファイルから入力フレームを取り出すために使用される入力フレーム出力ポート。 このクラスのすべてのメンバーはスレッドセーフです。

VideoInputFrameRecorder

入力フレームレコーダー。 入力フレーム入力ポートと入力フレーム出力ポートがあり、通過する入力フレームをEIF MKVファイルに保存するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。

VideoPlayer

VideoPlayerは動画プレーヤークラスです。 EasyARは通常の動画、透過動画、ストリーミングメディアの再生をサポートします。動画コンテンツはsetRenderTextureで渡されたテクスチャにレンダリングされます。 このクラスはOpenGLES 3.0のテクスチャのみサポートします。 OpenGLESへの依存のため、このクラスの全ての関数(デストラクタを含む)は、OpenGLESコンテキストを含む単一のスレッド内で呼び出す必要があります。 現在のバージョンでは幅と高さが両方とも16の倍数である必要があります。 サポートされる動画ファイルフォーマット Windows: Media Foundation互換フォーマット。追加のデコーダーをインストールすることでより多くのフォーマットをサポート可能です。詳細はSupported Media Formats in Media Foundationを参照してください。DirectShowはサポートされません。 Mac: サポートされません Android: システムがサポートするフォーマット。詳細はSupported media formatsを参照してください。 iOS: システムがサポートするフォーマット。現在有効な参考ドキュメントはありません。

VisionOSARKitCameraDevice

VisionOSARKitCameraDeviceは、VisionOS ARKitベースのカメラデバイスを実装し、InputFrame(画像、カメラパラメータ、タイムスタンプ、6DOF位置情報、トラッキングステータスを含む)を出力します。 作成後、start/stopを呼び出してビデオストリームデータの収集を開始および停止できます。 デバイスが不要になったら、closeを呼び出して閉じることができます。close後に使用を続けるべきではありません。 VisionOSARKitCameraDeviceは、inputFrameSourceを通じてInputFrameを出力し、inputFrameSourceをInputFrameSinkに接続して使用する必要があります。 bufferCapacityはInputFrameバッファの容量を示し、この数を超えるInputFrameがデバイスから出力され、解放されていない場合、以前のInputFrameが解放されるまで、デバイスは新しいInputFrameを出力しなくなります。これにより、画面のフリーズなどの問題が発生する可能性があります。

XREALCameraDevice

XREALCameraDeviceは、XREAL Enterprise Native SDK Pluginに基づくカメラデバイスを実装し、InputFrame(画像、カメラパラメータ、タイムスタンプ、6DOF位置情報、トラッキングステータスを取得不可)を出力します。 作成後、start/stopを呼び出してビデオストリームデータの収集を開始/停止できます。startを呼び出す前にisDeviceSupportedがtrueを返すことを確認する必要があります。 デバイスが不要になったら、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