SPEC-2513 Fixes to enable w4457
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user