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

Function comparePcdLas

test/unit/io/PcdReaderTest.cpp:46–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44using namespace pdal;
45
46void comparePcdLas(const std::string& pcdFilename, Options& pcdOptions,
47 const std::string& lasFilename, bool checkGpsTime = false)
48{
49 PcdReader t;
50 pcdOptions.add("filename", pcdFilename);
51 t.setOptions(pcdOptions);
52
53 LasReader l;
54 Options lo;
55 lo.add("filename", lasFilename);
56 l.setOptions(lo);
57
58 PointTable tt;
59 t.prepare(tt);
60 PointViewSet ts = t.execute(tt);
61 EXPECT_EQ(ts.size(), 1U);
62 PointViewPtr tv = *ts.begin();
63
64 PointTable lt;
65 l.prepare(lt);
66 PointViewSet ls = l.execute(lt);
67 EXPECT_EQ(ls.size(), 1U);
68 PointViewPtr lv = *ls.begin();
69
70 EXPECT_EQ(tv->size(), lv->size());
71
72 // Validate some point data.
73 for (PointId i = 0; i < lv->size(); ++i)
74 {
75 EXPECT_DOUBLE_EQ(tv->getFieldAs<float>(Dimension::Id::X, i),
76 lv->getFieldAs<float>(Dimension::Id::X, i));
77 EXPECT_DOUBLE_EQ(tv->getFieldAs<float>(Dimension::Id::Y, i),
78 lv->getFieldAs<float>(Dimension::Id::Y, i));
79 EXPECT_DOUBLE_EQ(tv->getFieldAs<float>(Dimension::Id::Z, i),
80 lv->getFieldAs<float>(Dimension::Id::Z, i));
81 }
82 if (checkGpsTime)
83 for (PointId i = 0; i < lv->size(); ++i)
84 EXPECT_DOUBLE_EQ(tv->getFieldAs<float>(Dimension::Id::GpsTime, i),
85 lv->getFieldAs<float>(Dimension::Id::GpsTime, i));
86}
87
88void comparePcdLas(const std::string& pcdFilename,
89 const std::string& lasFilename)

Callers 1

TESTFunction · 0.85

Calls 6

setOptionsMethod · 0.80
addMethod · 0.45
prepareMethod · 0.45
executeMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected