|
qHexWalker 0.0.1
Hexagonal Grid Pathfinding & Maze Visualization on Interactive Maps
|
Application initialization orchestrator. More...
#include <entryPoint.h>
Inheritance diagram for EntryPoint:
Collaboration diagram for EntryPoint:Public Member Functions | |
| EntryPoint (const std::string &loggerName, QObject *parent=nullptr) | |
| Constructs and initializes the application. | |
| ~EntryPoint () override | |
| Destructor. | |
Private Member Functions | |
| void | InitLogger (std::string_view loggerName) |
| Initializes the spdlog logging system. | |
| void | InitDataModels () |
| Initializes data models (H3Model, H3TargetsModel). | |
| void | InitMap () |
| Initializes the map provider and style. | |
| void | InitEngine () |
| Initializes the QML engine and loads the UI. | |
Private Attributes | |
| const QString | pathUrl_c {"https://api.maptiler.com/maps/base-v4/style.json?key=bFpEhpcbtSI3j1gzj2Is"} |
| Default MapTiler API URL for map tiles. | |
| QQmlApplicationEngine * | engine_ {} |
| QML application engine. | |
| QQuickWindow * | rootWindow_ {} |
| Root window reference. | |
| std::unique_ptr< TD::Logger > | logger_ |
| Logger instance. | |
| H3Model * | h3Model_ {} |
| Hexagonal cell model. | |
| H3TargetsModel * | targetsModel_ {} |
| Waypoint targets model. | |
| MapProvider * | mapProvider_ {} |
| Map tile provider. | |
Application initialization orchestrator.
EntryPoint is responsible for initializing all application components in the correct order:
Definition at line 61 of file entryPoint.h.
|
explicit |
Constructs and initializes the application.
Performs complete application initialization sequence: logger, models, map, and QML engine.
| loggerName | Name for the spdlog logger instance. |
| parent | Optional parent QObject. |
Definition at line 12 of file entryPoint.cpp.
References engine_, InitDataModels(), InitEngine(), InitLogger(), and InitMap().
Here is the call graph for this function:
|
overridedefault |
Destructor.
Cleans up all initialized components.
|
private |
Initializes data models (H3Model, H3TargetsModel).
Creates and connects the hexagonal cell model and waypoint target model.
Definition at line 33 of file entryPoint.cpp.
References engine_, h3Model_, H3Model::Init(), H3Model::mazeBoundsGenerated(), H3Model::mazeWallsGenerated(), H3TargetsModel::onCompute(), H3TargetsModel::onRemoveCell(), H3Model::requestCells(), H3TargetsModel::setMazeBounds(), H3TargetsModel::setMazeWalls(), and targetsModel_.
Referenced by EntryPoint().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Initializes the QML engine and loads the UI.
Creates QQmlApplicationEngine, registers C++ types, and loads main.qml.
Definition at line 66 of file entryPoint.cpp.
References engine_, and rootWindow_.
Referenced by EntryPoint().
Here is the caller graph for this function:
|
private |
Initializes the spdlog logging system.
| loggerName | Name for the logger instance. |
Definition at line 26 of file entryPoint.cpp.
References logger_.
Referenced by EntryPoint().
Here is the caller graph for this function:
|
private |
Initializes the map provider and style.
Sets up MapLibre map with online or offline tile source.
Definition at line 51 of file entryPoint.cpp.
References engine_, mapProvider_, pathUrl_c, and MapProvider::setUrl().
Referenced by EntryPoint().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
QML application engine.
Definition at line 117 of file entryPoint.h.
Referenced by EntryPoint(), InitDataModels(), InitEngine(), and InitMap().
|
private |
|
private |
|
private |
|
private |
Default MapTiler API URL for map tiles.
Definition at line 107 of file entryPoint.h.
Referenced by InitMap().
|
private |
|
private |
Waypoint targets model.
Definition at line 122 of file entryPoint.h.
Referenced by InitDataModels().