qHexWalker 0.0.1
Hexagonal Grid Pathfinding & Maze Visualization on Interactive Maps
Loading...
Searching...
No Matches
H3MazeAdapter Class Referencefinal

#include <h3MazeAdapter.h>

+ Inheritance diagram for H3MazeAdapter:
+ Collaboration diagram for H3MazeAdapter:

Public Member Functions

 H3MazeAdapter (QObject *parent=nullptr)
 
 ~H3MazeAdapter () override
 
void generateMazeAsync (double lat, double lon, int kRingRadius)
 
void mazeWallsGenerated (const std::unordered_set< H3Index > &walls)
 
void mazeRadiusComputed (const QGeoCoordinate &center, double radiusMeters)
 

Public Attributes

 : void mazePolygonsComputed(const std::vector<QVariantList> &polygons)
 

Private Member Functions

void generateMaze (double lat, double lon, int kRingRadius)
 

Static Private Member Functions

static std::vector< QVariantList > cellsToMergedPolygons (const std::unordered_set< H3Index > &cells)
 
static void deleteStartEndEntities (H3Index start, H3Index end, std::unordered_set< H3Index > &walls)
 
static H3Index getMiddleOfRing (const std::vector< H3Index > &distances, H3Index zeroCell)
 

Private Attributes

H3MazeGeneratormazeGenerator_ {}
 
QList< QFuture< void > > pendingFutures_
 

Detailed Description

Definition at line 7 of file h3MazeAdapter.h.

Constructor & Destructor Documentation

◆ H3MazeAdapter()

H3MazeAdapter::H3MazeAdapter ( QObject *  parent = nullptr)
explicit

Definition at line 7 of file h3MazeAdapter.cpp.

References mazeGenerator_.

◆ ~H3MazeAdapter()

H3MazeAdapter::~H3MazeAdapter ( )
override

Definition at line 9 of file h3MazeAdapter.cpp.

References pendingFutures_.

Member Function Documentation

◆ cellsToMergedPolygons()

std::vector< QVariantList > H3MazeAdapter::cellsToMergedPolygons ( const std::unordered_set< H3Index > &  cells)
staticprivate

Definition at line 162 of file h3MazeAdapter.cpp.

Referenced by generateMaze().

+ Here is the caller graph for this function:

◆ deleteStartEndEntities()

void H3MazeAdapter::deleteStartEndEntities ( H3Index  start,
H3Index  end,
std::unordered_set< H3Index > &  walls 
)
staticprivate

Definition at line 268 of file h3MazeAdapter.cpp.

Referenced by generateMaze().

+ Here is the caller graph for this function:

◆ generateMaze()

void H3MazeAdapter::generateMaze ( double  lat,
double  lon,
int  kRingRadius 
)
private

Definition at line 46 of file h3MazeAdapter.cpp.

References cellsToMergedPolygons(), deleteStartEndEntities(), H3MazeGenerator::generateMaze(), getMiddleOfRing(), mazeGenerator_, mazeRadiusComputed(), and mazeWallsGenerated().

+ Here is the call graph for this function:

◆ generateMazeAsync()

void H3MazeAdapter::generateMazeAsync ( double  lat,
double  lon,
int  kRingRadius 
)

Definition at line 19 of file h3MazeAdapter.cpp.

References pendingFutures_.

Referenced by H3Model::Init().

+ Here is the caller graph for this function:

◆ getMiddleOfRing()

H3Index H3MazeAdapter::getMiddleOfRing ( const std::vector< H3Index > &  distances,
H3Index  zeroCell 
)
staticprivate

Definition at line 300 of file h3MazeAdapter.cpp.

Referenced by generateMaze().

+ Here is the caller graph for this function:

◆ mazeRadiusComputed()

void H3MazeAdapter::mazeRadiusComputed ( const QGeoCoordinate &  center,
double  radiusMeters 
)

Referenced by generateMaze(), and H3Model::Init().

+ Here is the caller graph for this function:

◆ mazeWallsGenerated()

void H3MazeAdapter::mazeWallsGenerated ( const std::unordered_set< H3Index > &  walls)

Referenced by generateMaze(), and H3Model::Init().

+ Here is the caller graph for this function:

Member Data Documentation

◆ __pad0__

H3MazeAdapter::__pad0__

Definition at line 15 of file h3MazeAdapter.h.

◆ mazeGenerator_

H3MazeGenerator* H3MazeAdapter::mazeGenerator_ {}
private

Definition at line 35 of file h3MazeAdapter.h.

Referenced by H3MazeAdapter(), and generateMaze().

◆ pendingFutures_

QList<QFuture<void> > H3MazeAdapter::pendingFutures_
private

Definition at line 36 of file h3MazeAdapter.h.

Referenced by ~H3MazeAdapter(), and generateMazeAsync().


The documentation for this class was generated from the following files: