FilterLoader::getAvailableFrameFilters Method

利用可能なフレームフィルタの情報を持つ FilterInfoクラスライブラリリファレンス>構造体>FlterInfo Structure構造体のstd::vectorを返します。

構文

static std::vector <FilterInfo> getAvailableFrameFilters( tFilterClass filterClass = eFC_ALL );
パラメータ 説明
filterClass フィルタクラスを指定することでvectorに表示されるフィルタ数を制限することが可能です。有効なフィルタクラスはtFilterClassクラスライブラリリファレンス>エニュメレーション>tFilterClassエニュメレーションのメンバとなります。
説明
eFC_GENERIC ジェネリックとしてフラグされたフィルタのリストです。ジェネリックフィルタはどのような環境でも動作するのでパラメータに関する特別な知識も必要ありません。
eFC_INTERNAL インターナルとしてフラグさらたフィルタのリストです。インターナルフィルタは要求された方法でフィルタのパラメータをセットアップできるジェネリックアプリケーション内でなければその動作は保証されません。(例:イメージバッファを保存するフィルタ用に有効なファイル名を指定するetc.)。
eFC_ALL フィルタクラスを指定することでvectorに表示されるフィルタ数を制限することが可能です。有効な フィルタクラスはtFilterClassクラスライブラリリファレンス>エニュメレーション>tFilterClassエニュメレーションのメンバとなります。

戻り値

A std::vector of FilterInfoクラスライブラリリファレンス>構造体>FlterInfo Structure structures containing information about the available frame filters.

備考

フレームフィルタは以下の場所からロードされます。
 i) アプリケーションの実行ファイルがあるディレクトリ。
 ii) TIS_UDSHL0X_vcYY.DLLがロードされているディレクトリ。
 iii) setLoadPathに指定されているディレクトリ。

サンプル

以下のコードはコンソールへのフレームフィルタに関する情報を表示します。

void printAvailableFrameFilters()
{
  std::vector <FilterInfo> filterInfos = FilterLoader::getAvailableFrameFilters();

  std::cout << "Available frame filters:" <<std::endl;
  for( unsigned int i = 0; i < filterInfos.size(); ++i )
  {
    std::cout <<i <<":" <<std::endl;

    std::cout <<"Name: " <<filterInfos[i].getFilterName() <<std::endl;
    std::cout <<"Module: " <<filterInfos[i].getModuleName() <<std::endl;
    std::cout <<"Path: " <<filterInfos[i].getModulePath() <<std::endl;
    std::cout <<"Filter class: ";
    switch( filterInfos[i].getFilterClass() )
    {
    case eFC_GENERIC:
      std::cout <<"generic" <<std::endl;
      break;
    case eFC_INTERNAL:
      std::cout <<"internal" <<std::endl;
      break;
    default:
      std::cout <<"unknown" <<std::endl;
      break;
    }
  }
  std::cout <<std::endl;
}