DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
testDomainSplitter.cpp
Go to the documentation of this file.
1
16
29
31
#include <iostream>
32
#include "DGtal/base/Common.h"
33
#include "DGtalCatch.h"
34
35
#include "DGtal/helpers/StdDefs.h"
36
#include "DGtal/kernel/domains/DomainSplitter.h"
37
38
#ifdef DGTAL_TESTS_WITH_VIEWER
39
#ifdef DGTAL_WITH_POLYSCOPE_VIEWER
40
#include "DGtal/io/colormaps/HueShadeColorMap.h"
41
#include "DGtal/io/viewers/PolyscopeViewer.h"
42
#endif
43
#endif
44
46
47
using namespace
DGtal
;
48
using namespace
Z3i
;
49
50
TEST_CASE
(
"Domain Regular Grid Splitter tests"
)
51
{
52
Domain
domain
(
Point
(0,0,0),
Point
(16,32,64));
53
54
RegularDomainSplitter<Domain>
splitter
;
55
56
RegularDomainSplitter<Domain>::SplitDomainsInfo
output
=
splitter
(
domain
,12);
57
REQUIRE
(
output
.size() <= 12);
58
59
trace
.
info
() <<
"Original domain: "
<<
domain
<<std::endl;
60
for
(
auto
d:
output
)
61
trace
.
info
()<<
" subdomain: "
<<d.domain<<std::endl;
62
63
#ifdef DGTAL_TESTS_WITH_VIEWER
64
#ifdef DGTAL_WITH_POLYSCOPE_VIEWER
65
PolyscopeViewer
viewer;
66
HueShadeColorMap<unsigned int>
cmap(0,(
unsigned
int
)
output
.size());
67
for
(
auto
i=0; i<
output
.size(); ++i)
68
{
69
viewer << cmap(i);
70
viewer <<
output
[i].domain;
71
}
72
viewer.
show
();
73
#endif
74
#endif
75
}
76
77
TEST_CASE
(
"Domain Axis Splitter tests"
)
78
{
79
Domain
domain
(
Point
(0,0,0),
Point
(16,32,64));
80
81
AxisDomainSplitter<Domain>
splitter
;
82
83
AxisDomainSplitter<Domain>::SplitDomainsInfo
output
=
splitter
(
domain
,3,0);
84
REQUIRE
(
output
.size() == 3);
85
86
trace
.
info
() <<
"Original domain: "
<<
domain
<<std::endl;
87
for
(
auto
d:
output
)
88
trace
.
info
()<<
" subdomain: "
<<d.domain<<std::endl;
89
90
#ifdef DGTAL_TESTS_WITH_VIEWER
91
#ifdef DGTAL_WITH_POLYSCOPE_VIEWER
92
PolyscopeViewer
viewer;
93
HueShadeColorMap<unsigned int>
cmap(0,(
unsigned
int
)
output
.size());
94
for
(
auto
i=0; i<
output
.size(); ++i)
95
{
96
viewer << cmap(i);
97
viewer <<
output
[i].domain;
98
}
99
viewer.
show
();
100
#endif
101
#endif
102
}
103
104
TEST_CASE
(
"Domain Axis Splitter tests (another direction)"
)
105
{
106
Domain
domain
(
Point
(10,10,10),
Point
(16,32,64));
107
108
AxisDomainSplitter<Domain>
splitter
;
109
110
AxisDomainSplitter<Domain>::SplitDomainsInfo
output
=
splitter
(
domain
,2,1);
111
REQUIRE
(
output
.size() == 2);
112
113
trace
.
info
() <<
"Original domain: "
<<
domain
<<std::endl;
114
for
(
auto
d:
output
)
115
trace
.
info
()<<
" subdomain: "
<<d.domain<<std::endl;
116
}
DGtal::HueShadeColorMap
Aim: This class template may be used to (linearly) convert scalar values in a given range into a colo...
Definition
HueShadeColorMap.h:91
DGtal::PolyscopeViewer
Definition
PolyscopeViewer.h:57
DGtal::PolyscopeViewer::show
void show() override
Starts the event loop and display of elements.
Definition
PolyscopeViewer.h:73
DGtal::Point
DGtal::Trace::info
std::ostream & info()
DGtal::Domain
DGtal::Z3i
Z3i this namespace gathers the standard of types for 3D imagery.
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::trace
Trace trace
DGtal::AxisDomainSplitter
Splits a domain along one of the domain grid axis.
Definition
DomainSplitter.h:116
DGtal::AxisDomainSplitter::SplitDomainsInfo
std::vector< SplitInfo< Domain > > SplitDomainsInfo
Definition
DomainSplitter.h:121
DGtal::RegularDomainSplitter
Splits a domain evenly along all dimensions.
Definition
DomainSplitter.h:57
DGtal::RegularDomainSplitter::SplitDomainsInfo
std::vector< SplitInfo< Domain > > SplitDomainsInfo
Definition
DomainSplitter.h:61
TEST_CASE
TEST_CASE("int container traits", "[int][traits]")
Definition
testContainerTraits.cpp:53
output
AxisDomainSplitter< Domain >::SplitDomainsInfo output
Definition
testDomainSplitter.cpp:110
splitter
AxisDomainSplitter< Domain > splitter
Definition
testDomainSplitter.cpp:108
domain
Domain domain
Definition
testProjection.cpp:88
REQUIRE
REQUIRE(domain.isInside(aPoint))
tests
kernel
testDomainSplitter.cpp
Generated on
for DGtal by
1.18.0