DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
testPreimage.cpp
1 
34 #include <cstdio>
35 #include <cmath>
36 #include <fstream>
37 #include <vector>
38 #include <iostream>
39 #include <sstream>
40 #include <iterator>
41 
42 
43 
44 
45 #include "DGtal/base/Common.h"
46 #include "DGtal/base/Exceptions.h"
47 #include "DGtal/kernel/SpaceND.h"
48 #include "DGtal/kernel/domains/DomainPredicate.h"
49 #include "DGtal/kernel/domains/HyperRectDomain.h"
50 #include "DGtal/topology/KhalimskySpaceND.h"
51 #include "DGtal/geometry/curves/GridCurve.h"
52 #include "DGtal/io/boards/Board2D.h"
53 
54 #include "DGtal/shapes/fromPoints/StraightLineFrom2Points.h"
55 #include "DGtal/geometry/tools/Preimage2D.h"
56 
57 
58 #include "ConfigTest.h"
59 
60 
61 using namespace DGtal;
62 
63 
64 int main()
65 {
66 
67  std::string filename = testPath + "samples/DSS.dat";
68  ifstream instream; // input stream
69  instream.open (filename.c_str(), ifstream::in);
70 
72  GridCurve<KSpace> c; //grid curve
73  c.initFromVectorStream(instream);
74 
75 
76  trace.beginBlock("Simple preimage test");
77 
79  StraightLine aStraightLine; //instance of straight line
81 
85 
86  //preimage computation
87  Preimage2D thePreimage(it->first, it->second, aStraightLine);
88  ++it;
89  while ( (it != itEnd) &&
90  (thePreimage.addBack(it->first, it->second)) )
91  {
92  trace.info() << (it - r.rbegin()) << endl << thePreimage << endl;
93  ++it;
94  }
95 
96  trace.endBlock();
97 
98  return 0;
99 }