1 #ifndef OPALS_ISTRIPADJUST_HPP_INCLUDED
2 #define OPALS_ISTRIPADJUST_HPP_INCLUDED
4 #if !defined(OPALS_EXPORTS) && !defined(OPALS_MODULE_EXPORTS)
5 #if defined _DEBUG && !defined OPALS_NO_DEBUG
6 #pragma comment(lib, "opalsStripAdjust_d.lib")
8 #pragma comment(lib, "opalsStripAdjust.lib")
12 #include <opals/IModuleBase.hpp>
13 #include <opals/Path.hpp>
14 #include <opals/Vector.hpp>
15 #include <opals/ScannerOrientation.hpp>
16 #include <opals/TrajectoryCorrectionModel.hpp>
17 #include <opals/Hemisphere.hpp>
18 #include <opals/StripAdjustStage.hpp>
28 typedef IGroup< Names::_,
false, Cons<
29 ILeaf< Names::outDirectory, false, Path >, Cons<
30 ILeaf< Names::oFilter, false, String >, Cons<
31 ILeaf< Names::deleteTempData, false, bool >, Cons<
32 IGroup< Names::utm,
false, Cons<
33 ILeaf< Names::zone, false, unsigned >, Cons<
34 ILeaf< Names::hemisphere, false, Hemisphere::Type >
36 IGroup< Names::adjustment,
false, Cons<
37 ILeaf< Names::voxelSize, false, double >, Cons<
38 ILeaf< Names::maxIter, false, unsigned >, Cons<
39 ILeaf< Names::robustIter, false, unsigned >, Cons<
40 ILeaf< Names::covariance, false, bool >
42 IGroup< Names::strips,
false, Cons<
43 IVector< Names::strips,
false, Cons<
44 ILeaf< Names::inFile, false, Path >, Cons<
45 ILeaf< Names::iFormat, false, String >, Cons<
46 ILeaf< Names::outFile, false, Path >, Cons<
47 ILeaf< Names::oFormat, false, String >, Cons<
48 ILeaf< Names::scannerOrientation, false, ScannerOrientation::Type >, Cons<
49 ILeaf< Names::session, false, unsigned >, Cons<
50 IGroup< Names::filter,
false, Cons<
51 ILeaf< Names::gridMask, false, Path >, Cons<
52 ILeaf< Names::iFilter, false, String >
54 IGroup< Names::trajectory,
false, Cons<
55 ILeaf< Names::correctionModel, false, TrajectoryCorrectionModel::Type >, Cons<
56 ILeaf< Names::samplingInterval, false, double >, Cons<
57 IGroup< Names::boundaryDerivativeIsZero,
false, Cons<
58 ILeaf< Names::first, false, bool >, Cons<
59 ILeaf< Names::second, false, bool >
61 IGroup< Names::dX,
false, Cons<
62 ILeaf< Names::value, false, double >, Cons<
63 ILeaf< Names::sigmaApriori, false, double >
65 IGroup< Names::dY,
false, Cons<
66 ILeaf< Names::value, false, double >, Cons<
67 ILeaf< Names::sigmaApriori, false, double >
69 IGroup< Names::dZ,
false, Cons<
70 ILeaf< Names::value, false, double >, Cons<
71 ILeaf< Names::sigmaApriori, false, double >
73 IGroup< Names::dRoll,
false, Cons<
74 ILeaf< Names::value, false, double >, Cons<
75 ILeaf< Names::sigmaApriori, false, double >
77 IGroup< Names::dPitch,
false, Cons<
78 ILeaf< Names::value, false, double >, Cons<
79 ILeaf< Names::sigmaApriori, false, double >
81 IGroup< Names::dYaw,
false, Cons<
82 ILeaf< Names::value, false, double >, Cons<
83 ILeaf< Names::sigmaApriori, false, double >
86 > > > > > > > > >, Cons<
87 IGroup< Names::normals,
false, Cons<
88 ILeaf< Names::searchRadius, false, double >, Cons<
89 ILeaf< Names::neighbours, false, unsigned >
91 ILeaf< Names::subsetRadius, false, double >, Cons<
92 ILeaf< Names::maxPointDensity, false, double >
94 IGroup< Names::controlPointClouds,
false, Cons<
95 ILeaf< Names::inFile, false, Vector<Path> >, Cons<
96 ILeaf< Names::iFormat, false, Vector<String> >, Cons<
97 IGroup< Names::normals,
false, Cons<
98 ILeaf< Names::searchRadius, false, double >, Cons<
99 ILeaf< Names::neighbours, false, unsigned >
101 ILeaf< Names::subsetRadius, false, double >, Cons<
102 ILeaf< Names::maxPointDensity, false, double >
104 IGroup< Names::groundControlPoints,
false, Cons<
105 ILeaf< Names::inFile, false, Path >, Cons<
106 ILeaf< Names::iFormat, false, String >, Cons<
107 IGroup< Names::X,
false, Cons<
108 ILeaf< Names::sigmaApriori, false, double >
110 IGroup< Names::Y,
false, Cons<
111 ILeaf< Names::sigmaApriori, false, double >
113 IGroup< Names::Z,
false, Cons<
114 ILeaf< Names::sigmaApriori, false, double >
116 ILeaf< Names::checkPoints, false, Vector<int> >
118 IGroup< Names::images,
false, Cons<
119 IVector< Names::images,
false, Cons<
120 ILeaf< Names::inFile, false, Path >, Cons<
121 ILeaf< Names::camera, false, unsigned >, Cons<
122 ILeaf< Names::strip, false, unsigned >, Cons<
123 IGroup< Names::extOri,
false, Cons<
124 IGroup< Names::X0,
false, Cons<
125 ILeaf< Names::value, true, double >, Cons<
126 ILeaf< Names::sigmaApriori, false, double >
128 IGroup< Names::Y0,
false, Cons<
129 ILeaf< Names::value, true, double >, Cons<
130 ILeaf< Names::sigmaApriori, false, double >
132 IGroup< Names::Z0,
false, Cons<
133 ILeaf< Names::value, true, double >, Cons<
134 ILeaf< Names::sigmaApriori, false, double >
136 IGroup< Names::omega,
false, Cons<
137 ILeaf< Names::value, true, double >, Cons<
138 ILeaf< Names::sigmaApriori, false, double >
140 IGroup< Names::phi,
false, Cons<
141 ILeaf< Names::value, true, double >, Cons<
142 ILeaf< Names::sigmaApriori, false, double >
144 IGroup< Names::kappa,
false, Cons<
145 ILeaf< Names::value, true, double >, Cons<
146 ILeaf< Names::sigmaApriori, false, double >
149 IGroup< Names::dExtOri,
false, Cons<
150 IGroup< Names::dX0,
false, Cons<
151 ILeaf< Names::value, false, double >, Cons<
152 ILeaf< Names::sigmaApriori, false, double >
154 IGroup< Names::dY0,
false, Cons<
155 ILeaf< Names::value, false, double >, Cons<
156 ILeaf< Names::sigmaApriori, false, double >
158 IGroup< Names::dZ0,
false, Cons<
159 ILeaf< Names::value, false, double >, Cons<
160 ILeaf< Names::sigmaApriori, false, double >
162 IGroup< Names::dOmega,
false, Cons<
163 ILeaf< Names::value, false, double >, Cons<
164 ILeaf< Names::sigmaApriori, false, double >
166 IGroup< Names::dPhi,
false, Cons<
167 ILeaf< Names::value, false, double >, Cons<
168 ILeaf< Names::sigmaApriori, false, double >
170 IGroup< Names::dKappa,
false, Cons<
171 ILeaf< Names::value, false, double >, Cons<
172 ILeaf< Names::sigmaApriori, false, double >
175 ILeaf< Names::oriFile, false, Path >, Cons<
176 ILeaf< Names::oriFormat, false, Path >, Cons<
177 ILeaf< Names::obsFile, false, Path >, Cons<
178 ILeaf< Names::undistort, false, bool >
179 > > > > > > > > > >, Cons<
180 IGroup< Names::forwardIntersect,
false, Cons<
181 IGroup< Names::extOri,
false, Cons<
182 IGroup< Names::X0,
false, Cons<
183 ILeaf< Names::sigmaApriori, false, double >
185 IGroup< Names::Y0,
false, Cons<
186 ILeaf< Names::sigmaApriori, false, double >
188 IGroup< Names::Z0,
false, Cons<
189 ILeaf< Names::sigmaApriori, false, double >
191 IGroup< Names::omega,
false, Cons<
192 ILeaf< Names::sigmaApriori, false, double >
194 IGroup< Names::phi,
false, Cons<
195 ILeaf< Names::sigmaApriori, false, double >
197 IGroup< Names::kappa,
false, Cons<
198 ILeaf< Names::sigmaApriori, false, double >
201 IGroup< Names::dExtOri,
false, Cons<
202 IGroup< Names::dX0,
false, Cons<
203 ILeaf< Names::sigmaApriori, false, double >
205 IGroup< Names::dY0,
false, Cons<
206 ILeaf< Names::sigmaApriori, false, double >
208 IGroup< Names::dZ0,
false, Cons<
209 ILeaf< Names::sigmaApriori, false, double >
211 IGroup< Names::dOmega,
false, Cons<
212 ILeaf< Names::sigmaApriori, false, double >
214 IGroup< Names::dPhi,
false, Cons<
215 ILeaf< Names::sigmaApriori, false, double >
217 IGroup< Names::dKappa,
false, Cons<
218 ILeaf< Names::sigmaApriori, false, double >
221 IGroup< Names::intOri,
false, Cons<
222 IGroup< Names::c,
false, Cons<
223 ILeaf< Names::sigmaApriori, false, double >
225 IGroup< Names::X0,
false, Cons<
226 ILeaf< Names::sigmaApriori, false, double >
228 IGroup< Names::Y0,
false, Cons<
229 ILeaf< Names::sigmaApriori, false, double >
232 IGroup< Names::distortion,
false, Cons<
233 IGroup< Names::a3,
false, Cons<
234 ILeaf< Names::sigmaApriori, false, double >
236 IGroup< Names::a4,
false, Cons<
237 ILeaf< Names::sigmaApriori, false, double >
239 IGroup< Names::a5,
false, Cons<
240 ILeaf< Names::sigmaApriori, false, double >
242 IGroup< Names::a6,
false, Cons<
243 ILeaf< Names::sigmaApriori, false, double >
246 IGroup< Names::leverArm,
false, Cons<
247 IGroup< Names::X,
false, Cons<
248 ILeaf< Names::sigmaApriori, false, double >
250 IGroup< Names::Y,
false, Cons<
251 ILeaf< Names::sigmaApriori, false, double >
253 IGroup< Names::Z,
false, Cons<
254 ILeaf< Names::sigmaApriori, false, double >
257 IGroup< Names::misalignment,
false, Cons<
258 IGroup< Names::omega,
false, Cons<
259 ILeaf< Names::sigmaApriori, false, double >
261 IGroup< Names::phi,
false, Cons<
262 ILeaf< Names::sigmaApriori, false, double >
264 IGroup< Names::kappa,
false, Cons<
265 ILeaf< Names::sigmaApriori, false, double >
268 ILeaf< Names::maxReprojectionError, false, double >
271 IVector< Names::sessions,
false, Cons<
272 IGroup< Names::trajectory,
false, Cons<
273 ILeaf< Names::inFile, false, Path >, Cons<
274 ILeaf< Names::iFormat, false, String >, Cons<
275 ILeaf< Names::timeLag, false, double >
277 IGroup< Names::leverArm,
false, Cons<
278 IGroup< Names::X,
false, Cons<
279 ILeaf< Names::value, false, double >, Cons<
280 ILeaf< Names::sigmaApriori, false, double >
282 IGroup< Names::Y,
false, Cons<
283 ILeaf< Names::value, false, double >, Cons<
284 ILeaf< Names::sigmaApriori, false, double >
286 IGroup< Names::Z,
false, Cons<
287 ILeaf< Names::value, false, double >, Cons<
288 ILeaf< Names::sigmaApriori, false, double >
291 IGroup< Names::misalignment,
false, Cons<
292 IGroup< Names::omega,
false, Cons<
293 ILeaf< Names::value, false, double >, Cons<
294 ILeaf< Names::sigmaApriori, false, double >
296 IGroup< Names::phi,
false, Cons<
297 ILeaf< Names::value, false, double >, Cons<
298 ILeaf< Names::sigmaApriori, false, double >
300 IGroup< Names::kappa,
false, Cons<
301 ILeaf< Names::value, false, double >, Cons<
302 ILeaf< Names::sigmaApriori, false, double >
305 IGroup< Names::scanner,
false, Cons<
306 IGroup< Names::range,
false, Cons<
307 IGroup< Names::offset,
false, Cons<
308 ILeaf< Names::value, false, double >, Cons<
309 ILeaf< Names::sigmaApriori, false, double >
311 IGroup< Names::scale,
false, Cons<
312 ILeaf< Names::value, false, double >, Cons<
313 ILeaf< Names::sigmaApriori, false, double >
316 IGroup< Names::scanAngle,
false, Cons<
317 IGroup< Names::offset,
false, Cons<
318 ILeaf< Names::value, false, double >, Cons<
319 ILeaf< Names::sigmaApriori, false, double >
321 IGroup< Names::scale,
false, Cons<
322 ILeaf< Names::value, false, double >, Cons<
323 ILeaf< Names::sigmaApriori, false, double >
326 IGroup< Names::tiltAngle,
false, Cons<
327 IGroup< Names::offset,
false, Cons<
328 ILeaf< Names::value, false, double >, Cons<
329 ILeaf< Names::sigmaApriori, false, double >
331 IGroup< Names::scale,
false, Cons<
332 ILeaf< Names::value, false, double >, Cons<
333 ILeaf< Names::sigmaApriori, false, double >
337 IGroup< Names::datum,
false, Cons<
338 IGroup< Names::dX,
false, Cons<
339 ILeaf< Names::value, false, double >, Cons<
340 ILeaf< Names::sigmaApriori, false, double >
342 IGroup< Names::dY,
false, Cons<
343 ILeaf< Names::value, false, double >, Cons<
344 ILeaf< Names::sigmaApriori, false, double >
346 IGroup< Names::dZ,
false, Cons<
347 ILeaf< Names::value, false, double >, Cons<
348 ILeaf< Names::sigmaApriori, false, double >
352 IVector< Names::cameras,
false, Cons<
353 IGroup< Names::intOri,
false, Cons<
354 IGroup< Names::c,
false, Cons<
355 ILeaf< Names::value, false, double >, Cons<
356 ILeaf< Names::sigmaApriori, false, double >
358 IGroup< Names::X0,
false, Cons<
359 ILeaf< Names::value, false, double >, Cons<
360 ILeaf< Names::sigmaApriori, false, double >
362 IGroup< Names::Y0,
false, Cons<
363 ILeaf< Names::value, false, double >, Cons<
364 ILeaf< Names::sigmaApriori, false, double >
367 IGroup< Names::distortion,
false, Cons<
368 IGroup< Names::a3,
false, Cons<
369 ILeaf< Names::value, false, double >, Cons<
370 ILeaf< Names::sigmaApriori, false, double >
372 IGroup< Names::a4,
false, Cons<
373 ILeaf< Names::value, false, double >, Cons<
374 ILeaf< Names::sigmaApriori, false, double >
376 IGroup< Names::a5,
false, Cons<
377 ILeaf< Names::value, false, double >, Cons<
378 ILeaf< Names::sigmaApriori, false, double >
380 IGroup< Names::a6,
false, Cons<
381 ILeaf< Names::value, false, double >, Cons<
382 ILeaf< Names::sigmaApriori, false, double >
384 ILeaf< Names::rho0, false, double >
386 IGroup< Names::leverArm,
false, Cons<
387 IGroup< Names::X,
false, Cons<
388 ILeaf< Names::value, false, double >, Cons<
389 ILeaf< Names::sigmaApriori, false, double >
391 IGroup< Names::Y,
false, Cons<
392 ILeaf< Names::value, false, double >, Cons<
393 ILeaf< Names::sigmaApriori, false, double >
395 IGroup< Names::Z,
false, Cons<
396 ILeaf< Names::value, false, double >, Cons<
397 ILeaf< Names::sigmaApriori, false, double >
400 IGroup< Names::misalignment,
false, Cons<
401 IGroup< Names::omega,
false, Cons<
402 ILeaf< Names::value, false, double >, Cons<
403 ILeaf< Names::sigmaApriori, false, double >
405 IGroup< Names::phi,
false, Cons<
406 ILeaf< Names::value, false, double >, Cons<
407 ILeaf< Names::sigmaApriori, false, double >
409 IGroup< Names::kappa,
false, Cons<
410 ILeaf< Names::value, false, double >, Cons<
411 ILeaf< Names::sigmaApriori, false, double >
414 ILeaf< Names::xSigPriori, false, double >, Cons<
415 ILeaf< Names::ySigPriori, false, double >
417 IGroup< Names::correspondences,
false, Cons<
418 IGroup< Names::strip2strip,
false, Cons<
419 ILeaf< Names::overlap, false, unsigned >, Cons<
420 IGroup< Names::selection,
false, Cons<
421 ILeaf< Names::samplingDist, false, double >, Cons<
422 ILeaf< Names::normalSpaceSampling, false, double >, Cons<
423 ILeaf< Names::maxLeverageSampling, false, double >, Cons<
424 ILeaf< Names::maxRoughness, false, double >
426 IGroup< Names::weighting,
false, Cons<
427 ILeaf< Names::byDeltaAngle, false, bool >, Cons<
428 ILeaf< Names::byRoughness, false, bool >
430 IGroup< Names::rejection,
false, Cons<
431 ILeaf< Names::maxDist, false, double >, Cons<
432 ILeaf< Names::maxAngleDev, false, double >, Cons<
433 ILeaf< Names::maxSigmaMAD, false, double >, Cons<
434 ILeaf< Names::maxRoughness, false, double >
437 IGroup< Names::control2strip,
false, Cons<
438 ILeaf< Names::overlap, false, unsigned >, Cons<
439 IGroup< Names::selection,
false, Cons<
440 ILeaf< Names::samplingDist, false, double >, Cons<
441 ILeaf< Names::normalSpaceSampling, false, double >, Cons<
442 ILeaf< Names::maxLeverageSampling, false, double >, Cons<
443 ILeaf< Names::maxRoughness, false, double >
445 IGroup< Names::weighting,
false, Cons<
446 ILeaf< Names::byDeltaAngle, false, bool >, Cons<
447 ILeaf< Names::byRoughness, false, bool >
449 IGroup< Names::rejection,
false, Cons<
450 ILeaf< Names::maxDist, false, double >, Cons<
451 ILeaf< Names::maxAngleDev, false, double >, Cons<
452 ILeaf< Names::maxSigmaMAD, false, double >, Cons<
453 ILeaf< Names::maxRoughness, false, double >
455 ILeaf< Names::dpSigPriori, false, double >
457 IGroup< Names::image2image,
false, Cons<
458 ILeaf< Names::minImageCount, false, unsigned >, Cons<
459 IGroup< Names::selection,
false, Cons<
460 ILeaf< Names::samplingDist, false, double >
463 IGroup< Names::image2strip,
false, Cons<
464 ILeaf< Names::overlap, false, unsigned >, Cons<
465 IGroup< Names::selection,
false, Cons<
466 ILeaf< Names::samplingDist, false, double >
468 IGroup< Names::weighting,
false, Cons<
469 ILeaf< Names::byRoughness, false, bool >
471 IGroup< Names::rejection,
false, Cons<
472 ILeaf< Names::maxDist, false, double >, Cons<
473 ILeaf< Names::maxSigmaMAD, false, double >, Cons<
474 ILeaf< Names::maxRoughness, false, double >
476 ILeaf< Names::dpSigPriori, false, double >
479 IGroup< Names::workflow,
false, Cons<
480 IGroup< Names::stages,
false, Cons<
481 ILeaf< Names::first, false, StripAdjustStage::Type >, Cons<
482 ILeaf< Names::last, false, StripAdjustStage::Type >
484 ILeaf< Names::strips, false, Vector<unsigned> >, Cons<
485 ILeaf< Names::controlPointClouds, false, Vector<unsigned> >, Cons<
486 ILeaf< Names::images, false, Vector<unsigned> >
488 > > > > > > > > > > > > > > Options;
512 virtual const Options& opts()
const = 0;