|
NavMap
|
Non-templated base for runtime layer handling. More...
#include <NavMap.hpp>


Public Member Functions | |
| bool | all_changed () const noexcept |
| Whether the whole layer changed (then changed() is not meaningful). | |
| const std::vector< NavCelId > & | changed () const noexcept |
| Cells changed one by one since the last clear_changes(), in order of first change. | |
| void | clear_changes () const |
| Forget the recorded changes (call it once every consumer has seen them). | |
| virtual std::shared_ptr< LayerViewBase > | clone () const =0 |
| Independent copy of this layer (data, name, type, cached hash and pending changes). | |
| virtual std::uint64_t | content_hash () const =0 |
| Return 64-bit content hash (cached; recomputed lazily). | |
| bool | has_changes () const noexcept |
| void | mark_all_changed () const noexcept |
| Record that the whole layer changed. | |
| void | mark_changed (NavCelId cid) const |
Record that cell cid changed (deduplicated). | |
| void | mark_dirty () const noexcept |
| Mark content dirty (forces hash recompute on next query). | |
| virtual const std::string & | name () const =0 |
| virtual size_t | size () const =0 |
| virtual LayerType | type () const =0 |
| virtual | ~LayerViewBase ()=default |
Protected Attributes | |
| bool | all_changed_ {true} |
| std::vector< NavCelId > | changed_ |
| std::vector< std::uint64_t > | changed_bits_ |
| std::uint64_t | hash_cache_ {0} |
| bool | hash_dirty_ {true} |
Non-templated base for runtime layer handling.
A layer stores one scalar value per NavCel (triangle).
|
virtualdefault |
|
noexcept |
Whether the whole layer changed (then changed() is not meaningful).
|
noexcept |
Cells changed one by one since the last clear_changes(), in order of first change.
| void clear_changes | ( | ) | const |
Forget the recorded changes (call it once every consumer has seen them).
|
pure virtual |
Independent copy of this layer (data, name, type, cached hash and pending changes).
Implemented in LayerView< T >, and LayerView< T >.
|
pure virtual |
Return 64-bit content hash (cached; recomputed lazily).
Implemented in LayerView< T >, and LayerView< T >.
|
noexcept |
|
noexcept |
Record that the whole layer changed.
| void mark_changed | ( | NavCelId | cid | ) | const |
Record that cell cid changed (deduplicated).
|
noexcept |
Mark content dirty (forces hash recompute on next query).
|
pure virtual |
Implemented in LayerView< T >, and LayerView< T >.
|
pure virtual |
Implemented in LayerView< T >, and LayerView< T >.
|
pure virtual |
Implemented in LayerView< T >, and LayerView< T >.
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |