Skip to main content

Crate waymark

Crate waymark 

Source
Expand description

Detour component for navigation mesh pathfinding

Detour is a pathfinding component that works with navigation meshes generated by Recast, or navigation meshes created by other means.

Re-exports§

pub use dt_status::DtStatus;
pub use dt_status::dt_status_detail;
pub use dt_status::dt_status_failed;
pub use dt_status::dt_status_in_progress;
pub use dt_status::dt_status_succeed;
pub use error::DetourError;
pub use nav_mesh::BVNode;
pub use nav_mesh::MeshTile;
pub use nav_mesh::NavMesh;
pub use nav_mesh::OffMeshConnection;
pub use nav_mesh::Poly;
pub use nav_mesh::PolyDetail;
pub use nav_mesh::TileHeader;
pub use nav_mesh::decode_poly_ref;
pub use nav_mesh::encode_poly_ref;
pub use node_pool::DT_NULL_IDX;
pub use node_pool::DtNode;
pub use node_pool::DtNodePool;
pub use node_pool::DtNodeQueue;
pub use node_pool::NodeFlags;
pub use node_pool::NodeIndex;
pub use poly_query::CollectPolysQuery;
pub use poly_query::FindNearestPolyQuery;
pub use poly_query::PolyQuery;
pub use raycast_hit::RaycastHit;
pub use raycast_hit::RaycastOptions;
pub use raycast_hit::RaycastResult;

Modules§

bvh_tree
Bounding Volume Hierarchy (BVH) tree for efficient spatial queries
detour_common
Common utilities for Detour navigation mesh operations
detour_math
Mathematical utilities for Detour navigation mesh operations
dt_status
C++ compatible status codes for Detour operations
error
Error types for the waymark crate
nav_mesh
Navigation mesh implementation for Detour
node_pool
Node pool and queue implementations for pathfinding
poly_query
Polygon query interface for Detour
raycast_hit
Raycast hit information for Detour

Macros§

dtassert
Return early with Status::Failure if the expression evaluates to false
dtry
Macros for handling Detour status results Return early with an error if the expression evaluates to Err
dtunwrap
Return early with Status::InvalidParam if the expression evaluates to None

Structs§

Cluster
A cluster of navigation polygons
ClusterConnection
Connection between two clusters
DtPathQueue
ExternalLinkRequest
Request for creating an external link between tiles
HierarchicalConfig
Configuration for hierarchical pathfinding
HierarchicalPath
Result of hierarchical pathfinding
HierarchicalPathfinder
Hierarchical pathfinding system
MoveAlongSurfaceResult
Result of a move_along_surface query
NavMeshBuilder
Builder for creating navigation mesh tiles from polygon mesh data
NavMeshCreateParams
Parameters for building navigation mesh tiles with off-mesh connections
NavMeshFlags
Navigation mesh parameter flags
NavMeshParams
Navigation mesh parameters
NavMeshQuery
Navigation mesh query structure
Node
Node in the A* search algorithm
Path
A path result from a pathfinding query
PolyFlags
Flags describing polygon attributes
PolyRef
Polygon reference (unique identifier for a polygon)
Portal
Portal between clusters
QueryFilter
Navigation mesh query filter
QueryFilterFlags
Flags describing query filter options
SlicedPathConfig
Configuration for sliced pathfinding
SlicedPathfindingQuery
A sliced pathfinding query that can be executed incrementally

Enums§

NodeState
State of a node in the search
PolyType
Polygon types in the navigation mesh
SlicedPathState
State of a sliced pathfinding query
Status
Status enum for Detour operations

Constants§

DT_EXT_LINK
External link flag - indicates a polygon edge connects to an adjacent tile
DT_PATHQ_INVALID
MAX_VERTS_PER_POLY
Maximum number of vertices per navigation polygon

Functions§

find_path_sliced
Helper function to create and execute a sliced pathfinding query

Type Aliases§

DtPathQueueRef