1#ifndef QHEXWALKER_H3TARGETSMODEL_H
2#define QHEXWALKER_H3TARGETSMODEL_H
4#include <QAbstractListModel>
18 [[nodiscard]]
int rowCount(
const QModelIndex &parent)
const override;
19 [[nodiscard]] QVariant
data(
const QModelIndex &index,
int role)
const override;
20 [[nodiscard]] QHash<int, QByteArray>
roleNames()
const override;
24 Q_INVOKABLE
void move(
int from,
int to);
25 Q_INVOKABLE qsizetype
remove(
int row);
26 Q_INVOKABLE
void requestCell(quint8 mapZoom,
const QGeoCoordinate &coordinate);
28 void setMazeWalls(
const std::unordered_set<H3Index> &walls);
29 void setMazeBounds(
const QGeoCoordinate ¢er,
double radiusMeters);
33 void onCompute(
const std::vector<H3Index> &indexes);
50 {3,
"limegreen"}, {4,
"green"}, {5,
"darkGreen"}, {6,
"gold"}, {7,
"yellow"},
51 {8,
"greenyellow"}, {9,
"limegreen"}, {10,
"mediumseagreen"}, {11,
"turquoise"}, {12,
"deepskyblue"},
52 {13,
"dodgerblue"}, {14,
"mediumblue"}, {15,
"darkviolet"}};
void onCompute(const std::vector< H3Index > &indexes)
void setMazeWalls(const std::unordered_set< H3Index > &walls)
QList< H3Target * > cells_
const QHash< int, QString > resolutionColors_c
void setMazeBounds(const QGeoCoordinate ¢er, double radiusMeters)
qsizetype remove(int row)
std::unordered_map< uint8_t, uint8_t > zoomToRes_
std::unordered_set< H3Index > mazeWalls_
void showNotification(const QString &message, const QString &type)
QVariant data(const QModelIndex &index, int role) const override
bool isCoordinateTargetValid(quint8 zoom, const QGeoCoordinate &coordinate) const
QHash< int, QByteArray > roleNames() const override
std::atomic_bool isClearing_
public::void onRemoveCell(const std::vector< H3Index > &indexes)
QGeoCoordinate mazeCenter_
void move(int from, int to)
int rowCount(const QModelIndex &parent) const override
~H3TargetsModel() override
void requestCell(quint8 mapZoom, const QGeoCoordinate &coordinate)
Namespace containing H3 visualization components.