15 engine_ =
new QQmlApplicationEngine(
this);
21 connect(
engine_, &QQmlApplicationEngine::quit, &QGuiApplication::quit);
28 logger_ = std::make_unique<TD::Logger>(loggerName);
29 }
catch (
const std::exception &e) {
30 printf(
"%s", e.what());
38 }
catch (
const std::exception &e) {
39 spdlog::critical(e.what());
49 Qt::QueuedConnection);
54 spdlog::info(
"Map url -> {}",
pathUrl_c.toStdString());
67 const QUrl url(
"qrc:/QHexWalker/ui/main.qml");
69 engine_, &QQmlApplicationEngine::objectCreated,
this,
70 [
this, url](QObject *obj,
const QUrl &objUrl) {
71 if (!obj && url == objUrl) {
72 QCoreApplication::exit(-1);
77 qWarning() <<
"QQuickWindow is not root-object!";
81 Qt::QueuedConnection);
MapProvider * mapProvider_
Map tile provider.
QQuickWindow * rootWindow_
Root window reference.
std::unique_ptr< TD::Logger > logger_
Logger instance.
EntryPoint(const std::string &loggerName, QObject *parent=nullptr)
Constructs and initializes the application.
~EntryPoint() override
Destructor.
void InitEngine()
Initializes the QML engine and loads the UI.
H3TargetsModel * targetsModel_
Waypoint targets model.
H3Model * h3Model_
Hexagonal cell model.
void InitMap()
Initializes the map provider and style.
QQmlApplicationEngine * engine_
QML application engine.
void InitLogger(std::string_view loggerName)
Initializes the spdlog logging system.
const QString pathUrl_c
Default MapTiler API URL for map tiles.
void InitDataModels()
Initializes data models (H3Model, H3TargetsModel).
Qt model for H3 hexagonal cell visualization and management.
void requestCells(const std::vector< H3Index > &indexes)
Requests visualization of specific cells.
void mazeWallsGenerated(const std::unordered_set< H3Index > &walls)
Emitted when maze walls are generated.
void mazeBoundsGenerated(const QGeoCoordinate ¢er, double radiusMeters)
Emitted with maze boundary information.
void Init()
Initializes the model and starts worker thread.
void onCompute(const std::vector< H3Index > &indexes)
void setMazeWalls(const std::unordered_set< H3Index > &walls)
void setMazeBounds(const QGeoCoordinate ¢er, double radiusMeters)
public::void onRemoveCell(const std::vector< H3Index > &indexes)
void setUrl(const QString &url) noexcept
Application entry point and initialization orchestrator.
Qt list model for managing H3 hexagonal cells and pathfinding visualization.