NavMap
Loading...
Searching...
No Matches
TraversalScratch Class Reference

Reusable traversal buffers. Not thread-safe: one per thread. More...

#include <Iterators.hpp>

Collaboration diagram for TraversalScratch:

Classes

struct  Front
 Dijkstra frontier entry: distance, NavCel, and the pivot it is measured from. More...

Public Member Functions

void begin (std::size_t n)
 Starts a traversal over a map of n NavCels: every NavCel unmarked.
bool mark (NavCelId cid)
 Marks cid; false if it was already marked in this traversal.
bool marked (NavCelId cid) const

Public Attributes

std::vector< float > dist
 Per NavCel, valid once marked: its settled distance.
std::vector< Front > heap
 Dijkstra frontier (min-heap).
std::vector< int > nodes
 BVH node stack.
std::vector< NavCelId > stack
 BFS frontier.

Detailed Description

Reusable traversal buffers. Not thread-safe: one per thread.

Member Function Documentation

◆ begin()

void begin ( std::size_t n)

Starts a traversal over a map of n NavCels: every NavCel unmarked.

◆ mark()

bool mark ( NavCelId cid)

Marks cid; false if it was already marked in this traversal.

◆ marked()

bool marked ( NavCelId cid) const

Member Data Documentation

◆ dist

std::vector<float> dist

Per NavCel, valid once marked: its settled distance.

◆ heap

std::vector<Front> heap

Dijkstra frontier (min-heap).

◆ nodes

std::vector<int> nodes

BVH node stack.

◆ stack

std::vector<NavCelId> stack

BFS frontier.


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