MCPcopy Create free account
hub / github.com/PDAL/PDAL / TEST

Function TEST

test/unit/filters/MortonOrderTest.cpp:44–115  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42using namespace pdal;
43
44TEST(MortonOrderTest, test_code)
45{
46 PointTable table;
47 table.layout()->registerDim(Dimension::Id::X);
48 table.layout()->registerDim(Dimension::Id::Y);
49
50 PointViewPtr view(new PointView(table));
51
52 int n = 0;
53 for ( int i = 0; i < 4; i++ )
54 {
55 for ( int j = 0; j < 4; j++ )
56 {
57 view->setField(Dimension::Id::X, n, i);
58 view->setField(Dimension::Id::Y, n, j);
59 n += 1;
60 }
61 }
62
63 BufferReader r;
64 r.addView(view);
65
66 MortonOrderFilter filter;
67 Options o;
68 o.add("reverse", "true");
69 filter.setInput(r);
70 filter.setOptions(o);
71
72 filter.prepare(table);
73 PointViewSet s = filter.execute(table);
74 PointViewPtr outView = *s.begin();
75
76 /*
77 ___________________
78 | | | | |
79 | 0 | 9 | 6 | 2 |
80 |____|____|____|____|
81 | | | | |
82 | 12 | 15 | 11 | 10 |
83 |____|____|____|____|
84 | | | | |
85 | 4 | 14 | 8 | 5 |
86 |____|____|____|____|
87 | | | | |
88 | 1 | 13 | 7 | 3 |
89 |____|____|____|____|
90 */
91
92 // index 0
93 EXPECT_EQ(outView->getFieldAs<double>(Dimension::Id::X, 0), 0);
94 EXPECT_EQ(outView->getFieldAs<double>(Dimension::Id::Y, 0), 0);
95
96 // index 1
97 EXPECT_EQ(outView->getFieldAs<double>(Dimension::Id::X, 1), 0);
98 EXPECT_EQ(outView->getFieldAs<double>(Dimension::Id::Y, 1), 3);
99
100 // index 2
101 EXPECT_EQ(outView->getFieldAs<double>(Dimension::Id::X, 2), 3);

Callers

nothing calls this directly

Calls 7

registerDimMethod · 0.80
setOptionsMethod · 0.80
setFieldMethod · 0.45
addMethod · 0.45
prepareMethod · 0.45
executeMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected