| 661 | |
| 662 | |
| 663 | void LasReader::addDimensions(PointLayoutPtr layout) |
| 664 | { |
| 665 | layout->registerDims(las::pdrfDims(d->header.pointFormat())); |
| 666 | |
| 667 | size_t ebLen = d->header.ebCount(); |
| 668 | for (auto& dim : d->extraDims) |
| 669 | { |
| 670 | if (dim.m_size > ebLen) |
| 671 | throwError("Extra byte specification exceeds point length beyond base format length."); |
| 672 | ebLen -= dim.m_size; |
| 673 | |
| 674 | Dimension::Type type = dim.m_dimType.m_type; |
| 675 | if (type == Dimension::Type::None) |
| 676 | continue; |
| 677 | if (dim.m_dimType.m_xform.nonstandard()) |
| 678 | type = Dimension::Type::Double; |
| 679 | if (d->opts.fixNames) |
| 680 | dim.m_name = Dimension::fixName(dim.m_name); |
| 681 | dim.m_dimType.m_id = layout->registerOrAssignDim(dim.m_name, type); |
| 682 | } |
| 683 | } |
| 684 | |
| 685 | |
| 686 | bool LasReader::processOne(PointRef& point) |
nothing calls this directly
no test coverage detected