DGtal
0.6.devel
Main Page
Related Pages
Modules
Namespaces
Data Structures
Examples
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
tests
io
testBoard2DCustomStyle.cpp
1
30
31
#include <iostream>
32
#include "DGtal/base/Common.h"
33
34
#include "DGtal/kernel/SpaceND.h"
35
#include "DGtal/kernel/domains/HyperRectDomain.h"
36
#include "DGtal/kernel/sets/DigitalSetBySTLVector.h"
37
#include "DGtal/kernel/sets/DigitalSetBySTLSet.h"
38
#include "DGtal/kernel/sets/DigitalSetSelector.h"
39
#include "DGtal/io/boards/Board2D.h"
40
42
43
using namespace
std;
44
using namespace
DGtal;
45
46
47
51
struct
MyDrawStyleCustomGreen
:
public
DrawableWithBoard2D
52
{
53
virtual
void
setStyle(
DGtal::Board2D
& aBoard )
const
54
{
55
aBoard.
setFillColorRGBi
(0,160,0);
56
aBoard.
setPenColorRGBi
(80,0,0);
57
}
58
};
59
61
// Functions for testing class Board2DCustomStyle.
63
67
bool
testBoard2DCustomStyle()
68
{
69
unsigned
int
nbok = 0;
70
unsigned
int
nb = 0;
71
72
typedef
SpaceND<2>
Z2
;
73
74
typedef
HyperRectDomain<Z2>
Domain
;
75
typedef
Z2::Point
Point
;
76
Point p1( -10, -10 );
77
Point p2( 10, 10 );
78
Domain domain( p1, p2 );
79
typedef
DigitalSetSelector
80
< Domain,
BIG_DS
+
HIGH_ITER_DS
+
HIGH_BEL_DS
>::Type SpecificSet;
81
SpecificSet mySet( domain );
82
83
Point c( 0, 0 );
84
mySet.insert( c );
85
Point d( 5, 2 );
86
mySet.insert( d );
87
Point e( 1, -3 );
88
mySet.insert( e );
89
90
91
Board2D
board;
92
board.
setUnit
(
LibBoard::Board::UCentimeter
);
93
94
board <<
SetMode
( domain.className(),
"Grid"
) << domain
95
<< domain
96
<< mySet;
97
board.
saveSVG
(
"testcustom-prev.svg"
);
98
99
board.
clear
();
100
101
board <<
SetMode
( domain.className(),
"Grid"
) << domain
102
<< domain
103
<<
CustomStyle
( mySet.className(),
new
MyDrawStyleCustomGreen
)
104
<< mySet;
105
board.
saveSVG
(
"testcustom-next.svg"
);
106
107
108
return
nbok == nb;
109
}
110
112
// Standard services - public :
113
114
int
main(
int
argc,
char
** argv )
115
{
116
trace
.
beginBlock
(
"Testing class Board2DCustomStyle"
);
117
trace
.
info
() <<
"Args:"
;
118
for
(
int
i = 0; i < argc; ++i )
119
trace
.
info
() <<
" "
<< argv[ i ];
120
trace
.
info
() << endl;
121
122
bool
res = testBoard2DCustomStyle();
// && ... other tests
123
trace
.
emphase
() << ( res ?
"Passed."
:
"Error."
) << endl;
124
trace
.
endBlock
();
125
return
res ? 0 : 1;
126
}
127
// //
Generated on Wed Dec 19 2012 19:10:37 for DGtal by
1.8.1.1