class IModelPreloader
(Niantic.Lightship.AR.Utilities.Preloading.IModelPreloader)
概要
ARDKクラスのインターフェイスで、意識特徴に必要なニューラルネットワークモデルファイルを事前にダウンロードします。 これらのファイルがプリロードされていない場合、これらの機能を使用するように設定されたARセッションが実行されると、ファイルのダウンロードに時間がかかります。
class IModelPreloader: IDisposable {
public:
// メソッド
virtual abstract PreloaderStatusCode DownloadModel(DepthMode depthMode) = 0;
virtual abstract PreloaderStatusCode DownloadModel(SemanticsMode semanticsMode) = 0;
virtual abstract PreloaderStatusCode DownloadModel(ObjectDetectionMode objectDetectionMode) = 0;
virtual abstract PreloaderStatusCode RegisterModel(
DepthMode depthMode,
string filepath
) = 0;
virtual abstract PreloaderStatusCode RegisterModel(
SemanticsMode semanticsMode,
string filepath
) = 0;
virtual abstract PreloaderStatusCode RegisterModel(
ObjectDetectionMode depthMode,
string filepath
) = 0;
virtual abstract PreloaderStatusCode CurrentProgress(
DepthMode depthMode,
out float progress
) = 0;
virtual abstract PreloaderStatusCode CurrentProgress(
SemanticsMode semanticsMode,
out float progress
) = 0;
virtual abstract PreloaderStatusCode CurrentProgress(
ObjectDetectionMode depthMode,
out float progress
) = 0;
virtual abstract bool ExistsInCache(DepthMode depthMode) = 0;
virtual abstract bool ExistsInCache(SemanticsMode semanticsMode) = 0;
virtual abstract bool ExistsInCache(ObjectDetectionMode depthMode) = 0;
virtual abstract bool ClearFromCache(DepthMode depthMode) = 0;
virtual abstract bool ClearFromCache(SemanticsMode semanticsMode) = 0;
virtual abstract bool ClearFromCache(ObjectDetectionMode depthMode) = 0;
virtual abstract void Dispose() = 0;
};
詳細なドキュメント
ARDKクラスのインターフェイスで、意識特徴に必要なニューラルネットワークモデルファイルを事前にダウンロードします。 これらのファイルがプリロードされていない場合、これらの機能を使用するように設定されたARセッションが実行されると、ファイルのダウンロードに時間がかかります。
各アウェアネス機能には、性能-品質曲線上に1つ以上のモードがあり、各モードは異なるモデルファイルに対応している。 詳細については、Niantic.Lightship.AR.Utilities.Preloadingの機能を参照してください。
メソッド
DownloadModel
virtual abstract PreloaderStatusCode DownloadModel(DepthMode depthMode) = 0
要求されたモデルファイルがまだ存在しなければ、キャッシュへのダウンロードを開始する。 リクエストステータスは、CurrentProgress(DepthMode, float)またはExistsInCache(DepthMode)でポーリングできます。
戻り値:
リクエストの初期ステータスを示すPreloaderStatusCodeが返ります。 リクエストの最終結果は、非同期ネットワーク操作のために延期される可能性があるため、このリクエストがPreloaderStatusCode.SuccessまたはPreloaderStatusCode.RequestInProgressを返す場合、ユーザーは、ネットワークリクエストが正常に完了したことを確認するために、フレームごとにCurrentProgress(DepthMode, out float)を問い合わせ続ける必要があります。
DownloadModel
virtual abstract PreloaderStatusCode DownloadModel(SemanticsMode semanticsMode) = 0
要求されたモデルファイルがまだ存在しなければ、キャッシュへのダウンロードを開始する。 リクエストステータスは、CurrentProgress(SemanticsMode, float)またはExistsInCache(SemanticsMode)でポーリングできます。
戻り値:
リクエストの初期ステータスを示すPreloaderStatusCodeが返ります。 リクエストの最終結果は、非同期ネットワーク操作のために延期される可能性があるため、このリクエストがPreloaderStatusCode.SuccessまたはPreloaderStatusCode.RequestInProgressを返す場合、ユーザーは、ネットワークリクエストが正常に完了したことを確認するために、フレームごとにCurrentProgress(SemanticsMode, out float)を問い合わせ続ける必要があります。
DownloadModel
virtual abstract PreloaderStatusCode DownloadModel(ObjectDetectionMode objectDetectionMode) = 0
要求されたモデルファイルがまだ存在しなければ、キャッシュへのダウンロードを開始する。 リクエストのステータスは、CurrentProgress(ObjectDetectionMode, out float)またはExistsInCache(ObjectDetectionMode)でポーリングできます。
戻り値:
リクエストの初期ステータスを示すPreloaderStatusCodeが返ります。 リクエストの最終結果は、非同期のネットワーク操作によって遅延する可能性があるため、このリクエストでPreloaderStatusCode.SuccessまたはPreloaderStatusCode.RequestInProgressが返る場合、ユーザーは、フレームごとにCurrentProgress(ObjectDetectionMode, out float)に対してクエリを実行して、ネットワークリクエストが正常に完了したことを確認する必要があります。
RegisterModel
virtual abstract PreloaderStatusCode RegisterModel(
DepthMode depthMode,
string filepath
) = 0
特定のフィーチャーのローカルニューラルネットワークモデルファイルを登録します。 これは、指定された機能モードに対する Lightship の URI を上書きし、Lightship が初期化されるまで有効です。 このファイルは、アプリケーションからアクセス可能な場所にあり、ARセッションの間、その場所に存在し続ける必要があります。
戻り値:
リクエストの結果を示すPreloaderStatusCodeが返ります。
RegisterModel
virtual abstract PreloaderStatusCode RegisterModel(
SemanticsMode semanticsMode,
string filepath
) = 0
特定のフィーチャーのローカルニューラルネットワークモデルファイルを登録します。 これは、指定された機能モードに対する Lightship の URI を上書きし、Lightship が初期化されるまで有効です。 このファイルは、アプリケーションからアクセス可能な場所にあり、ARセッションの 間、その場所に存在し続ける必要があります。
戻り値:
リクエストの結果を示すPreloaderStatusCodeが返ります。
RegisterModel
virtual abstract PreloaderStatusCode RegisterModel(
ObjectDetectionMode depthMode,
string filepath
) = 0
特定のフィーチャーのローカルニューラルネットワークモデルファイルを登録します。 これは、指定された機能モードに対する Lightship の URI を上書きし、Lightship が初期化されるまで有効です。 このファイルは、アプリケーションからアクセス可能な場所にあり、ARセッションの間、その場所に存在し続ける必要があります。
戻り値:
リクエストの結果を示すPreloaderStatusCodeが返ります。
CurrentProgress
virtual abstract PreloaderStatusCode CurrentProgress(
DepthMode depthMode,
out float progress
) = 0
モードファイル要求の現在のステータスを読みます。 DownloadModel の結果は非同期であるため、HTTP リクエストが正常に完了したことを確認するために、呼び出し元は CurrentProgress(DepthMode, float) をポーリングしてリクエストのステータスを確認する必要があります。
パラメーター:
progress
- [0.0, 1.0] の範囲の値で、指定したフィーチャーモードのモデルファイルのダウンロードがどれだけ進んでいるかを表します。 進捗が1.0であれば、ファイルがキャッシュに存在することを意味します。 ダウンロードの進行状況はサーバーに依存するため、常に進行状況のインクリメンタルな更新をサポートするとは限りません。
戻り値:
リクエストのステータスを示すPreloaderStatusCodeが返ります。
CurrentProgress
virtual abstract PreloaderStatusCode CurrentProgress(
SemanticsMode semanticsMode,
out float progress
) = 0
モードファイル要求の現在のステータスを読みます。 DownloadModel の結果は非同期であるため、呼び出 し元は HTTP リクエストが正常に完了したことを確認するために、CurrentProgress(SemanticsMode, float)をポーリングしてリクエストのステータスを確認する必要があります。
パラメーター:
progress
- [0.0, 1.0] の範囲の値で、指定したフィーチャーモードのモデルファイルのダウンロードがどれだけ進んでいるかを表します。 進捗が1.0であれば、ファイルがキャッシュに存在することを意味します。 ダウンロードの進行状況はサーバーに依存するため、常に進行状況のインクリメンタルな更新をサポートするとは限りません。
戻り値:
リクエストのステータスを示すPreloaderStatusCodeを返す。
CurrentProgress
virtual abstract PreloaderStatusCode CurrentProgress(
ObjectDetectionMode depthMode,
out float progress
) = 0
モードファイル要求の現在のステータスを読みます。 DownloadModelの結果は非同期であるため、呼び出し元はCurrentProgress(ObjectDetectionMode, out float)をポーリングしてリクエストのステータスを確認し、HTTPリクエストが正常に完了したことを確認する必要 があります。
パラメーター:
progress
- [0.0, 1.0] の範囲の値で、指定したフィーチャーモードのモデルファイルのダウンロードがどれだけ進んでいるかを表します。 進捗が1.0であれば、ファイルがキャッシュに存在することを意味します。 ダウンロードの進行状況はサーバーに依存するため、常に進行状況のインクリメンタルな更新をサポートするとは限りません。
戻り値:
リクエストのステータスを示すPreloaderStatusCodeが返ります。
ExistsInCache
virtual abstract bool ExistsInCache(DepthMode depthMode) = 0
指定されたDepthModeに関連付けられたモデルがキャッシュに存在するかどうかを確認します。
戻り値:
指定されたモデルがアプリケーションのキャッシュで見つかった場合はTrue。
ExistsInCache
virtual abstract bool ExistsInCache(SemanticsMode semanticsMode) = 0
指定されたSemanticsModeに関連付けられたモデルがキャッシュに存在するかどうかを確認します。
戻り値:
指定されたモデルがアプリケーションのキャッシュで見つかった場合はTrue。
ExistsInCache
virtual abstract bool ExistsInCache(ObjectDetectionMode depthMode) = 0
指定されたObjectDetectionModeに関連付けられたモデルがキャッシュに存在するかどうかを確認します。
戻り値:
指定されたモデルがアプリケーションのキャッシュで見つかった場合はTrue。
ClearFromCache
virtual abstract bool ClearFromCache(DepthMode depthMode) = 0
このモデル・ファイルをアプリケーションのキャッシュから消去します。 この関数は、ダウンロードが現 在進行中であるか、ファイルがキャッシュに存在しない場合に失敗する。 指定されたモデルが現在、Lightship ARセッションにロードされている間にこれを呼び出すと無効になり、未定義の動作を引き起こす可能性があります。
戻り値:
指定された機能がアプリケーションのキャッシュに存在し、正常に削除された場合はTrue。
ClearFromCache
仮想抽象bool ClearFromCache(SemanticsMode semanticsMode) = 0
このモデル・ファイルをアプリケーションのキャッシュから消去します。 この関数は、ダウンロードが現在進行中であるか、ファイルがキャッシュに存在しない場合に失敗する。 指定されたモデルが現在、Lightship ARセッションにロードされている間にこれを呼び出すと無効になり、未定義の動作を引き起こす可能性があります。
戻り値:
指定された機能がアプリケーションのキャッシュに存在し、正常に削除された場合はTrue。
ClearFromCache
仮想抽象bool ClearFromCache(ObjectDetectionMode depthMode) = 0
このモデル・ファイルをアプリケーションのキャッシュから消去します。 この関数は、ダウンロードが現在進行中であるか、ファイルがキャッシュに存在しない場合に失敗する。 指定されたモデルが現在、Lightship ARセッションにロードされている間にこれを呼び出すと無効になり、未定義の動作を引き起こす可能性があります。
戻り値:
指定された機能がアプリケーションのキャッシュに存在し、正常に削除された場合はTrue。
Dispose
virtual abstract void Dispose() = 0
ネイティブモデルプリローダーのハンドルを破棄します。