IFrameFilter::getParameter Method

フレームフィルタのパラメータを読み取ります。

構文

tFilterError getParameter( const std::string& name, std::string& value );
tFilterError getParameter( const std::string& name, bool& value );
tFilterError getParameter( const std::string& name, long& value );
tFilterError getParameter( const std::string& name, int& value );
tFilterError getParameter( const std::string& name, float& value );
tFilterError getParameter( const std::wstring& name, std::wstring& value );
tFilterError getParameter( const std::wstring& name, bool& value );
tFilterError getParameter( const std::wstring& name, long& value );
tFilterError getParameter( const std::wstring& name, int& value );
tFilterError getParameter( const std::wstring& name, float& value );
パラメータ 説明
name 読み取るパラメータの名前です 。
value パラメータの現在の値を受け取ります。

戻り値

tFilterErrorクラスライブラリリファレンス>エニュメレーション>tFilterError エニュメレーションのメンバ:

説明
eNO_ERROR データの読み取りは正常に行われました。
ePARAM_NOT_FOUND フィルタはnameで指定されたパラメータを所有していません。
getAvailableParametersクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::getAvailableParameters Methodを使用して有効なパラメータの一覧を取得してください。
eINCOMPATIBLE_PARAM_VALUE valueの型がパラメータのデータ型と一致していません。
getAvailableParametersクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::getAvailableParameters Methodを使用して有効なパラメータとその型の一覧を取得してください。
eINVALID_FILTER_STATE パラメータが読み取り不可能な状態にあるためフィルタが値を返せません。
例:ライブモードでない時。

備考

setDataへのコールはすべてbeginParamTransferクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::beginParamTransfer MethodendParamTransferクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::endParamTransfer Method の間に入れる必要あります。特にX/Y座標のような複数のパラメータの読み取りを行っている時はパラメータの一貫性を保つために重要となります。

フレームフィルタの全パラメータを保存するにはIFrameFilter::getSettingsクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::getSettings Methodを使います。

サンプル

以下のサンプルはフレームフィルタのパラメータを取得する方法を紹介しています。フィルタは以下のコードによってロード、そしてセットされたとします。

smart_com<IFrameFilte> pRotFlipFilter = FilterLoader::createFilter( "Rotate Flip" );
grabber.setDeviceFrameFilters( pRotFlipFilter.get() );

パラメータの読み取りはbeginParamTransfer, getParameter, endParamTransferを使って行います。

pRotFlipFilter->beginParamTransfer();

long rot = 0;
if( eNO_ERROR != pRotFlipFilter->getParameter( "Rotation Angle", rot ) )
{
  std::cerr << "Error getting parameter 'rotation'" << std::endl;
}
else
{
  std::cout << "Rotation Angle = " << rot << std::endl;
}
bool flipH = false;
if( eNO_ERROR != pRotFlipFilter->setParameter( "Flip H", flipH ) )
{
  std::cerr << "Error getting parameter 'fliph'" << std::endl;
}
else
{
  std::cout << "Flip H = " << flipH << std::endl;
}
bool flipV = false;
if( eNO_ERROR != pRotFlipFilter->setParameter( "Flip V", flipV ) )
{
  std::cerr << "Error getting parameter 'flipv'" << std::endl;
}
else
{
  std::cout << "Flip V = " << flipV << std::endl;
}

pRotFlipFilter->endParamTransfer();