| 41 | { |
| 42 | |
| 43 | TEST(PtxReader, Basic) |
| 44 | { |
| 45 | PtxReader reader; |
| 46 | |
| 47 | Options options; |
| 48 | options.add("filename", Support::datapath("ptx/1.2-with-color.ptx")); |
| 49 | reader.setOptions(options); |
| 50 | |
| 51 | PointTable table; |
| 52 | reader.prepare(table); |
| 53 | const PointViewSet viewSet = reader.execute(table); |
| 54 | EXPECT_EQ(viewSet.size(), static_cast<size_t>(1)); |
| 55 | const PointViewPtr view = *viewSet.begin(); |
| 56 | EXPECT_EQ(view->size(), static_cast<point_count_t>(15 * 71)); |
| 57 | |
| 58 | const PointLayout *layout = view->layout(); |
| 59 | EXPECT_TRUE(layout->hasDim(Dimension::Id::Intensity)); |
| 60 | EXPECT_TRUE(layout->hasDim(Dimension::Id::Red)); |
| 61 | EXPECT_TRUE(layout->hasDim(Dimension::Id::Green)); |
| 62 | EXPECT_TRUE(layout->hasDim(Dimension::Id::Blue)); |
| 63 | |
| 64 | EXPECT_DOUBLE_EQ(view->getFieldAs<double>(Dimension::Id::X, 0), 637012.24); |
| 65 | EXPECT_DOUBLE_EQ(view->getFieldAs<double>(Dimension::Id::Y, 0), 849028.31); |
| 66 | EXPECT_DOUBLE_EQ(view->getFieldAs<double>(Dimension::Id::Z, 0), 431.66); |
| 67 | // Intensity = 0.034912 * 4096 ~= 143.0 |
| 68 | EXPECT_FLOAT_EQ(view->getFieldAs<float>(Dimension::Id::Intensity, 0), 143.0f); |
| 69 | EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::Red, 0), 68); |
| 70 | EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::Green, 0), 77); |
| 71 | EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::Blue, 0), 88); |
| 72 | |
| 73 | EXPECT_DOUBLE_EQ(view->getFieldAs<double>(Dimension::Id::X, 489), 635770.47); |
| 74 | EXPECT_DOUBLE_EQ(view->getFieldAs<double>(Dimension::Id::Y, 489), 851464.67); |
| 75 | EXPECT_DOUBLE_EQ(view->getFieldAs<double>(Dimension::Id::Z, 489), 422.28); |
| 76 | // Intensity = 0.019775 * 4096 ~= 81.0 |
| 77 | EXPECT_FLOAT_EQ(view->getFieldAs<float>(Dimension::Id::Intensity, 489), 81.0f); |
| 78 | EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::Red, 489), 105); |
| 79 | EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::Green, 489), 85); |
| 80 | EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::Blue, 489), 114); |
| 81 | } |
| 82 | |
| 83 | TEST(PtxReader, DiscardMissingPointsWithComplexTransform) |
| 84 | { |
nothing calls this directly
no test coverage detected