X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=appli%2Fexamples%2Fexample_TestParameters.cxx;h=0c865ea3640939b8736efb2e8cf7f093f39278cc;hb=e9fba2cf4f290e7dbdd195086025737863c538cd;hp=58711afcbc9c667f16456d580683f3b3db592c9b;hpb=a3fd8b70054c862446ed7e3fabf2fd24cfe2ad92;p=cpPlugins.git diff --git a/appli/examples/example_TestParameters.cxx b/appli/examples/example_TestParameters.cxx index 58711af..0c865ea 100644 --- a/appli/examples/example_TestParameters.cxx +++ b/appli/examples/example_TestParameters.cxx @@ -1,3 +1,171 @@ -#error ACA VOY +#include +#include + +#include +#include + +#include + +// ------------------------------------------------------------------------- +template< class L > +void PrintList( const L& lst, const std::string& desc ) +{ + std::cout << "\t " << desc << ": "; + typename L::const_iterator lIt = lst.begin( ); + for( ; lIt != lst.end( ); ++lIt ) + std::cout << *lIt << " ## "; + std::cout << std::endl; +} + +// ------------------------------------------------------------------------- +int main( int argc, char* argv[] ) +{ + typedef cpPlugins::Interface::Parameters TParameters; + typedef itk::Index< 3 > TIndex; + typedef itk::Point< float, 3 > TPoint; + + TParameters parameters; + + parameters.Configure( TParameters::String, "StringParam" ); + parameters.Configure( TParameters::Bool, "BoolParam" ); + parameters.Configure( TParameters::Int, "IntParam" ); + parameters.Configure( TParameters::Uint, "UintParam" ); + parameters.Configure( TParameters::Real, "RealParam" ); + parameters.Configure( TParameters::Index, "IndexParam" ); + parameters.Configure( TParameters::Point, "PointParam" ); + parameters.Configure( TParameters::StringList, "StringListParam" ); + parameters.Configure( TParameters::BoolList, "BoolListParam" ); + parameters.Configure( TParameters::IntList, "IntListParam" ); + parameters.Configure( TParameters::UintList, "UintListParam" ); + parameters.Configure( TParameters::RealList, "RealListParam" ); + parameters.Configure( TParameters::IndexList, "IndexListParam" ); + parameters.Configure( TParameters::PointList, "PointListParam" ); + + parameters.SetValueAsString( "StringParam", "test_value" ); + parameters.SetValueAsBool( "BoolParam", true ); + parameters.SetValueAsInt( "IntParam", -1234567 ); + parameters.SetValueAsUint( "UintParam", 1234567 ); + parameters.SetValueAsReal( "RealParam", 3.14159244444 ); + parameters.SetValueAsIndex( "IndexParam", 3, 4, -3, 2 ); + parameters.SetValueAsPoint( "PointParam", 3, 9.4, 8.3, 7.2 ); + + parameters.ClearStringList( "StringListParam" ); + parameters.ClearBoolList( "BoolListParam" ); + parameters.ClearIntList( "IntListParam" ); + parameters.ClearUintList( "UintListParam" ); + parameters.ClearRealList( "RealListParam" ); + parameters.ClearIndexList( "IndexListParam" ); + parameters.ClearPointList( "PointListParam" ); + + parameters.AddValueToStringList( "StringListParam", "one" ); + parameters.AddValueToStringList( "StringListParam", "two" ); + parameters.AddValueToStringList( "StringListParam", "three" ); + parameters.AddValueToStringList( "StringListParam", "four" ); + + parameters.AddValueToBoolList( "BoolListParam", 1 ); + parameters.AddValueToBoolList( "BoolListParam", 0 ); + parameters.AddValueToBoolList( "BoolListParam", 0 ); + parameters.AddValueToBoolList( "BoolListParam", 1 ); + parameters.AddValueToBoolList( "BoolListParam", 1 ); + + parameters.AddValueToIntList( "IntListParam", 1 ); + parameters.AddValueToIntList( "IntListParam", -2 ); + parameters.AddValueToIntList( "IntListParam", 3 ); + parameters.AddValueToIntList( "IntListParam", -4 ); + parameters.AddValueToIntList( "IntListParam", 5 ); + parameters.AddValueToIntList( "IntListParam", -6 ); + parameters.AddValueToIntList( "IntListParam", 7 ); + parameters.AddValueToIntList( "IntListParam", -8 ); + parameters.AddValueToIntList( "IntListParam", 9 ); + parameters.AddValueToIntList( "IntListParam", -10 ); + parameters.AddValueToIntList( "IntListParam", 11 ); + + parameters.AddValueToUintList( "UintListParam", 1 ); + parameters.AddValueToUintList( "UintListParam", 2 ); + parameters.AddValueToUintList( "UintListParam", 3 ); + parameters.AddValueToUintList( "UintListParam", 4 ); + parameters.AddValueToUintList( "UintListParam", 5 ); + parameters.AddValueToUintList( "UintListParam", 6 ); + parameters.AddValueToUintList( "UintListParam", 7 ); + parameters.AddValueToUintList( "UintListParam", 8 ); + parameters.AddValueToUintList( "UintListParam", 9 ); + parameters.AddValueToUintList( "UintListParam", 10 ); + parameters.AddValueToUintList( "UintListParam", 11 ); + + parameters.AddValueToRealList( "RealListParam", 1.9 ); + parameters.AddValueToRealList( "RealListParam", 2.8 ); + parameters.AddValueToRealList( "RealListParam", 3.7 ); + parameters.AddValueToRealList( "RealListParam", 4.6 ); + parameters.AddValueToRealList( "RealListParam", 5.5 ); + parameters.AddValueToRealList( "RealListParam", 6.4 ); + parameters.AddValueToRealList( "RealListParam", 7.3 ); + parameters.AddValueToRealList( "RealListParam", 8.2 ); + parameters.AddValueToRealList( "RealListParam", 9.1 ); + parameters.AddValueToRealList( "RealListParam", 1.0012 ); + parameters.AddValueToRealList( "RealListParam", 1.131245 ); + + parameters.AddValueToIndexList( "IndexListParam", 3, -1, 2, 3 ); + parameters.AddValueToIndexList( "IndexListParam", 3, 2, -3, 4 ); + parameters.AddValueToIndexList( "IndexListParam", 3, 3, 4, 7 ); + + parameters.AddValueToPointList( "PointListParam", 3, 3.45, 4.67, 7.9 ); + parameters.AddValueToPointList( "PointListParam", 3, 3.45, 4.67, 3.14 ); + parameters.AddValueToPointList( "PointListParam", 3, 1.45, 3.67, 2.14 ); + parameters.AddValueToPointList( "PointListParam", 3, 4.5, 6.7, 4.2 ); + + std::vector< TParameters::TString > names = parameters.GetParameters( ); + std::cout << "Names:" << std::endl; + for( unsigned int i = 0; i < names.size( ); ++i ) + std::cout + << "\t... " + << names[ i ] << " " + << parameters.GetRawValue( names[ i ] ) << "(" + << parameters.GetParameterType( names[ i ] ) << ")" + << std::endl; + + std::cout << std::endl << "Values with type checking" << std::endl; + std::cout + << "\t... " << "StringParam: " + << parameters.GetValueAsString( "StringParam" ) << std::endl + << "\t... " << "BoolParam: " + << parameters.GetValueAsBool( "BoolParam" ) << std::endl + << "\t... " << "IntParam: " + << parameters.GetValueAsInt( "IntParam" ) << std::endl + << "\t... " << "UintParam: " + << parameters.GetValueAsUint( "UintParam" ) << std::endl + << "\t... " << "RealParam: " + << parameters.GetValueAsReal( "RealParam" ) << std::endl + << "\t... " << "IndexParam: " + << parameters.GetValueAsIndex< TIndex >( "IndexParam" ) << std::endl + << "\t... " << "PointParam: " + << parameters.GetValueAsPoint< TPoint >( "PointParam" ) << std::endl; + + std::vector< TParameters::TString > string_lst; + std::vector< TParameters::TBool > bool_lst; + std::vector< TParameters::TInt > int_lst; + std::vector< TParameters::TUint > uint_lst; + std::vector< TParameters::TReal > real_lst; + std::vector< TIndex > index_lst; + std::vector< TPoint > point_lst; + + parameters.GetValueAsStringList( string_lst, "StringListParam" ); + parameters.GetValueAsBoolList( bool_lst, "BoolListParam" ); + parameters.GetValueAsIntList( int_lst, "IntListParam" ); + parameters.GetValueAsUintList( uint_lst, "UintListParam" ); + parameters.GetValueAsRealList( real_lst, "RealListParam" ); + parameters.GetValueAsIndexList( index_lst, "IndexListParam" ); + parameters.GetValueAsPointList( point_lst, "PointListParam" ); + + std::cout << "List parameters:" << std::endl; + PrintList( string_lst, "StringListParam" ); + PrintList( bool_lst, "BoolListParam" ); + PrintList( int_lst, "IntListParam" ); + PrintList( uint_lst, "UintListParam" ); + PrintList( real_lst, "RealListParam" ); + PrintList( index_lst, "IndexListParam" ); + PrintList( point_lst, "PointListParam" ); + + return( 0 ); +} // eof - $RCSfile$