Antkeeper  0.0.1
navmesh.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2023 Christopher J. Howard
3  *
4  * This file is part of Antkeeper source code.
5  *
6  * Antkeeper source code is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * Antkeeper source code is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with Antkeeper source code. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef ANTKEEPER_AI_NAVMESH_HPP
21 #define ANTKEEPER_AI_NAVMESH_HPP
22 
23 #include <engine/math/vector.hpp>
24 #include <engine/math/se3.hpp>
29 #include <vector>
30 
31 namespace ai {
32 
34 {
38 
42 };
43 
47 [[nodiscard]] navmesh_traversal traverse_navmesh(const geom::brep_mesh& mesh, geom::brep_face* face, const math::fvec3& start, const math::fvec3& end);
48 
49 } // namespace ai
50 
51 #endif // ANTKEEPER_AI_NAVMESH_HPP
Curve segment bounded by two vertices.
Definition: brep-edge.hpp:237
Portion of a shell bounded by loops.
Definition: brep-face.hpp:244
Boundary representation (B-rep) of a mesh.
Definition: brep-mesh.hpp:34
Artificial intelligence (AI)
Definition: ai.hpp:24
navmesh_traversal traverse_navmesh(const geom::brep_mesh &mesh, geom::brep_face *face, const math::fvec3 &start, const math::fvec3 &end)
Moves a point along the surface of a mesh.
Definition: navmesh.cpp:29
triangle_region
Voronoi regions of a triangle.
Definition: coordinates.hpp:34
geom::point< float, 3 > target_point
Definition: navmesh.hpp:39
geom::triangle_region closest_region
Definition: navmesh.hpp:41
geom::point< float, 3 > closest_point
Definition: navmesh.hpp:40
geom::point< float, 3 > barycentric
Definition: navmesh.hpp:37
geom::brep_edge * edge
Definition: navmesh.hpp:36
geom::brep_face * face
Definition: navmesh.hpp:35
n-dimensional vector.
Definition: vector.hpp:44