Source code for simvx.core.navigation3d.mesh

"""NavigationMesh3D — triangle-based navmesh with A* pathfinding."""

import heapq
import logging
import math
import random

import numpy as np

from ..math.types import Vec3
from ._helpers import (
    _closest_point_on_triangle_np,
    _interpolate_height,
    _point_in_polygon_xz,
    _point_in_triangle_xz,
    _vec3_dist,
)

log = logging.getLogger(__name__)