DGtal 1.3.0
Loading...
Searching...
No Matches
examplePlaneProbingParallelepipedEstimator.cpp
Go to the documentation of this file.
1
31#include <iostream>
32#include "ConfigExamples.h"
33#include "DGtal/helpers/StdDefs.h"
34#include "DGtal/base/Common.h"
35#include "DGtal/geometry/surfaces/DigitalPlanePredicate.h"
36#include "DGtal/geometry/surfaces/estimation/PlaneProbingParallelepipedEstimator.h"
38
39using namespace std;
40using namespace DGtal;
41
44using Integer = Point::Coordinate;
47
49
50int main(int argc, const char** argv)
51{
52 const int height = (argc > 1) ? std::atoi(argv[1]) : 2;
53 std::cout << "height=" << height << std::endl;
54
55 Vector n(2, 6, 15);
56
57 DigitalPlane plane(n, -height, n.norm1());
58 Point o(0, 0, 0);
59 Integer bound = n.norm1() + 1;
60 std::array<Point, 3> m = { Point(1, 0, 0), Point(0, 1, 0), Point(0, 0, 1) };
61 Estimator estimator(o, m, plane, bound);
62
63 int it = 0;
64 while (estimator.advance()) {
65 it++;
66
67 std::cout << "state=" << estimator.getState() << ", isInReverseState=" << estimator.isInReverseState() << std::endl;
68
69 std::clog << "it = " << it << " "
70 << estimator.m(0) << " " << estimator.m(1) << " " << estimator.m(2) << " "
71 << estimator.getNormal() << std::endl;
72 }
73
74 ASSERT(estimator.getNormal() == n);
75
76 return 0;
77}
78// //
Aim: Representing digital planes, which are digitizations of Euclidean planes, as point predicates.
bool advance(std::vector< PointOnProbingRay > const &aNeighbors)
DigitalPlane::Vector Point
DGtal is the top-level namespace which contains all DGtal functions and types.
STL namespace.
int main()
Definition: testBits.cpp:56
MyPointD Point
Definition: testClone2.cpp:383
FreemanChain< int >::Vector Vector