+#include <iostream>
+#include <vector>
+
+#include <itkIndex.h>
+#include <itkPoint.h>
+
+#include <cpPlugins/Interface/Parameters.h>
+
+// -------------------------------------------------------------------------
+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::Pointer parameters = TParameters::New( );
+
+ TIndex idx; idx[ 0 ] = 1; idx[ 1 ] = 2; idx[ 2 ] = 3;
+ TPoint pnt; pnt[ 0 ] = 3.1; pnt[ 1 ] = 2.2; pnt[ 2 ] = 1.3;
+
+ parameters->ConfigureAsString( "StringParam", "String_Value" );
+ parameters->ConfigureAsBool( "BoolParam", false );
+ parameters->ConfigureAsInt( "IntParam", -314 );
+ parameters->ConfigureAsUint( "UintParam", 314 );
+ parameters->ConfigureAsReal( "RealParam", 3.14 );
+ parameters->ConfigureAsIndex( "IndexParam", 3, idx );
+ parameters->ConfigureAsPoint( "PointParam", 3, pnt );
+ parameters->ConfigureAsStringList( "StringListParam" );
+ parameters->ConfigureAsBoolList( "BoolListParam" );
+ parameters->ConfigureAsIntList( "IntListParam" );
+ parameters->ConfigureAsUintList( "UintListParam" );
+ parameters->ConfigureAsRealList( "RealListParam" );
+ parameters->ConfigureAsIndexList( "IndexListParam" );
+ parameters->ConfigureAsPointList( "PointListParam" );
+
+ std::vector< std::string > choices;
+ choices.push_back( "bat" );
+ choices.push_back( "deux" );
+ choices.push_back( "drei" );
+ choices.push_back( "cuatro" );
+ choices.push_back( "cinque" );
+ parameters->ConfigureAsChoices( "ChoicesParam", choices );
+
+ std::cout << "---------------------------------------------" << std::endl;
+ parameters->Print( std::cout );
+ std::cout << "---------------------------------------------" << std::endl;
+
+ parameters->SetString( "StringParam", "test_value" );
+ parameters->SetBool( "BoolParam", true );
+ parameters->SetInt( "IntParam", -1234567 );
+ parameters->SetUint( "UintParam", 1234567 );
+ parameters->SetReal( "RealParam", 3.14159244444 );
+
+ idx[ 0 ] = 10; idx[ 1 ] = 20; idx[ 2 ] = 30;
+ pnt[ 0 ] = 30.1; pnt[ 1 ] = 21.2; pnt[ 2 ] = 12.3;
+ parameters->SetIndex( "IndexParam", 3, idx );
+ parameters->SetPoint( "PointParam", 3, pnt );
+
+ std::cout << "---------------------------------------------" << std::endl;
+ parameters->Print( std::cout );
+ std::cout << "---------------------------------------------" << std::endl;
+
+ parameters->ClearStringList( "StringListParam" );
+ parameters->ClearBoolList( "BoolListParam" );
+ parameters->ClearIntList( "IntListParam" );
+ parameters->ClearUintList( "UintListParam" );
+ parameters->ClearRealList( "RealListParam" );
+ parameters->ClearIndexList( "IndexListParam" );
+ parameters->ClearPointList( "PointListParam" );
+
+ parameters->AddToStringList( "StringListParam", "one" );
+ parameters->AddToStringList( "StringListParam", "two" );
+ parameters->AddToStringList( "StringListParam", "three" );
+ parameters->AddToStringList( "StringListParam", "four" );
+
+ parameters->AddToBoolList( "BoolListParam", 1 );
+ parameters->AddToBoolList( "BoolListParam", 0 );
+ parameters->AddToBoolList( "BoolListParam", 0 );
+ parameters->AddToBoolList( "BoolListParam", 1 );
+ parameters->AddToBoolList( "BoolListParam", 1 );
+
+ parameters->AddToIntList( "IntListParam", 1 );
+ parameters->AddToIntList( "IntListParam", -2 );
+ parameters->AddToIntList( "IntListParam", 3 );
+ parameters->AddToIntList( "IntListParam", -4 );
+ parameters->AddToIntList( "IntListParam", 5 );
+ parameters->AddToIntList( "IntListParam", -6 );
+ parameters->AddToIntList( "IntListParam", 7 );
+ parameters->AddToIntList( "IntListParam", -8 );
+ parameters->AddToIntList( "IntListParam", 9 );
+ parameters->AddToIntList( "IntListParam", -10 );
+ parameters->AddToIntList( "IntListParam", 11 );
+
+ parameters->AddToUintList( "UintListParam", 1 );
+ parameters->AddToUintList( "UintListParam", 2 );
+ parameters->AddToUintList( "UintListParam", 3 );
+ parameters->AddToUintList( "UintListParam", 4 );
+ parameters->AddToUintList( "UintListParam", 5 );
+ parameters->AddToUintList( "UintListParam", 6 );
+ parameters->AddToUintList( "UintListParam", 7 );
+ parameters->AddToUintList( "UintListParam", 8 );
+ parameters->AddToUintList( "UintListParam", 9 );
+ parameters->AddToUintList( "UintListParam", 10 );
+ parameters->AddToUintList( "UintListParam", 11 );
+
+ parameters->AddToRealList( "RealListParam", 1.9 );
+ parameters->AddToRealList( "RealListParam", 2.8 );
+ parameters->AddToRealList( "RealListParam", 3.7 );
+ parameters->AddToRealList( "RealListParam", 4.6 );
+ parameters->AddToRealList( "RealListParam", 5.5 );
+ parameters->AddToRealList( "RealListParam", 6.4 );
+ parameters->AddToRealList( "RealListParam", 7.3 );
+ parameters->AddToRealList( "RealListParam", 8.2 );
+ parameters->AddToRealList( "RealListParam", 9.1 );
+ parameters->AddToRealList( "RealListParam", 1.0012 );
+ parameters->AddToRealList( "RealListParam", 1.131245 );
+
+ idx.Fill( 1 );
+ parameters->AddToIndexList( "IndexListParam", 3, idx );
+ idx.Fill( 2 );
+ parameters->AddToIndexList( "IndexListParam", 3, idx );
+ idx.Fill( 3 );
+ parameters->AddToIndexList( "IndexListParam", 3, idx );
+
+ pnt.Fill( 1.2 );
+ parameters->AddToPointList( "PointListParam", 3, pnt );
+ pnt.Fill( 3.14 );
+ parameters->AddToPointList( "PointListParam", 3, pnt );
+ pnt.Fill( 6.28 );
+ parameters->AddToPointList( "PointListParam", 3, pnt );
+ pnt.Fill( 1.63 );
+ parameters->AddToPointList( "PointListParam", 3, pnt );
+
+ std::cout << "---------------------------------------------" << std::endl;
+ parameters->Print( std::cout );
+ std::cout << "---------------------------------------------" << std::endl;
+
+ parameters->SetSelectedChoice( "ChoicesParam", "drei" );
+
+ std::cout << "---------------------------------------------" << std::endl;
+ parameters->Print( std::cout );
+ std::cout << "---------------------------------------------" << std::endl;
+
+ parameters->SetSelectedChoice( "ChoicesParam", "zeven" );
+
+ std::cout << "---------------------------------------------" << std::endl;
+ parameters->Print( std::cout );
+ std::cout << "---------------------------------------------" << std::endl;
+
+ return( 0 );
+}