#ifndef TREFILE_H #define TREFILE_H #include #include #include #include "common/rectc.h" #include "common/rtree.h" #include "subfile.h" class SubDiv; class TREFile : public SubFile { public: TREFile(IMG *img, quint32 size) : SubFile(img, size) {} ~TREFile(); bool init(); void clear(); const RectC &bounds() const {return _bounds;} QList subdivs(const RectC &rect, int bits); private: typedef RTree SubDivTree; bool load(); int level(int bits); bool parsePoly(Handle hdl, quint32 pos, const QMap &level2bits, QMap &map); bool parsePoints(Handle hdl, quint32 pos, const QMap &level2bits); RectC _bounds; QList _levels; QMap _subdivs; }; #endif // TREFILE_H