| 1626 | } |
| 1627 | |
| 1628 | LASwaveform13reader* LASreadOpener::open_waveform13(const LASheader* lasheader) { |
| 1629 | if (lasheader->point_data_format < 4) return 0; |
| 1630 | if ((lasheader->point_data_format > 5) && (lasheader->point_data_format < 9)) return 0; |
| 1631 | if (lasheader->vlr_wave_packet_descr == 0) return 0; |
| 1632 | if (get_file_name() == 0) return 0; |
| 1633 | LASwaveform13reader* waveform13reader = new LASwaveform13reader(); |
| 1634 | if ((lasheader->global_encoding & 2) && (lasheader->start_of_waveform_data_packet_record > lasheader->offset_to_point_data)) { |
| 1635 | if (waveform13reader->open(get_file_name(), lasheader->start_of_waveform_data_packet_record, lasheader->vlr_wave_packet_descr)) { |
| 1636 | return waveform13reader; |
| 1637 | } |
| 1638 | } else { |
| 1639 | if (waveform13reader->open(get_file_name(), 0, lasheader->vlr_wave_packet_descr)) { |
| 1640 | return waveform13reader; |
| 1641 | } |
| 1642 | } |
| 1643 | delete waveform13reader; |
| 1644 | return 0; |
| 1645 | } |
| 1646 | |
| 1647 | void LASreadOpener::usage() const { |
| 1648 | // pre-formated multiline message |