7 #include <cpPlugins/Interface/Parameters.h>
9 // -------------------------------------------------------------------------
11 void PrintList( const L& lst, const std::string& desc )
13 std::cout << "\t " << desc << ": ";
14 typename L::const_iterator lIt = lst.begin( );
15 for( ; lIt != lst.end( ); ++lIt )
16 std::cout << *lIt << " ## ";
17 std::cout << std::endl;
20 // -------------------------------------------------------------------------
21 int main( int argc, char* argv[] )
23 typedef cpPlugins::Interface::Parameters TParameters;
24 typedef itk::Index< 3 > TIndex;
25 typedef itk::Point< float, 3 > TPoint;
27 TParameters parameters;
29 parameters.Configure( TParameters::String, "StringParam" );
30 parameters.Configure( TParameters::Bool, "BoolParam" );
31 parameters.Configure( TParameters::Int, "IntParam" );
32 parameters.Configure( TParameters::Uint, "UintParam" );
33 parameters.Configure( TParameters::Real, "RealParam" );
34 parameters.Configure( TParameters::Index, "IndexParam" );
35 parameters.Configure( TParameters::Point, "PointParam" );
36 parameters.Configure( TParameters::StringList, "StringListParam" );
37 parameters.Configure( TParameters::BoolList, "BoolListParam" );
38 parameters.Configure( TParameters::IntList, "IntListParam" );
39 parameters.Configure( TParameters::UintList, "UintListParam" );
40 parameters.Configure( TParameters::RealList, "RealListParam" );
41 parameters.Configure( TParameters::IndexList, "IndexListParam" );
42 parameters.Configure( TParameters::PointList, "PointListParam" );
44 parameters.SetValueAsString( "StringParam", "test_value" );
45 parameters.SetValueAsBool( "BoolParam", true );
46 parameters.SetValueAsInt( "IntParam", -1234567 );
47 parameters.SetValueAsUint( "UintParam", 1234567 );
48 parameters.SetValueAsReal( "RealParam", 3.14159244444 );
49 parameters.SetValueAsIndex( "IndexParam", 3, 4, -3, 2 );
50 parameters.SetValueAsPoint( "PointParam", 3, 9.4, 8.3, 7.2 );
52 parameters.ClearStringList( "StringListParam" );
53 parameters.ClearBoolList( "BoolListParam" );
54 parameters.ClearIntList( "IntListParam" );
55 parameters.ClearUintList( "UintListParam" );
56 parameters.ClearRealList( "RealListParam" );
57 parameters.ClearIndexList( "IndexListParam" );
58 parameters.ClearPointList( "PointListParam" );
60 parameters.AddValueToStringList( "StringListParam", "one" );
61 parameters.AddValueToStringList( "StringListParam", "two" );
62 parameters.AddValueToStringList( "StringListParam", "three" );
63 parameters.AddValueToStringList( "StringListParam", "four" );
65 parameters.AddValueToBoolList( "BoolListParam", 1 );
66 parameters.AddValueToBoolList( "BoolListParam", 0 );
67 parameters.AddValueToBoolList( "BoolListParam", 0 );
68 parameters.AddValueToBoolList( "BoolListParam", 1 );
69 parameters.AddValueToBoolList( "BoolListParam", 1 );
71 parameters.AddValueToIntList( "IntListParam", 1 );
72 parameters.AddValueToIntList( "IntListParam", -2 );
73 parameters.AddValueToIntList( "IntListParam", 3 );
74 parameters.AddValueToIntList( "IntListParam", -4 );
75 parameters.AddValueToIntList( "IntListParam", 5 );
76 parameters.AddValueToIntList( "IntListParam", -6 );
77 parameters.AddValueToIntList( "IntListParam", 7 );
78 parameters.AddValueToIntList( "IntListParam", -8 );
79 parameters.AddValueToIntList( "IntListParam", 9 );
80 parameters.AddValueToIntList( "IntListParam", -10 );
81 parameters.AddValueToIntList( "IntListParam", 11 );
83 parameters.AddValueToUintList( "UintListParam", 1 );
84 parameters.AddValueToUintList( "UintListParam", 2 );
85 parameters.AddValueToUintList( "UintListParam", 3 );
86 parameters.AddValueToUintList( "UintListParam", 4 );
87 parameters.AddValueToUintList( "UintListParam", 5 );
88 parameters.AddValueToUintList( "UintListParam", 6 );
89 parameters.AddValueToUintList( "UintListParam", 7 );
90 parameters.AddValueToUintList( "UintListParam", 8 );
91 parameters.AddValueToUintList( "UintListParam", 9 );
92 parameters.AddValueToUintList( "UintListParam", 10 );
93 parameters.AddValueToUintList( "UintListParam", 11 );
95 parameters.AddValueToRealList( "RealListParam", 1.9 );
96 parameters.AddValueToRealList( "RealListParam", 2.8 );
97 parameters.AddValueToRealList( "RealListParam", 3.7 );
98 parameters.AddValueToRealList( "RealListParam", 4.6 );
99 parameters.AddValueToRealList( "RealListParam", 5.5 );
100 parameters.AddValueToRealList( "RealListParam", 6.4 );
101 parameters.AddValueToRealList( "RealListParam", 7.3 );
102 parameters.AddValueToRealList( "RealListParam", 8.2 );
103 parameters.AddValueToRealList( "RealListParam", 9.1 );
104 parameters.AddValueToRealList( "RealListParam", 1.0012 );
105 parameters.AddValueToRealList( "RealListParam", 1.131245 );
107 parameters.AddValueToIndexList( "IndexListParam", 3, -1, 2, 3 );
108 parameters.AddValueToIndexList( "IndexListParam", 3, 2, -3, 4 );
109 parameters.AddValueToIndexList( "IndexListParam", 3, 3, 4, 7 );
111 parameters.AddValueToPointList( "PointListParam", 3, 3.45, 4.67, 7.9 );
112 parameters.AddValueToPointList( "PointListParam", 3, 3.45, 4.67, 3.14 );
113 parameters.AddValueToPointList( "PointListParam", 3, 1.45, 3.67, 2.14 );
114 parameters.AddValueToPointList( "PointListParam", 3, 4.5, 6.7, 4.2 );
116 std::vector< TParameters::TString > names = parameters.GetParameters( );
117 std::cout << "Names:" << std::endl;
118 for( unsigned int i = 0; i < names.size( ); ++i )
122 << parameters.GetRawValue( names[ i ] ) << "("
123 << parameters.GetParameterType( names[ i ] ) << ")"
126 std::cout << std::endl << "Values with type checking" << std::endl;
128 << "\t... " << "StringParam: "
129 << parameters.GetValueAsString( "StringParam" ) << std::endl
130 << "\t... " << "BoolParam: "
131 << parameters.GetValueAsBool( "BoolParam" ) << std::endl
132 << "\t... " << "IntParam: "
133 << parameters.GetValueAsInt( "IntParam" ) << std::endl
134 << "\t... " << "UintParam: "
135 << parameters.GetValueAsUint( "UintParam" ) << std::endl
136 << "\t... " << "RealParam: "
137 << parameters.GetValueAsReal( "RealParam" ) << std::endl
138 << "\t... " << "IndexParam: "
139 << parameters.GetValueAsIndex< TIndex >( "IndexParam" ) << std::endl
140 << "\t... " << "PointParam: "
141 << parameters.GetValueAsPoint< TPoint >( "PointParam" ) << std::endl;
143 std::vector< TParameters::TString > string_lst;
144 std::vector< TParameters::TBool > bool_lst;
145 std::vector< TParameters::TInt > int_lst;
146 std::vector< TParameters::TUint > uint_lst;
147 std::vector< TParameters::TReal > real_lst;
148 std::vector< TIndex > index_lst;
149 std::vector< TPoint > point_lst;
151 parameters.GetValueAsStringList( string_lst, "StringListParam" );
152 parameters.GetValueAsBoolList( bool_lst, "BoolListParam" );
153 parameters.GetValueAsIntList( int_lst, "IntListParam" );
154 parameters.GetValueAsUintList( uint_lst, "UintListParam" );
155 parameters.GetValueAsRealList( real_lst, "RealListParam" );
156 parameters.GetValueAsIndexList( index_lst, "IndexListParam" );
157 parameters.GetValueAsPointList( point_lst, "PointListParam" );
159 std::cout << "List parameters:" << std::endl;
160 PrintList( string_lst, "StringListParam" );
161 PrintList( bool_lst, "BoolListParam" );
162 PrintList( int_lst, "IntListParam" );
163 PrintList( uint_lst, "UintListParam" );
164 PrintList( real_lst, "RealListParam" );
165 PrintList( index_lst, "IndexListParam" );
166 PrintList( point_lst, "PointListParam" );