NavMap
|
Core container and data structures for EasyNav navigable meshes. More...
#include <vector>
#include <memory>
#include <unordered_map>
#include <optional>
#include <string>
#include <array>
#include <limits>
#include <stack>
#include <cmath>
#include <cstdint>
#include <span>
#include <type_traits>
#include <deque>
#include <algorithm>
#include <Eigen/Core>
#include "navmap_core/Geometry.hpp"
Go to the source code of this file.
Classes | |
struct | BVHNode |
Node in a per-surface bounding volume hierarchy (BVH). More... | |
struct | Colors |
Optional per-vertex colors (RGBA, 8-bit per channel). More... | |
struct | LayerMeta |
Metadata associated to a layer (optional). More... | |
class | LayerRegistry |
Registry of named layers (per-NavCel). More... | |
struct | LayerView< T > |
Typed layer view storing one T value per NavCel. More... | |
struct | LayerViewBase |
Non-templated base for runtime layer handling. More... | |
struct | NavMap::LocateOpts |
Options for the locate functions. More... | |
struct | NavCel |
Navigation cell (triangle) with geometry and adjacency. More... | |
class | NavMap |
Main container for navigable surfaces, geometry, and layers. More... | |
struct | Positions |
Structure-of-arrays for storing 3D vertex positions. More... | |
struct | Ray |
Simple ray (origin + direction). More... | |
struct | RayHit |
Result of a raycast against the NavMap. More... | |
struct | Surface |
A connected set of NavCels in a common reference frame. More... | |
Namespaces | |
namespace | navmap |
Typedefs | |
using | NavCelId = uint32_t |
Index of a triangle (NavCel) within the global mesh. | |
using | PointId = uint32_t |
Index into the per-vertex position arrays (SoA). | |
Enumerations | |
enum class | AreaShape { CIRCULAR , RECTANGULAR } |
Shape selector for area-writing APIs. More... | |
enum class | LayerType : uint8_t { U8 = 0 , F32 = 1 , F64 = 2 } |
Runtime type tag for a layer's scalar storage. More... | |
Functions | |
template<typename T> | |
constexpr LayerType | layer_type_tag () |
Helper to map C++ scalar type to navmap::LayerType tag. | |
template<> | |
constexpr LayerType | layer_type_tag< double > () |
template<> | |
constexpr LayerType | layer_type_tag< float > () |
template<> | |
constexpr LayerType | layer_type_tag< uint8_t > () |
Core container and data structures for EasyNav navigable meshes.
This header defines the fundamental types for NavMap:
The API exposes low-level containers while providing convenience utilities for common workflows without sacrificing control.