Optimize off mesh connections
See merge request OpenMW/openmw!969
(cherry picked from commit 9dcea247d2cd7d25d719fabc142cef5360233e2a)
3e98db8d Fix styleguide
7f65a2c4 Remove unused code
81e569c3 Move OffMeshConnectionsManager implementation into cpp
a8ba9a0e Cleanup unused tile positions from OffMeshConnectionsManager
ff1af5e8 Use only off mesh connections starting or ending in a given tile
1552e7e3 Add pathgrid edges as one direction off mesh connection
This AABB tree required when need to filter out input mesh that has not
influence navmesh tile output. This filtering is already done before. Each
recast mesh corresponds to a single navmesh tile and has appropriate bounds.
It fills areas.data with walkable triangles but right after it's overwritten
and rcClearUnwalkableTriangles is called instead that fills areas.data with
unwalkable triangles.
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.
Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.