]> Creatis software - cpPlugins.git/blob - appli/examples/example_TestParameters.cxx
Parameters finished
[cpPlugins.git] / appli / examples / example_TestParameters.cxx
1 #include <iostream>
2 #include <vector>
3
4 #include <itkIndex.h>
5 #include <itkPoint.h>
6
7 #include <cpPlugins/Interface/Parameters.h>
8
9 // -------------------------------------------------------------------------
10 template< class L >
11 void PrintList( const L& lst, const std::string& desc )
12 {
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;
18 }
19
20 // -------------------------------------------------------------------------
21 int main( int argc, char* argv[] )
22 {
23   typedef cpPlugins::Interface::Parameters TParameters;
24   typedef itk::Index< 3 > TIndex;
25   typedef itk::Point< float, 3 > TPoint;
26
27   TParameters parameters;
28
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" );
43
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 );
51
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" );
59
60   parameters.AddValueToStringList( "StringListParam", "one" );
61   parameters.AddValueToStringList( "StringListParam", "two" );
62   parameters.AddValueToStringList( "StringListParam", "three" );
63   parameters.AddValueToStringList( "StringListParam", "four" );
64
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 );
70
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 );
82
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 );
94
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 );
106
107   parameters.AddValueToIndexList( "IndexListParam", 3, -1, 2, 3 );
108   parameters.AddValueToIndexList( "IndexListParam", 3, 2, -3, 4 );
109   parameters.AddValueToIndexList( "IndexListParam", 3, 3, 4, 7 );
110
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 );
115
116   std::vector< TParameters::TString > names = parameters.GetParameters( );
117   std::cout << "Names:" << std::endl;
118   for( unsigned int i = 0; i < names.size( ); ++i )
119     std::cout
120       << "\t... "
121       << names[ i ] << " "
122       << parameters.GetRawValue( names[ i ] ) << "("
123       << parameters.GetParameterType( names[ i ] ) << ")"
124       << std::endl;
125
126   std::cout << std::endl << "Values with type checking" << std::endl;
127   std::cout
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;
142
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;
150
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" );
158
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" );
167
168   return( 0 );
169 }
170
171 // eof - $RCSfile$