From 8291ceace2bc68212a77586e0ff1c639f109bc34 Mon Sep 17 00:00:00 2001 From: Mikko Mononen Date: Thu, 18 Mar 2010 08:42:45 +0000 Subject: [PATCH] Fix for Issue 54: Bug when a non-shared vertex is marked for remove --- Detour/Include/DetourNavMesh.h | 2 +- Detour/Source/DetourNavMesh.cpp | 8 ++ Recast/Source/RecastMesh.cpp | 90 ++++++++++++------ .../Bin/Recast.app/Contents/MacOS/Recast | Bin 673264 -> 673264 bytes .../Xcode/Recast.xcodeproj/memon.pbxuser | 90 +++++++++++++++--- .../Recast.xcodeproj/memon.perspectivev3 | 17 ++-- 6 files changed, 155 insertions(+), 52 deletions(-) diff --git a/Detour/Include/DetourNavMesh.h b/Detour/Include/DetourNavMesh.h index 8dd638c..6608f4e 100644 --- a/Detour/Include/DetourNavMesh.h +++ b/Detour/Include/DetourNavMesh.h @@ -297,7 +297,7 @@ public: // startRef - (in) ref to the polygon where the start lies. // startPos[3] - (in) start position of the query. // endPos[3] - (in) end position of the query. - // t - (out) hit parameter along the segment, 0 if no hit. + // t - (out) hit parameter along the segment, FLT_MAX if no hit. // hitNormal[3] - (out) normal of the nearest hit. // filter - (in) path polygon filter. // path - (out) visited path polygons. diff --git a/Detour/Source/DetourNavMesh.cpp b/Detour/Source/DetourNavMesh.cpp index 0b76437..b27200a 100644 --- a/Detour/Source/DetourNavMesh.cpp +++ b/Detour/Source/DetourNavMesh.cpp @@ -1826,8 +1826,16 @@ int dtNavMesh::raycast(dtPolyRef centerRef, const float* startPos, const float* if (tmax > t) t = tmax; + // Store visited polygons. if (n < pathSize) path[n++] = curRef; + + // Ray end is completely inside the polygon. + if (segMax == -1) + { + t = FLT_MAX; + return n; + } // Follow neighbours. dtPolyRef nextRef = 0; diff --git a/Recast/Source/RecastMesh.cpp b/Recast/Source/RecastMesh.cpp index f364dba..be16fa1 100644 --- a/Recast/Source/RecastMesh.cpp +++ b/Recast/Source/RecastMesh.cpp @@ -483,53 +483,70 @@ static void pushBack(int v, int* arr, int& an) an++; } -static bool removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int maxTris) + +static int removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int maxTris) { const int nvp = mesh.nvp; // Count number of polygons to remove. - int nrem = 0; + int numRemovedVerts = 0; + int numRemainingEdges = 0; for (int i = 0; i < mesh.npolys; ++i) { unsigned short* p = &mesh.polys[i*nvp*2]; for (int j = 0; j < nvp; ++j) - if (p[j] == rem) { nrem++; break; } + { + if (p[j] == RC_MESH_NULL_IDX) break; + numRemainingEdges++; + if (p[j] == rem) + { + numRemovedVerts++; + numRemainingEdges -= 2; + } + } } - + + // There would be too few edges remaining to create a polygon. + // This can happen for example when a tip of a triangle is marked + // as deletion, but there are no other polys that share the vertex. + // In this case, the vertex should not be removed. + if (numRemainingEdges <= 2) + return -1; + int nedges = 0; - rcScopedDelete edges = new int[nrem*nvp*4]; + rcScopedDelete edges = new int[numRemovedVerts*nvp*4]; if (!edges) { if (rcGetLog()) - rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'edges' (%d).", nrem*nvp*4); - return false; + rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'edges' (%d).", numRemovedVerts*nvp*4); + return 0; } int nhole = 0; - rcScopedDelete hole = new int[nrem*nvp]; + rcScopedDelete hole = new int[numRemovedVerts*nvp]; if (!hole) { if (rcGetLog()) - rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'hole' (%d).", nrem*nvp); - return false; + rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'hole' (%d).", numRemovedVerts*nvp); + return 0; } int nhreg = 0; - rcScopedDelete hreg = new int[nrem*nvp]; + rcScopedDelete hreg = new int[numRemovedVerts*nvp]; if (!hreg) { if (rcGetLog()) - rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'hreg' (%d).", nrem*nvp); - return false; + rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'hreg' (%d).", numRemovedVerts*nvp); + return 0; } int nharea = 0; - rcScopedDelete harea = new int[nrem*nvp]; + rcScopedDelete harea = new int[numRemovedVerts*nvp]; if (!harea) { if (rcGetLog()) - rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'harea' (%d).", nrem*nvp); - return false; + rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'harea' (%d).", numRemovedVerts*nvp); + return 0; } for (int i = 0; i < mesh.npolys; ++i) @@ -588,7 +605,7 @@ static bool removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int m } if (nedges == 0) - return true; + return 1; // Start with one vertex, keep appending connected // segments to the start and end of the hole. @@ -645,7 +662,7 @@ static bool removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int m { if (rcGetLog()) rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'tris' (%d).", nhole*3); - return false; + return 0; } rcScopedDelete tverts = new int[nhole*4]; @@ -653,7 +670,7 @@ static bool removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int m { if (rcGetLog()) rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'tverts' (%d).", nhole*4); - return false; + return 0; } rcScopedDelete thole = new int[nhole]; @@ -661,7 +678,7 @@ static bool removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int m { if (rcGetLog()) rcGetLog()->log(RC_LOG_WARNING, "removeVertex: Out of memory 'thole' (%d).", nhole); - return false; + return 0; } // Generate temp vertex array for triangulation. @@ -690,21 +707,21 @@ static bool removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int m { if (rcGetLog()) rcGetLog()->log(RC_LOG_ERROR, "removeVertex: Out of memory 'polys' (%d).", (ntris+1)*nvp); - return false; + return 0; } rcScopedDelete pregs = new unsigned short[ntris]; if (!pregs) { if (rcGetLog()) rcGetLog()->log(RC_LOG_ERROR, "removeVertex: Out of memory 'pregs' (%d).", ntris); - return false; + return 0; } rcScopedDelete pareas = new unsigned char[ntris]; if (!pregs) { if (rcGetLog()) rcGetLog()->log(RC_LOG_ERROR, "removeVertex: Out of memory 'pareas' (%d).", ntris); - return false; + return 0; } unsigned short* tmpPoly = &polys[ntris*nvp]; @@ -726,7 +743,7 @@ static bool removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int m } } if (!npolys) - return true; + return 1; // Merge polygons. if (nvp > 3) @@ -790,11 +807,11 @@ static bool removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int m { if (rcGetLog()) rcGetLog()->log(RC_LOG_ERROR, "removeVertex: Too many polygons %d (max:%d).", mesh.npolys, maxTris); - return false; + return 0; } } - return true; + return 1; } @@ -1046,16 +1063,27 @@ bool rcBuildPolyMesh(rcContourSet& cset, int nvp, rcPolyMesh& mesh) { if (vflags[i]) { - if (!removeVertex(mesh, i, maxTris)) + int res = removeVertex(mesh, i, maxTris); + if (!res) { + // Failed to remove vertex if (rcGetLog()) rcGetLog()->log(RC_LOG_ERROR, "rcBuildPolyMesh: Failed to remove edge vertex %d.", i); return false; } - // Note: mesh.nverts is already decremented inside removeVertex()! - for (int j = i; j < mesh.nverts; ++j) - vflags[j] = vflags[j+1]; - --i; + else if (res == -1) + { + // Vertex should not be removed. + continue; + } + else + { + // Remove vertex + // Note: mesh.nverts is already decremented inside removeVertex()! + for (int j = i; j < mesh.nverts; ++j) + vflags[j] = vflags[j+1]; + --i; + } } } diff --git a/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast b/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast index a9d01d2d45f8aad262fa13d228d694e600a5b480..443dd0d0e28f0b5d08260c0d928f2c361daddf7a 100755 GIT binary patch delta 60061 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 IT=?q$0N)bHoB#j- diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser index 5fa63f3..464655d 100644 --- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser +++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser @@ -16,8 +16,8 @@ 8D1107260486CEB800E47090 /* Recast */, ); breakpoints = ( - 6B8037A6113D1788005ED67B /* RecastMesh.cpp:504 */, - 6B8037B4113D193D005ED67B /* RecastMesh.cpp:532 */, + 6B8037A6113D1788005ED67B /* RecastMesh.cpp:521 */, + 6B8037B4113D193D005ED67B /* RecastMesh.cpp:549 */, 6B904B781144F2B000A12E63 /* Sample_Debug.cpp:87 */, 6B904B941144F35E00A12E63 /* Sample_Debug.cpp:120 */, ); @@ -310,6 +310,12 @@ 6B904C6B1152164400A12E63 /* PBXTextBookmark */ = 6B904C6B1152164400A12E63 /* PBXTextBookmark */; 6B904C6C1152164400A12E63 /* PBXTextBookmark */ = 6B904C6C1152164400A12E63 /* PBXTextBookmark */; 6B904C6D1152164400A12E63 /* PBXTextBookmark */ = 6B904C6D1152164400A12E63 /* PBXTextBookmark */; + 6B904C6F115218D800A12E63 /* PBXTextBookmark */ = 6B904C6F115218D800A12E63 /* PBXTextBookmark */; + 6B904C70115218D800A12E63 /* PBXTextBookmark */ = 6B904C70115218D800A12E63 /* PBXTextBookmark */; + 6B904C71115218D800A12E63 /* PBXTextBookmark */ = 6B904C71115218D800A12E63 /* PBXTextBookmark */; + 6B904C72115218D800A12E63 /* PBXTextBookmark */ = 6B904C72115218D800A12E63 /* PBXTextBookmark */; + 6B904C7411521CEA00A12E63 /* PBXTextBookmark */ = 6B904C7411521CEA00A12E63 /* PBXTextBookmark */; + 6B904C7611521D4400A12E63 /* PBXTextBookmark */ = 6B904C7611521D4400A12E63 /* PBXTextBookmark */; 6B92D9121140F58200E82EC3 = 6B92D9121140F58200E82EC3 /* PBXTextBookmark */; 6B92D91C1140F5F800E82EC3 = 6B92D91C1140F5F800E82EC3 /* PBXTextBookmark */; 6B92D9411140F84100E82EC3 = 6B92D9411140F84100E82EC3 /* PBXTextBookmark */; @@ -522,9 +528,9 @@ }; 6B137C870F7FCC1100459200 /* RecastMesh.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {815, 19904}}"; - sepNavSelRange = "{14617, 0}"; - sepNavVisRange = "{10934, 788}"; + sepNavIntBoundsRect = "{{0, 0}, {815, 20224}}"; + sepNavSelRange = "{13330, 0}"; + sepNavVisRange = "{12592, 895}"; }; }; 6B137C880F7FCC1100459200 /* RecastRasterization.cpp */ = { @@ -1072,7 +1078,7 @@ vrLen = 868; vrLoc = 21829; }; - 6B8037A6113D1788005ED67B /* RecastMesh.cpp:504 */ = { + 6B8037A6113D1788005ED67B /* RecastMesh.cpp:521 */ = { isa = PBXFileBreakpoint; actions = ( ); @@ -1084,12 +1090,12 @@ functionName = "checkNullPolys(rcPolyMesh& mesh)"; hitCount = 0; ignoreCount = 0; - lineNumber = 504; + lineNumber = 521; location = Recast; modificationTime = 290591670.511081; state = 1; }; - 6B8037B4113D193D005ED67B /* RecastMesh.cpp:532 */ = { + 6B8037B4113D193D005ED67B /* RecastMesh.cpp:549 */ = { isa = PBXFileBreakpoint; actions = ( ); @@ -1101,7 +1107,7 @@ functionName = "removeVertex(rcPolyMesh& mesh, const unsigned short rem, const int maxTris)"; hitCount = 0; ignoreCount = 0; - lineNumber = 532; + lineNumber = 549; location = Recast; modificationTime = 290591670.511272; state = 1; @@ -2642,6 +2648,66 @@ vrLen = 1021; vrLoc = 16495; }; + 6B904C6F115218D800A12E63 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */; + name = "NavMeshTesterTool.cpp: 633"; + rLen = 0; + rLoc = 17051; + rType = 0; + vrLen = 1021; + vrLoc = 16495; + }; + 6B904C70115218D800A12E63 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C870F7FCC1100459200 /* RecastMesh.cpp */; + name = "RecastMesh.cpp: 568"; + rLen = 0; + rLoc = 15139; + rType = 0; + vrLen = 723; + vrLoc = 10999; + }; + 6B904C71115218D800A12E63 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */; + name = "NavMeshTesterTool.cpp: 633"; + rLen = 0; + rLoc = 17051; + rType = 0; + vrLen = 1021; + vrLoc = 16495; + }; + 6B904C72115218D800A12E63 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C870F7FCC1100459200 /* RecastMesh.cpp */; + name = "RecastMesh.cpp: 498"; + rLen = 0; + rLoc = 13375; + rType = 0; + vrLen = 758; + vrLoc = 12451; + }; + 6B904C7411521CEA00A12E63 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C870F7FCC1100459200 /* RecastMesh.cpp */; + name = "RecastMesh.cpp: 1072"; + rLen = 0; + rLoc = 27474; + rType = 0; + vrLen = 707; + vrLoc = 26829; + }; + 6B904C7611521D4400A12E63 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C870F7FCC1100459200 /* RecastMesh.cpp */; + name = "RecastMesh.cpp: 512"; + rLen = 0; + rLoc = 13330; + rType = 0; + vrLen = 895; + vrLoc = 12592; + }; 6B92D9121140F58200E82EC3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C830F7FCC1100459200 /* RecastContour.cpp */; @@ -2881,7 +2947,7 @@ 6BB7FC0A10EBB6AA006DA0A6 /* NavMeshTesterTool.cpp */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {831, 15024}}"; - sepNavSelRange = "{16816, 0}"; + sepNavSelRange = "{17051, 0}"; sepNavVisRange = "{16495, 1021}"; }; }; @@ -3041,7 +3107,7 @@ fRef = 6B137C870F7FCC1100459200 /* RecastMesh.cpp */; name = "RecastMesh.cpp: 568"; rLen = 0; - rLoc = 14617; + rLoc = 15139; rType = 0; vrLen = 788; vrLoc = 10934; @@ -3051,7 +3117,7 @@ fRef = 6B137C870F7FCC1100459200 /* RecastMesh.cpp */; name = "RecastMesh.cpp: 568"; rLen = 0; - rLoc = 14617; + rLoc = 15139; rType = 0; vrLen = 788; vrLoc = 10934; diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 index d0a7851..ed8438e 100644 --- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 +++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 @@ -281,14 +281,14 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 52 - 46 + 33 + 21 1 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 429}, {358, 643}} + {{0, 347}, {358, 643}} PBXTopSmartGroupGIDs @@ -323,7 +323,7 @@ PBXProjectModuleGUID 6B8632A30F78115100E2684A PBXProjectModuleLabel - NavMeshTesterTool.cpp + RecastMesh.cpp PBXSplitModuleInNavigatorKey Split0 @@ -331,11 +331,11 @@ PBXProjectModuleGUID 6B8632A40F78115100E2684A PBXProjectModuleLabel - NavMeshTesterTool.cpp + RecastMesh.cpp _historyCapacity 0 bookmark - 6B904C6D1152164400A12E63 + 6B904C7611521D4400A12E63 history 6B8DE70D10B01BBF00DF20FB @@ -372,7 +372,6 @@ 6B8036D0113BAF79005ED67B 6B8036F7113BB746005ED67B 6B803729113D1079005ED67B - 6BC8BE261140ED5F00555B22 6B92D96A1140FBDA00E82EC3 6B92D97A1140FE6000E82EC3 6B92D97D1140FE6000E82EC3 @@ -401,7 +400,8 @@ 6B904C591152139200A12E63 6B904C631152164400A12E63 6B904C641152164400A12E63 - 6B904C651152164400A12E63 + 6B904C6F115218D800A12E63 + 6B904C70115218D800A12E63 prevStack @@ -487,6 +487,7 @@ 6B904C6A1152164400A12E63 6B904C6B1152164400A12E63 6B904C6C1152164400A12E63 + 6B904C71115218D800A12E63 SplitCount