mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-29 14:00:49 +03:00
# Warning: Building 2D curve of edge on face has failed.
(cherry picked from commit d0d712265120631f5cc58c3d480492e79a6c5123)
This commit is contained in:
@@ -294,6 +294,8 @@ void BOPAlgo_PaveFiller::PerformInternal()
|
|||||||
//
|
//
|
||||||
UpdateBlocksWithSharedVertices();
|
UpdateBlocksWithSharedVertices();
|
||||||
//
|
//
|
||||||
|
myDS->RefineFaceInfoIn();
|
||||||
|
//
|
||||||
MakeSplitEdges();
|
MakeSplitEdges();
|
||||||
if (HasErrors()) {
|
if (HasErrors()) {
|
||||||
return;
|
return;
|
||||||
|
@@ -1418,6 +1418,44 @@ void BOPDS_DS::RefineFaceInfoOn()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : RefineFaceInfoIn
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void BOPDS_DS::RefineFaceInfoIn()
|
||||||
|
{
|
||||||
|
for (Standard_Integer i = 0; i < myNbSourceShapes; ++i)
|
||||||
|
{
|
||||||
|
const BOPDS_ShapeInfo& aSI = ShapeInfo(i);
|
||||||
|
if (aSI.ShapeType() != TopAbs_FACE)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!aSI.HasReference())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
BOPDS_FaceInfo& aFI = ChangeFaceInfo(i);
|
||||||
|
|
||||||
|
const BOPDS_IndexedMapOfPaveBlock& aMPBOn = aFI.PaveBlocksOn();
|
||||||
|
BOPDS_IndexedMapOfPaveBlock& aMPBIn = aFI.ChangePaveBlocksIn();
|
||||||
|
|
||||||
|
if (aMPBIn.IsEmpty() || aMPBOn.IsEmpty())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
BOPDS_IndexedMapOfPaveBlock aMPBInNew;
|
||||||
|
|
||||||
|
const Standard_Integer aNbPBIn = aMPBIn.Extent();
|
||||||
|
for (Standard_Integer j = 1; j <= aNbPBIn; ++j)
|
||||||
|
{
|
||||||
|
if (!aMPBOn.Contains(aMPBIn(j)))
|
||||||
|
aMPBInNew.Add(aMPBIn(j));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (aMPBInNew.Extent() < aNbPBIn)
|
||||||
|
aMPBIn = aMPBInNew;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AloneVertices
|
//function : AloneVertices
|
||||||
//purpose :
|
//purpose :
|
||||||
|
@@ -302,6 +302,9 @@ Standard_EXPORT virtual ~BOPDS_DS();
|
|||||||
//! ++
|
//! ++
|
||||||
Standard_EXPORT void RefineFaceInfoOn();
|
Standard_EXPORT void RefineFaceInfoOn();
|
||||||
|
|
||||||
|
//! Removes faces with state ON from the
|
||||||
|
//! list of IN-faces
|
||||||
|
Standard_EXPORT void RefineFaceInfoIn();
|
||||||
|
|
||||||
//! Returns information about ON/IN subshapes of the given faces.
|
//! Returns information about ON/IN subshapes of the given faces.
|
||||||
//! @param theMVOnIn the indices of ON/IN vertices from both faces
|
//! @param theMVOnIn the indices of ON/IN vertices from both faces
|
||||||
|
Reference in New Issue
Block a user