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

Function comparePcdLasStreaming

test/unit/io/PcdReaderTest.cpp:96–152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

94}
95
96void comparePcdLasStreaming(const std::string& pcdFilename,
97 const std::string& lasFilename)
98{
99 std::string tempname(Support::temppath("testlas.las"));
100
101 FileUtils::deleteFile(tempname);
102
103 PcdReader t;
104 Options to;
105 to.add("filename", pcdFilename);
106 t.setOptions(to);
107
108 LasWriter w;
109 Options wo;
110 wo.add("filename", tempname);
111 w.setInput(t);
112 w.setOptions(wo);
113
114 FixedPointTable in(1000);
115 w.prepare(in);
116 w.execute(in);
117
118 LasReader l1;
119 Options l1o;
120 l1o.add("filename", lasFilename);
121 l1.setOptions(l1o);
122
123 LasReader l2;
124 Options l2o;
125 l2o.add("filename", tempname);
126 l2.setOptions(l2o);
127
128 PointTable t1;
129 l1.prepare(t1);
130 PointViewSet s1 = l1.execute(t1);
131 EXPECT_EQ(s1.size(), 1U);
132 PointViewPtr v1 = *s1.begin();
133
134 PointTable t2;
135 l2.prepare(t2);
136 PointViewSet s2 = l2.execute(t2);
137 EXPECT_EQ(s2.size(), 1U);
138 PointViewPtr v2 = *s2.begin();
139
140 EXPECT_EQ(v1->size(), v2->size());
141
142 // Validate some point data.
143 for (PointId i = 0; i < v1->size(); ++i)
144 {
145 EXPECT_DOUBLE_EQ(v1->getFieldAs<float>(Dimension::Id::X, i),
146 v2->getFieldAs<float>(Dimension::Id::X, i));
147 EXPECT_DOUBLE_EQ(v1->getFieldAs<float>(Dimension::Id::Y, i),
148 v2->getFieldAs<float>(Dimension::Id::Y, i));
149 EXPECT_DOUBLE_EQ(v1->getFieldAs<float>(Dimension::Id::Z, i),
150 v2->getFieldAs<float>(Dimension::Id::Z, i));
151 }
152}
153

Callers 1

TESTFunction · 0.85

Calls 8

temppathFunction · 0.85
deleteFileFunction · 0.85
setOptionsMethod · 0.80
addMethod · 0.45
prepareMethod · 0.45
executeMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected