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 を呼び出して video stream データの収集を開始および停止できます。 このデバイスが不要になった場合は、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 を呼び出して video stream データの収集を開始および停止できます。 このデバイスが不要になった場合は、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 で得られたモデルは三角形メッシュで表され、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 の 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
コールバックスケジューラー。 DelayedCallbackScheduler と ImmediateCallbackScheduler の 2 つのサブクラスがあります。 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 のインスタンス。
- CloudRecognizer
CloudRecognizer はクラウド認識機能を実装します。クラウド認識機能を使用するには、クラウド上に cloud recognition image library を作成する必要があります。EasyAR CRS ドキュメントを参照してください。 このコンポーネントが不要になったら、close を呼び出して閉じることができます。close 後は使用しないでください。 CloudRecognizer を使用する前に、ImageTracker を設定して準備する必要があります。返された target は、track される前に loadTarget を使用して ImageTracker に手動でロードする必要があります。ロード後、target の認識と tracking はローカル target の使用と同じです。target が認識された後、callback から取得できます。その後、異なる target を区別するには target uid を使用してください。target runtimeID は動的に生成されるため、クラウド認識における target の一意な識別子としては適していません。
- DelayedCallbackScheduler
遅延コールバックスケジューラー。 手動で呼び出すまでコールバックを遅延させるために使用され、各種 UI 環境などのシングルスレッド環境で使用できます。 このクラスのすべてのメンバーはスレッドセーフです。
- DenseSpatialMap
DenseSpatialMap は環境の正確な 3D dense reconstruction に使用します。再構築されたモデルは三角形メッシュで表され、mesh と呼ばれます。 DenseSpatialMap は 1 個の camera buffer を占有します。
- EventDumpRecorder
イベントダンプレコーダー。 いくつかの重要な診断情報を EED ファイルに保存するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。
- FeedbackFrame
フィードバックフレーム。 入力フレームと履歴出力フレームを含み、ImageTracker などのフィードバック式同期処理コンポーネントで使用します。
- FeedbackFrameFork
フィードバックフレーム分流器。 1 つのフィードバックフレームを複数のコンポーネントへ並列に伝送するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。
- 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.
- 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
入力フレーム分流器。 1 つの入力フレームを複数のコンポーネントへ並列に伝送するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。
- InputFramePlayer
入力フレームプレイヤー。 入力フレーム出力ポートを持ち、EIF ファイルから入力フレームを取り出すために使用します。 このクラスのすべてのメンバーはスレッドセーフです。
- InputFrameRecorder
入力フレームレコーダー。 入力フレーム入力ポートと入力フレーム出力ポートを持ち、通過する入力フレームを EIF ファイルに保存するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。
- InputFrameSink
Input frame 入力ポート。 コンポーネントの入力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。
- InputFrameSource
入力フレーム出力ポート。 コンポーネントの出力ポートを公開するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。
- InputFrameThrottler
入力フレームスロットラー。 入力フレーム入力ポートと入力フレーム出力ポートを 1 つずつ持ち、アルゴリズムコンポーネントが前のフレームの処理を完了していない間、新しい入力フレームがそのコンポーネントに入ることを防ぎます。 InputFrameThrottler は camera の buffer を 1 つ占有します。camera の setBufferCapacity を使用して、すべてのコンポーネントが占有する camera buffer 数以上を設定してください。 このクラスのすべてのメンバーはスレッドセーフです。 signalInput の接続と切断は、データが流入している間に行わないでください。そうしないと、出力できない状態に陥る可能性があります。(Camera 起動前にデータフロー接続を完了することを推奨します。)
- InputFrameToFeedbackFrameAdapter
入力フレームからフィードバックフレームへのアダプター。 入力フレーム入力ポート、履歴出力フレーム入力ポート、フィードバックフレーム出力ポートを持ち、入力フレームと履歴出力フレームをフィードバックフレームに組み合わせ、ImageTracker などフィードバックフレーム入力を要求するアルゴリズムコンポーネントへ渡します。 入力フレームが入力されるたびに、前回入力された履歴出力フレームと合わせてフィードバックフレームを合成します。履歴出力フレームが入力されたことがない場合、フィードバックフレーム内の履歴出力フレームは空です。 InputFrameToFeedbackFrameAdapter は camera の buffer を 1 個占有します。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
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 フィルタリング機能を実装します。
- 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 の検出とトラッキングを実装します。 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 の結果は、インターフェイスに渡す callback で取得できます。
- OutputFrame
出力フレーム。 入力フレームと同期処理コンポーネントの出力結果を含みます。
- OutputFrameBuffer
出力フレームバッファー。 出力フレーム入力ポートと出力フレーム取得関数を持ち、出力フレームの取得方式を非同期から同期ポーリングに変換するために使用します。フレームごとのレンダリングに適しています。 OutputFrameBuffer は camera の buffer を 1 個占有します。camera の setBufferCapacity を使用して、すべてのコンポーネントが占有する camera buffer 数以上に設定してください。 このクラスのすべてのメンバーはスレッドセーフです。
- OutputFrameFork
出力フレーム分流器。 1 つの出力フレームを複数のコンポーネントへ並列に伝送するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。
- OutputFrameJoin
出力フレーム合流器。 複数コンポーネントの出力フレームを 1 つの出力フレームに結合するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。 複数入力の接続と切断は、データ流入中に行わないでください。そうしないと、出力できない状態に陥る可能性があります。(Camera 起動前にデータフロー接続を完了することを推奨します。)
- OutputFrameSink
Output frame 入力ポート。 コンポーネントの入力ポートを公開するために使用されます。 このクラスのすべてのメンバーはスレッドセーフです。
- OutputFrameSource
出力フレーム出力ポート。 コンポーネントの出力ポートを公開するために使用します。 このクラスのすべてのメンバーはスレッドセーフです。
- 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 の起動設定です。
- 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 の頻度で更新されます。
- SurfaceTracker
SurfaceTracker は環境表面の tracking を実装します。 SurfaceTracker は 1 個の camera buffer を占有します。camera の setBufferCapacity を使用して、すべてのコンポーネントが占有する camera buffer 数以上に設定してください。 作成後、start/stop を呼び出して実行の開始と停止を行えます。start/stop は非常に軽量な呼び出しです。 このコンポーネントが不要になったら、close を呼び出して閉じることができます。close 後は使用しないでください。 SurfaceTracker は inputFrameSink を通じて InputFrame を入力します。使用するには InputFrameSource を inputFrameSink に接続してください。
- Target
Target は、EasyAR 内で ImageTracker または他のアルゴリズムによって追跡できるすべての target の基底クラスです。
- TargetInstance
TargetInstance は tracker によって追跡された target です。 TargetInstance には、追跡された元の Target と、この Target の現在の status および pose が含まれます。
- TargetTrackerResult
TargetTrackerResult は ImageTrackerResult と ObjectTrackerResult の基底クラスです。
- TextureId
TextureId はグラフィックス API のテクスチャオブジェクトをラップします。 OpenGL/OpenGLES では getInt と fromInt を使用し、Direct3D では getPointer と fromPointer を使用します。
- ThreeDofCameraDevice
ThreeDofCameraDevice は three dof の camera デバイスを実装し、CameraTransformType が ThreeDofRotOnly の InputFrame(画像、カメラパラメータ、タイムスタンプ、姿勢変換行列、トラッキング状態を含む)を出力します。 作成後、start/stop を呼び出して video stream データの収集を開始および停止できます。 このデバイスが不要になった場合は、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 は動画再生クラスです。 EasyAR は通常動画、透明動画、ストリーミング再生をサポートします。動画コンテンツは setRenderTexture に渡された texture にレンダリングされます。 このクラスは OpenGLES 3.0 の texture のみをサポートします。 OpenGLES に依存しているため、このクラスのすべての関数(destructor を含む)は、OpenGLES コンテキストを含む単一の thread で呼び出す必要があります。 現在のバージョンでは、幅と高さの両方が 16 の倍数である必要があります。 サポートされる動画ファイル形式 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(画像、カメラパラメータ、タイムスタンプ、6DOF 位置情報、トラッキング状態は取得できません)を出力します。 作成後、start/stop を呼び出して video stream データの収集を開始および停止できます。isDeviceSupported が true を返した後に start を呼び出すようにしてください。 このデバイスが不要になった場合は、close を呼び出して閉じることができます。close 後は使用しないでください。 XREALCameraDevice は inputFrameSource を通して InputFrame を出力するため、inputFrameSource を InputFrameSink に接続して使用する必要があります。 bufferCapacity は InputFrame バッファの容量を表します。この数を超える InputFrame がデバイスから出力され、解放されていない場合、以前の InputFrame が解放されるまで、このデバイスは新しい InputFrame を出力しません。これにより画像が固まるなどの問題が発生する可能性があります。
列挙型
- BlockPriorMode
事前マップ情報の動作モード
- CameraDeviceType
カメラデバイスタイプ。
- CameraModelType
カメラモデルタイプ。
- CameraTransformType
カメラ変換タイプ。
- CloudLocalizerStatus
クラウドローカライズ状態。
- MegaApiType
MEGA API タイプ。
- MegaGoTargetLoadStatus
Mega Go target のロード状態。
- MegaGoTrackerError
MegaGoTracker エラー。
- MegaGoTrackerOutputUpdateStatus
MegaGoTracker のローカライズ応答による出力更新状況。
- MegaGoTrackerStatus
MegaGoTracker の実行状態。
- MotionTrackingStatus
デバイスのモーショントラッキング品質を説明します。
- PixelFormat
PixelFormat は画像ピクセル形式を表します。すべての形式のピクセル方向は左から右、上から下です。
- StorageType
StorageType は、画像、json ファイル、動画、またはその他のファイルの保存場所を示します。 StorageType はファイル保存のルートディレクトリを指定します。関連するすべてのインターフェイスで、このルートディレクトリからの相対パスを使用できます。