vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Parameters.h
Go to the documentation of this file.
1 #pragma once
2 #include <string>
3 
4 namespace APDYNAMICART
5 {
6 
8 typedef struct Parameter
9 {
10  Parameter(double rangeStart, double rangeEnd, double value, std::string title = "", bool canBeRandom = true)
11  : rangeStart(rangeStart), rangeEnd(rangeEnd), value(value), title(title), canBeRandom(canBeRandom) {}
12 
13  std::string title;
14  double rangeStart;
15  double rangeEnd;
16  double value;
18 
19 } Parameter;
20 
21 typedef std::vector<Parameter> Parameters;
22 
24 //Interface
26 
27 class IParameters : public osg::Referenced
28 {
29 public:
30  virtual Parameters getParameters() = 0;
31  virtual ~IParameters() {};
32 };
33 
34 typedef osg::ref_ptr<IParameters> IParametersPtr;
35 
37 {
38  virtual Parameters getParameters()
39  {
40  return Parameters();
41  }
42 };
43 
45 {
46  virtual Parameters getParameters()
47  {
48  Parameters params;
49  params.reserve(4);
50  params.push_back(Parameter(0.0, 20.0, 11.23, "a"));
51  params.push_back(Parameter(0.0, 20.0, 6.25, "b"));
52  params.push_back(Parameter(0.0, 20.0, 2.35, "c"));
53  params.push_back(Parameter(0.0, 0.5, 0.14, "dT"));
54  return params;
55  }
56 };
57 
59 {
60  virtual Parameters getParameters()
61  {
62  Parameters params;
63  params.reserve(5);
64  params.push_back(Parameter(0.0, 10.0, 1.01, "a"));
65  params.push_back(Parameter(0.0, 10.0, 0.827, "b"));
66  params.push_back(Parameter(0.0, 10.0, 2.853, "f"));
67  params.push_back(Parameter(0.0, 10.0, 0.302, "g"));
68  params.push_back(Parameter(0.0, 0.5, 0.286, "dT"));
69  return params;
70  }
71 };
72 
74 {
75  virtual Parameters getParameters()
76  {
77  Parameters params;
78  params.reserve(6);
79  params.push_back(Parameter(-1.0, 1.0, 0.0, "Cx"));
80  params.push_back(Parameter(-1.0, 1.0, 0.0, "Cy"));
81  params.push_back(Parameter(-1.0, 1.0, 0.0, "Dx"));
82  params.push_back(Parameter(-1.0, 1.0, 0.0, "Dy"));
83  params.push_back(Parameter(0.2, 80.0, 3.0, "Epsilon", false));
84  params.push_back(Parameter(1, 12.0, 8.0, "Max iteration", false));
85 
86  return params;
87  }
88 };
89 
91 {
92  virtual Parameters getParameters()
93  {
94  Parameters params;
95  params.reserve(4);
96  //params.push_back(Parameter(-1.7, 2.24, 1.5, "a"));
97  //params.push_back(Parameter(-1.7, 2.24, 0.7, "b"));
98  //params.push_back(Parameter(-1.7, 2.24, -0.5, "c"));
99  //params.push_back(Parameter(-1.7, 2.24, -1.0, "d"));
100 
101  params.push_back(Parameter(-1.7, 2.24, 1.0, "a"));
102  params.push_back(Parameter(-1.7, 2.24, 1.8, "b"));
103  params.push_back(Parameter(-1.7, 2.24, 0.71, "c"));
104  params.push_back(Parameter(-1.7, 2.24, 1.51, "d"));
105 
106  return params;
107  }
108 };
109 
111 {
112  virtual Parameters getParameters()
113  {
114  Parameters params;
115  params.reserve(4);
116  params.push_back(Parameter(0.0, 10.0, 0.238, "a"));
117  params.push_back(Parameter(0.0, 10.0, 0.684, "b"));
118  params.push_back(Parameter(0.0, 10.0, 5.7, "c"));
119  params.push_back(Parameter(0.0, 0.5, 0.11, "d"));
120 
121  return params;
122  }
123 };
124 
126 {
127  virtual Parameters getParameters()
128  {
129  Parameters params;
130  params.reserve(3);
131  params.push_back(Parameter(0.0, 2.0, 1.1, "a"));
132  params.push_back(Parameter(0.0, 2.0, 0.3, "b"));
133  params.push_back(Parameter(0.0, 2.0, 1.60, "c"));
134  return params;
135  }
136 };
137 
139 {
140  virtual Parameters getParameters()
141  {
142  Parameters params;
143  params.reserve(4);
144  params.push_back(Parameter(0.0, 2.0, 0.55, "a"));
145  params.push_back(Parameter(0.0, 2.0, 0.97, "b"));
146  params.push_back(Parameter(0.0, 10.0, 7.74, "c"));
147  params.push_back(Parameter(0.0, 10.0, 7.28, "d"));
148  return params;
149  }
150 };
151 
152 }