Example of Preimage2D.
#include <iostream>
#include "DGtal/base/Common.h"
#include "DGtal/helpers/StdDefs.h"
#include "ConfigExamples.h"
#include "DGtal/geometry/tools/Preimage2D.h"
#include "DGtal/shapes/fromPoints/StraightLineFrom2Points.h"
#include "DGtal/shapes/fromPoints/CircleFrom2Points.h"
#include "DGtal/io/boards/Board2D.h"
using namespace std;
using namespace Z2i;
int main(
int argc,
char** argv )
{
for ( int i = 0; i < argc; ++i )
std::string filename = examplesPath + "samples/DSS.dat";
ifstream instream;
instream.open (filename.c_str(), ifstream::in);
c.initFromVectorStream(instream);
{
StraightLine aStraightLine;
Curve::IncidentPointsRange r = c.getIncidentPointsRange();
Preimage2D thePreimage(it->first, it->second, aStraightLine);
++it;
while ( (it != itEnd) &&
(thePreimage.
addFront(it->first, it->second)) )
{
++it;
}
board.
setUnit(Board2D::UCentimeter);
board << r << thePreimage;
board.
saveEPS(
"PreimageExample.eps" );
}
{
Circle aCircle( pole );
Curve::IncidentPointsRange r = c.getIncidentPointsRange();
Preimage2D thePreimage(it->first, it->second, aCircle);
++it;
while ( (it != itEnd) &&
(thePreimage.
addFront(it->first, it->second)) )
{
++it;
}
board.
setUnit(Board2D::UCentimeter);
board << r <<
SetMode(pole.className(),
"Grid") << pole << thePreimage;
board.
saveEPS(
"PreimageExample2.eps" );
board.
saveSVG(
"PreimageExample2.svg" );
#ifdef WITH_CAIRO
board.
saveCairo(
"PreimageExample2.pdf", Board2D::CairoPDF);
#endif
}
return 0;
}