SPEC-2513 Fixes to enable w4457

This commit is contained in:
Esteban Papp
2021-06-04 10:51:47 -07:00
committed by GitHub
parent aa700fc97f
commit 76a6df341b
23 changed files with 124 additions and 125 deletions
@@ -2060,23 +2060,23 @@ namespace WhiteBox
polygonHandle.m_faceHandles.push_back(faceHandleToVisit);
// for all halfedges
for (const auto halfedgeHandle : faceHalfedges)
for (const auto faceHalfedgeHandle : faceHalfedges)
{
const EdgeHandle edgeHandle = HalfedgeEdgeHandle(whiteBox, halfedgeHandle);
const EdgeHandle edgeHandle = HalfedgeEdgeHandle(whiteBox, faceHalfedgeHandle);
// if we haven't seen this halfedge before and we want to track it,
// store it in visited halfedges
if (halfedgeHandle != oppositeHalfedgeHandle
if (faceHalfedgeHandle != oppositeHalfedgeHandle
// ignore border halfedges (not inside the polygon)
&& AZStd::find(borderHalfedgeHandles.cbegin(), borderHalfedgeHandles.cend(), halfedgeHandle) ==
&& AZStd::find(borderHalfedgeHandles.cbegin(), borderHalfedgeHandles.cend(), faceHalfedgeHandle) ==
borderHalfedgeHandles.cend()
// ensure we do not visit the same halfedge again
&& AZStd::find(visitedHalfedges.cbegin(), visitedHalfedges.cend(), halfedgeHandle) ==
&& AZStd::find(visitedHalfedges.cbegin(), visitedHalfedges.cend(), faceHalfedgeHandle) ==
visitedHalfedges.cend()
// ignore the halfedge if we've already tracked it in our 'building' list
&& AZStd::find(buildingEdgeHandles.cbegin(), buildingEdgeHandles.cend(), edgeHandle) ==
buildingEdgeHandles.cend())
{
halfedgesToVisit.push_back(HalfedgeOppositeHalfedgeHandle(whiteBox, halfedgeHandle));
halfedgesToVisit.push_back(HalfedgeOppositeHalfedgeHandle(whiteBox, faceHalfedgeHandle));
}
}
}
@@ -3198,10 +3198,10 @@ namespace WhiteBox
// <missing> - add bottom faces if mesh was 2d previously (reverse winding order)
FaceHandles allFacesToRemove = polygonHandle.m_faceHandles;
for (const auto& polygonHandle : polygonHandlesToRemove)
for (const auto& polygonHandleToRemove : polygonHandlesToRemove)
{
allFacesToRemove.insert(
allFacesToRemove.end(), polygonHandle.m_faceHandles.cbegin(), polygonHandle.m_faceHandles.cend());
allFacesToRemove.end(), polygonHandleToRemove.m_faceHandles.cbegin(), polygonHandleToRemove.m_faceHandles.cend());
}
// remove all faces that were already there