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