49#include "DGtal/base/Common.h"
50#include "DGtal/topology/KhalimskySpaceND.h"
51#include "DGtal/helpers/StdDefs.h"
52#include "DGtal/io/Color.h"
53#include "DGtal/io/boards/Board2D.h"
62int main(
int argc,
char** argv )
64 trace.beginBlock (
"Example KhalimskySpaceScanner" );
65 trace.info() <<
"Args:";
66 for (
int i = 0; i < argc; ++i )
67 trace.info() <<
" " << argv[ i ];
107 shift =
K.uCoords(p)-
K.uCoords(prec);
111 while (
K.uNext( p,
K.uFirst(p),
K.uLast(p) ) );
121 for ( KPS::Cell qq =
K.uGetMax(q, 0);
K.uIsInside(qq, 0); qq = KPS::uGetDecr(qq, 0) )
123 for ( KPS::uSetKCoord( qq,
K.uFirst( qq, 1 ), 1 );
K.uIsInside(qq, 1); qq = KPS::uGetIncr(qq, 1) )
133 shiftq =
K.uCoords(q) -
K.uCoords(precq);
140 boardScan1.
saveSVG(
"khalimskySpaceScanner1.svg");
141 boardScan1.
saveFIG(
"khalimskySpaceScanner1.fig");
143 boardScan2.
saveSVG(
"khalimskySpaceScanner2.svg");
144 boardScan2.
saveFIG(
"khalimskySpaceScanner2.fig");
Aim: This class specializes a 'Board' class so as to display DGtal objects more naturally (with <<)....
Structure representing an RGB triple with alpha component.
const Point & lowerBound() const
const Point & upperBound() const
std::string className() const
KhalimskyCell< dim, Integer > Cell
Board & setPenColor(const DGtal::Color &color)
void saveFIG(const char *filename, PageSize size=Board::BoundingBox, double margin=10.0, bool includeFIGHeader=true) const
void saveSVG(const char *filename, PageSize size=Board::BoundingBox, double margin=10.0) const
KhalimskyPreSpaceND< 2, Integer > KPreSpace
KhalimskySpaceND< 2, Integer > KSpace
HyperRectDomain< Space > Domain
DGtal is the top-level namespace which contains all DGtal functions and types.
static void draw(DGtal::Board2D &board, const DGtal::DiscreteExteriorCalculus< dimEmbedded, dimAmbient, TLinearAlgebraBackend, TInteger > &calculus)
Modifier class in a Board2D stream. Useful to choose your own mode for a given class....