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つのサブクラスがあります DelayedCallbackScheduler と ImmediateCallbackScheduler 。 そのうち 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が検出したブロックのインスタンス。
- 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つのカメラバッファを占有する。
- 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を使用してロードする必要があります。ロード/アンロードの結果は、インターフェースのコールバックを渡すことで取得できます。
- 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クラウド位置フィルタリング機能を実装しています。
- 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の結果は、インターフェースのコールバックを渡すことで取得できます。
- OutputFrame
出力フレーム。 入力フレームと同期処理コンポーネントの出力結果を含む。
- OutputFrameBuffer
出力フレームバッファ。 出力フレーム入力ポートと出力フレーム取得関数があり、出力フレームの取得方法を非同期から同期ポーリングに変換し、フレームごとのレンダリングに適しています。 OutputFrameBufferは1つのcamerabufferを占有します。cameraのsetBufferCapacityを使用して、すべてのコンポーネントが占有するcamerabufferの数以上に設定する必要があります。 このクラスのすべてのメンバーはスレッドセーフです。
- OutputFrameFork
出力フレームスプリッタ。 1つの出力フレームを複数のコンポーネントに並列に転送するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。
- OutputFrameJoin
出力フレームマージャー。 複数のコンポーネントの出力フレームを1つの出力フレームにマージするために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。 複数入力の接続と切断は、データが流入している間に行うべきではありません。そうしないと、出力不能状態に陥る可能性があります。(カメラ起動前にデータフローの接続を完了することを推奨します。)
- OutputFrameSink
出力フレーム入力ポート。 コンポーネントの入力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。
- OutputFrameSource
出力ポート。 コンポーネントの出力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。
- 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の起動構成です。
- SignalSink
信号入力ポート。 コンポーネントの入力ポートを公開するために使用。 このクラスのすべてのメンバはスレッドセーフです。
- SignalSource
信号出力ポート。 コンポーネントの出力ポートを公開するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。
- SparseSpatialMap
SparseSpatialMapシステムの主要な機能を提供する:マップ生成と保存、マップロードと位置特定、同時に点雲、平面などの環境情報を取得しhitTestを実行できる。 SparseSpatialMapはカメラのバッファを2つ占有する。cameraのsetBufferCapacityを使用して、すべてのコンポーネントが占有するカメラバッファの数以上を設定する必要がある。
- SparseSpatialMapConfig
スパースマッピングにおける位置推定戦略の設定に使用します。
- SparseSpatialMapManager
SparseSpatialMap管理クラス、SparseSpatialMapの共有機能を管理するために使用されます。
- SparseSpatialMapResult
疎なマッピングと位置推定システムの出力を取得します。OutputFrameの頻度で更新されます。
- SurfaceTracker
SurfaceTrackerは環境表面の追跡を実装します。 SurfaceTrackerは1つのカメラバッファを占有します。カメラのsetBufferCapacityを使用して、すべてのコンポーネントが占有するカメラバッファの数以上に設定する必要があります。 作成後、start/stopを呼び出して実行を開始および停止できます。start/stopは非常に軽量な呼び出しです。 コンポーネントが不要になったら、closeを呼び出して閉じることができます。close後は使用を続けてはいけません。 SurfaceTrackerはinputFrameSinkを介して InputFrame を入力します。 InputFrameSource をinputFrameSinkに接続して使用する必要があります。
- Target
TargetはEasyARの中でImageTrackerや他のアルゴリズムによって追跡可能なすべてのターゲットの基本クラスです。
- TargetInstance
TargetInstanceはトラッカーによって追跡されたターゲットです。 TargetInstanceは追跡された元のTargetおよびこのTargetの現在の状態と姿勢を含みます。
- TargetTrackerResult
TargetTrackerResultはImageTrackerResultとObjectTrackerResultの基底クラスです。
- 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は出力されません。これにより画面フリーズなどの問題が発生する可能性があります。
列挙型
- BlockPriorMode
事前地図情報動作モード
- CameraDeviceType
カメラデバイスタイプ。
- CameraModelType
カメラモデルタイプ。
- CameraTransformType
カメラ変換タイプ。
- CloudLocalizerStatus
クラウド位置情報ステータス。
- MegaApiType
MEGA APIタイプ。
- MotionTrackingStatus
デバイスのモーション追跡の品質を説明します。
- PixelFormat
PixelFormatは画像ピクセルフォーマットを表します。すべてのフォーマットのピクセル方向は左から右へ、上から下へです。
- StorageType
StorageTypeは、画像、JSONファイル、動画、またはその他のファイルの保存場所を表します。 StorageTypeは、ファイル保存のルートディレクトリを指定し、すべての関連インターフェースでこのルートディレクトリに対する相対パスを使用できます。