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 Methodと endParamTransferクラスライブラリリファレンス>クラス>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();
関連項目
IFrameFilterクラスライブラリリファレンス>クラス>IFrameFilter, IFrameFilter::setParameterクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::setParameter Method, IFrameFilter::getAvailableParametersクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::getAvailableParameters Method, IFrameFilter::beginParamTransferクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::beginParamTransfer Method, IFrameFilter::endParamTransferクラスライブラリリファレンス>クラス>IFrameFilter>IFrameFilter::endParamTransfer Method