31 #include <laszip/laszip_api.h>
33 #include <QDataStream>
40 explicit LasVlr(
const laszip_header& header);
49 return QString(
"VLRs: %1").arg(
vlrs.size());
54 return static_cast<laszip_U32
>(
vlrs.size());
59 arch << static_cast<quint64>(
object.
vlrs.size());
64 arch.writeRawData(v.user_id, 16 *
sizeof(laszip_CHAR));
66 arch << v.record_length_after_header;
67 arch.writeRawData(v.description, 32 *
sizeof(laszip_CHAR));
68 arch.writeRawData((
const char*)v.data, v.record_length_after_header);
84 object.vlrs.reserve(vlrSize);
85 for (quint64 i = 0; i < vlrSize; ++i)
90 arch.readRawData((
char*)v.user_id, 16 *
sizeof(laszip_CHAR));
92 arch >> v.record_length_after_header;
93 arch.readRawData((
char*)v.description, 32 *
sizeof(laszip_CHAR));
95 v.data =
new laszip_U8[v.record_length_after_header];
96 arch.readRawData((
char*)v.data, v.record_length_after_header);
99 object.vlrs.push_back(v);
102 quint64 extraScalarFieldCount = 0;
103 arch >> extraScalarFieldCount;
104 object.extraScalarFields.reserve(extraScalarFieldCount);
105 for (quint64 i = 0; i < extraScalarFieldCount; ++i)
110 char* data = (
char*)&e;
112 arch.readRawData(data, len);
114 object.extraScalarFields.push_back(e);
120 std::vector<laszip_vlr_struct>
vlrs;
laszip_vlr laszip_vlr_struct
Q_DECLARE_METATYPE(LasVlr)
friend QDataStream & operator<<(QDataStream &arch, const LasVlr &object)
std::vector< laszip_vlr_struct > vlrs
std::vector< LasExtraScalarField > extraScalarFields
static void Swap(LasVlr &lhs, LasVlr &rhs) noexcept
laszip_U32 numVlrs() const
LasVlr & operator=(LasVlr rhs)
friend QDataStream & operator>>(QDataStream &arch, LasVlr &object)