43 Commits

Author SHA1 Message Date
Graham Pentheny
2b0c244d12
Updated doxygen output (#581)
- Upgraded doxyfile to latest format
- Fixed a bunch of warnings and errors in docstrings that doxygen was complaining about
- Added the doxygen-awesome theme to modernize the output
- Removed a duplicate screenshot we'd had in the docs folder
- Moved the RecastDemo screenshot into the Docs/images folder
- Changed the doxygen main page to be the README.md since the dedicated main page file we had was nearly identical but out of date
- Added CONTRIBUTING.md so it's part of the generated doxygen output
- Removed duplicate license file to avoid confusion
- Combined the FAQ with the Recast_api.txt, since the FAQ was essentially just better docs for the members of `rcConfig`
2022-11-23 00:13:38 -05:00
Graham Pentheny
5111139558
Fixes for many low-severity compiler warnings (#576)
* Fixes for many low-severity compiler warnings

Mostly a lot of pedantic things like end-of-file newlines and commas on the last enum value.  However some fixes like the weak v-tables warnings fixes might help with code gen.  It's unclear if the linker is able to elide multiple copies of the same type's v-table in different translation units, (sometimes it can) but these fixes ensure we don't have to rely on it.
2022-11-11 21:03:03 -05:00
Jan Haller
cf4f3e15a8
Poly query API: expose distance and isOverPoly (#448)
* Add dtNavMeshQuery.findNearestPoly() overload with parameters: distance, isOverPoly

* dtNavMeshQuery::findNearestPoly(): improve documentation, avoid code duplication

* Make code C++98-compatible

* Remove distance parameter from dtNavMeshQuery::queryPolygons()
2021-01-23 13:25:41 +01:00
Jakob Botsch Nielsen
a0e6605642 Deduplicate closestPointOnPoly 2019-03-16 16:18:23 +01:00
aymarfisherman
7cca61dc41 Renamed all instances of 'extents' to 'halfExtents' (#279) 2017-08-20 17:05:51 +02:00
Ian Masters
ab0a679d8f Fix for Struct 'dtNode' was previously declared as a class (#213) 2016-06-25 10:09:34 +02:00
Jakob Botsch Nielsen
2a0c31b8ef Add getPathFromDijkstraSearch function (#211)
This adds a method to dtNavMeshQuery that allows users to retrieve paths
from the nodes explored by the previous Dijkstra search. This is useful
after Dijkstra searches to retrieve arbitrary paths inside the explored
area.
2016-06-10 12:20:27 +02:00
Jakob Botsch Nielsen
09afa02f4a Fail when too many nodes are requested
dtNavMeshQuery now fails initialization if too many nodes are requested
in the node pool. This could cause wrong paths and infinite loops to
happen if the node indices started overflowing dtNodeIndex or
dtNode::pidx.

Fix #178
2016-02-22 08:45:24 +00:00
Jakob Botsch Nielsen
fc5df2c6fd Add API to query polygons in batches
This adds a version of queryPolygon that takes an interface which is
passed batches of polygons in the search area. This new API is then used
from the old queryPolygons to collect polygons, and from findNearestRef
to find the nearest poly in an arbitrarily sized area. Previously
findNearestPoly had an arbitrary poly limit of 128 which could cause it
to return potentially wrong results.

Fix #107
2016-01-25 23:25:48 +01:00
Graham Pentheny
b7a83e0afb Fixed rule of 3 violations in many places.
* Added virtual qualifier to a few destructors in subclasses.
* Removed a few empty destructors that didn't need to be explicitly defined.
* Fixed a few typos
* Removed unnecessary empty virtual destructors in some classes with parent's who derrived from a class with a virtual destructor
2016-01-20 11:57:32 -05:00
Richard Fine
67736ae7d5 Include hit edge index in dtRaycastHit.
This makes it simpler to investigate exactly what is blocking a ray - for example, if an agent cannot move onto a polygon due to QueryFilter flags, then this provides a way for the agent to find out which flags it needs to have and to perform a state change which alters its movement flags.
2015-11-15 21:46:30 +00:00
axelrodR
90a3c7a8ae code style correction following rafzi's comments 2014-06-19 17:36:37 +03:00
axelrodR
8816e71535 Merge branch 'master' of https://github.com/memononen/recastnavigation 2014-06-19 17:04:14 +03:00
Janiels
943bf35d32 Add virtual destructor to dtQueryFilter 2014-06-14 15:45:36 +02:00
axelrodR
27ffa5b4d3 fixes following mikko's comments from 11/4/14 2014-04-23 16:24:36 +03:00
axelrodR
232187b9d6 changed the default options of the pathfinder to 0 (i.e. no raycasts), changed the the tester tool to display all points along the sliced path (a better default for non flat terrain). 2014-02-27 14:21:09 +02:00
axelrodR
c2b2b03b8f bug fix: returned path had duplicates of nodes 2014-02-27 01:47:21 +02:00
axelrodR
1613a5565f following mikko's comments on push #17 (part 2). Interfaces changes, the most notable is adding option flags to initSlicedFindPath that can cancel the any-angle search 2014-02-26 21:29:13 +02:00
axelrodR
1b7b918641 following mikko's comments on push #17. Interfaces changes, the most notable is adding a new raycast function and converted the existing to a thin wrapper. 2014-02-25 11:33:06 +02:00
axelrodR
7bc913aada Merge branch 'master' of https://github.com/axelrodR/recastnavigation 2014-02-16 16:57:30 +02:00
axelrodR
120de6256f changed path planner to Theta*, changed the raycast function to emit a cost based on the actual traversal cost 2014-02-16 16:51:29 +02:00
Mikko Mononen
6702143bc1 Fix for broken raycasts, changes how findNearestPoly works, slight API change
- test case supports raycasts
- changes how findNearestPoly works directly over polygons
- API change: findNearestPoly has additional parameter
2014-02-11 20:32:00 +02:00
flippy84
3f8c0506fb Update DetourNavMeshQuery.h
Changed existing and existingSize parameters of finalizeSlicedFindPathPartial to @param[in]
2013-12-21 13:49:38 +01:00
Mikko Mononen
de6fd8c3ef - use "cylinder distance" for nearest point in polygon
- added option for findStraightPath() to append vertices at get edge crossings
- added scale parameter for .obj loader
2012-09-05 05:57:31 +00:00
Mikko Mononen
cd3a68dd9b Random polygon selection for Detour. 2012-02-27 07:17:51 +00:00
Stephen Pratt
923098b43c Recast: New API documentation, and standardized tab/space use.
Documented DetourAlloc.h and most members in DetourCommon.h.
Added warning related to issue 180. (Limitation on use of dtNavmeshQuery::findNearestPoly.)
Standardized the use of tab/space indenting in the API documentation.
2011-09-13 13:22:09 +00:00
Stephen Pratt
c150272f99 Detour: Detail API documentation covering the DetourCommon.h and DetourNavMeshQuery.h files 2011-08-15 17:01:16 +00:00
Mikko Mononen
1b6ca5a94a Fixed findStraightPath() to return partial results. Fixed main.cpp FPS throttling. Added initial support for path replanning in DetourCrowd. 2011-08-01 10:48:56 +00:00
Cameron hart
d5729c678b Changed header comments to use Doxygen format and added configuration Doxyfile. 2011-05-06 23:22:08 +00:00
Mikko Mononen
1de5e2f119 DETOUR API CHANGE!
- Detour Navmesh supports layers
- Allow to disable Navmesh BV-tree
- Added DetourTileCache
- Cleaned up Recast layer code
- Moved portal edge detection to Recast
- Removed polymesh border offset
- Removed lean heighfield
2011-03-25 09:16:38 +00:00
Mikko Mononen
fdb4ad30f7 getPolyWallSegments can return both walls and portals. Added userData pointer to dtCrowdAgent. 2011-02-11 08:43:05 +00:00
Mikko Mononen
7f2696cbbf First implementation of DetourCrowd off-mesh connection handling. 2011-01-30 17:11:20 +00:00
Mikko Mononen
4a81213b3b Refactored and cleaned up CrowdManager and moved it to DetourCrowd. Update tool UI layout, context sensitive help is now rendered as overlay. 2011-01-29 15:28:28 +00:00
Mikko Mononen
08741e894c DETOUR return status codes changed, check blog! Changed Detour status codes to be bitfields which describes the highlevel status plus some details about the failure or quality of the result. 2010-11-26 11:56:34 +00:00
Mikko Mononen
7fbcfa9c4b Fixes for issue 147, issue 143, issue 140 2010-11-21 14:59:58 +00:00
Mikko Mononen
ccf401d3da - added finalizeSlicedFindPathPartial()
- added handleStep()/handleToggle() to samples
- changed how crowds are rendered
- added path topology optimization step
2010-11-07 10:56:48 +00:00
Mikko Mononen
e5d603ac92 **API CHANGED** Implemented issue 124. Detour API returns error codes. 2010-10-29 12:08:13 +00:00
Mikko Mononen
c9df5dc995 Changed dtNavmeshQuery.getPolyWallSegments() to require max number of segments to store. 2010-10-15 06:35:40 +00:00
Mikko Mononen
8a2963bce0 Fix for issue 119. 2010-09-17 07:37:00 +00:00
Mikko Mononen
3f0995dc1c Allow dtNavMesh m_tileBits and m_polyBits to be zero. 2010-08-24 21:02:31 +00:00
Mikko Mononen
057c3e9bfd Commented assert headers for encouraged usage. Navmesh query stores const dtNavMesh pointer. 2010-08-24 18:11:06 +00:00
Mikko Mononen
0e4aa30e85 Changed dtQueryFilter to contain the flags check and cost calculation, can customized. Fix for issue 47 and issue 103. 2010-08-20 09:30:37 +00:00
Mikko Mononen
785e9c68be Missing DetourNavMeshQuery files, plus sliced findPath. 2010-08-17 17:46:19 +00:00