DGtal 2.1.1
Loading...
Searching...
No Matches
testDomainSplitter.cpp
Go to the documentation of this file.
1
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
47using namespace DGtal;
48using namespace Z3i;
49
50TEST_CASE( "Domain Regular Grid Splitter tests" )
51{
52 Domain domain(Point(0,0,0), Point(16,32,64));
53
55
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
77TEST_CASE( "Domain Axis Splitter tests" )
78{
79 Domain domain(Point(0,0,0), Point(16,32,64));
80
82
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
104TEST_CASE( "Domain Axis Splitter tests (another direction)" )
105{
106 Domain domain(Point(10,10,10), Point(16,32,64));
107
109
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}
Aim: This class template may be used to (linearly) convert scalar values in a given range into a colo...
void show() override
Starts the event loop and display of elements.
std::ostream & info()
Space::Point Point
Definition StdDefs.h:168
DGtal is the top-level namespace which contains all DGtal functions and types.
Trace trace
STL namespace.
Splits a domain along one of the domain grid axis.
std::vector< SplitInfo< Domain > > SplitDomainsInfo
Splits a domain evenly along all dimensions.
std::vector< SplitInfo< Domain > > SplitDomainsInfo
REQUIRE(output.size()==2)
TEST_CASE("Domain Regular Grid Splitter tests")
AxisDomainSplitter< Domain >::SplitDomainsInfo output
AxisDomainSplitter< Domain > splitter
Domain domain