DGtal  0.9.3
Functions
ctopo-1.cpp File Reference
#include <iostream>
#include "DGtal/base/Common.h"
#include "DGtal/helpers/StdDefs.h"
#include "DGtal/io/boards/Board2D.h"
#include "DGtal/io/Color.h"
Include dependency graph for ctopo-1.cpp:

Go to the source code of this file.

Functions

int main ()
 

Detailed Description

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Author
Jacques-Olivier Lachaud (jacqu.nosp@m.es-o.nosp@m.livie.nosp@m.r.la.nosp@m.chaud.nosp@m.@uni.nosp@m.v-sav.nosp@m.oie..nosp@m.fr ) Laboratory of Mathematics (CNRS, UMR 5807), University of Savoie, France
Date
2011/03/05

An example file named ctopo-1.

This file is part of the DGtal library.

Definition in file ctopo-1.cpp.

Function Documentation

◆ main()

int main ( )

Definition at line 56 of file ctopo-1.cpp.

References DGtal::KhalimskyCell< dim, TInteger >::className(), DGtal::HyperRectDomain< TSpace >::className(), domain(), DGtal::KhalimskySpaceND< dim, TInteger >::init(), K, LibBoard::Board::saveEPS(), LibBoard::Board::saveSVG(), DGtal::KhalimskySpaceND< dim, TInteger >::uCell(), DGtal::KhalimskySpaceND< dim, TInteger >::uPointel(), DGtal::KhalimskySpaceND< dim, TInteger >::uSpel(), and DGtal::KhalimskySpaceND< dim, TInteger >::uTranslation().

57 {
58  KSpace K;
59  Point plow(-3,-2);
60  Point pup(5,3);
61  Domain domain( plow, pup );
62  Board2D board; // for 2D display
63  K.init( plow, pup, true );
64  board << SetMode( domain.className(), "Paving" )
65  << domain;
66  Cell pixlow = K.uSpel( plow ); // pixel (-3*2+1,-2*2+1)
67  Cell ptlow = K.uPointel( plow ); // pointel (-3*2,-2*2)
68  Cell pixup = K.uSpel( pup ); // pixel (5*2+1,3*2+1)
69  Cell ptup1 = K.uPointel( pup ); // pointel (5*2,3*2)
70  Cell ptup2 = K.uTranslation( ptup1, Point::diagonal() ); // pointel (6*2,4*2)
71  Cell linelb = K.uCell( Point( 1, 0 ) ); // linel (1,0) bottom
72  Cell linelt = K.uCell( Point( 1, 2 ) ); // linel (1,2) top
73  Cell linell = K.uCell( Point( 0, 1 ) ); // linel (0,1) left
74  Cell linelr = K.uCell( Point( 2, 1 ) ); // linel (2,1) right
75  board << CustomStyle( ptlow.className(),
76  new CustomColors( Color( 0, 0, 200 ),
77  Color( 100, 100, 255 ) ) )
78  << ptlow << ptup2;
79  board << CustomStyle( pixlow.className(),
80  new CustomColors( Color( 200, 0, 0 ),
81  Color( 255, 100, 100 ) ) )
82  << pixlow << pixup;
83  board << CustomStyle( linelb.className(),
84  new CustomColors( Color( 0, 200, 0 ),
85  Color( 100, 255, 100 ) ) )
86  << linelb << linelt << linell << linelr;
87  board.saveSVG("ctopo-1.svg");
88  board.saveEPS("ctopo-1.eps");
89  return 0;
90 }
Cell uPointel(Point p) const
const Domain domain(Point(1, 2), Point(6, 5))
Custom style class redefining the pen color and the fill color. You may use Board2D::Color::None for ...
Definition: Board2D.h:278
void saveSVG(const char *filename, PageSize size=Board::BoundingBox, double margin=10.0) const
Definition: Board.cpp:1012
Cell uSpel(Point p) const
bool init(const Point &lower, const Point &upper, bool isClosed)
Cell uCell(const PreCell &c) const
void saveEPS(const char *filename, PageSize size=Board::BoundingBox, double margin=10.0) const
Definition: Board.cpp:805
std::string className() const
MyPointD Point
Definition: testClone2.cpp:383
Modifier class in a Board2D stream. Useful to choose your own mode for a given class. Realizes the concept CDrawableWithBoard2D.
Definition: Board2D.h:247
Structure representing an RGB triple with alpha component.
Definition: Color.h:66
KSpace K
Cell uTranslation(const Cell &p, const Vector &vec) const
Aim: This class is a model of CCellularGridSpaceND. It represents the cubical grid as a cell complex...
std::string className() const
Aim: This class specializes a &#39;Board&#39; class so as to display DGtal objects more naturally (with <<)...
Definition: Board2D.h:70