11 #ifndef hifi_OctreeDataUtils_h
12 #define hifi_OctreeDataUtils_h
14 #include <udt/PacketHeaders.h>
16 #include <QJsonObject>
20 namespace OctreeUtils {
22 using Version = int64_t;
23 constexpr Version INITIAL_VERSION = 0;
31 Version dataVersion { -1 };
32 Version version { -1 };
34 virtual PacketType dataPacketType()
const;
36 virtual void readSubclassData(
const QVariantMap& root) { }
37 virtual void writeSubclassData(QByteArray& root)
const { }
39 void resetIdAndVersion();
40 QByteArray toByteArray();
41 QByteArray toGzippedByteArray();
43 bool readOctreeDataInfoFromData(QByteArray data);
44 bool readOctreeDataInfoFromFile(QString path);
45 bool readOctreeDataInfoFromMap(
const QVariantMap& map);
48 class RawEntityData :
public RawOctreeData {
50 PacketType dataPacketType()
const override;
51 void readSubclassData(
const QVariantMap& root)
override;
52 void writeSubclassData(QByteArray& root)
const override;
54 QVariantList variantEntityData;