1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0028776: Extend the field BOPAlgo_Builder::myOrigins so that the shape could have multiple origins

Change the type of the field BOPAlgo_Builder::myOrigins so that the new shape could have multiple origins in case of overlapping.
This commit is contained in:
emv
2017-05-03 15:42:53 +03:00
committed by bugmaster
parent c8425f03ff
commit b18a83d4a7
9 changed files with 100 additions and 30 deletions

View File

@@ -38,7 +38,7 @@
//function : FillImagesVertices
//purpose :
//=======================================================================
void BOPAlgo_Builder::FillImagesVertices()
void BOPAlgo_Builder::FillImagesVertices()
{
myErrorStatus=0;
//
@@ -59,6 +59,12 @@
myImages.Bind(aV, aLVSD);
//
myShapesSD.Bind(aV, aVSD);
//
BOPCol_ListOfShape* pLOr = myOrigins.ChangeSeek(aVSD);
if (!pLOr) {
pLOr = myOrigins.Bound(aVSD, BOPCol_ListOfShape());
}
pLOr->Append(aV);
}
}
//=======================================================================
@@ -97,7 +103,12 @@
Standard_Integer nSpR = aPBR->Edge();
const TopoDS_Shape& aSpR = myDS->Shape(nSpR);
pLS->Append(aSpR);
myOrigins.Bind(aSpR, aE);
//
BOPCol_ListOfShape* pLOr = myOrigins.ChangeSeek(aSpR);
if (!pLOr) {
pLOr = myOrigins.Bound(aSpR, BOPCol_ListOfShape());
}
pLOr->Append(aE);
//
if (myDS->IsCommonBlockOnEdge(aPB)) {
Standard_Integer nSp = aPB->Edge();