1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0027222: Empty result of making volume operation

1. BOPAlgo_MakerVolume - Taking into account the possibility of Same Domain faces
   while collecting the faces for building the solids;
2. BOPDS_DS - Making the check on coincidence of edges consistent with the intersection
   algorithm which also adds the Precision::Confusion() to the intersection tolerance;
3. Test case for the issue.
4. Adjusting test cases (improvements) to their new behavior.
This commit is contained in:
emv
2016-08-30 08:36:48 +03:00
committed by bugmaster
parent 02974a19c6
commit c45fefa76e
7 changed files with 19 additions and 16 deletions

View File

@@ -200,6 +200,7 @@ void BOPAlgo_MakerVolume::CollectFaces()
//
Standard_Integer i, aNbShapes;
BOPCol_ListIteratorOfListOfShape aIt;
BOPCol_MapOfShape aMFence;
//
aNbShapes = myDS->NbSourceShapes();
for (i = 0; i < aNbShapes; ++i) {
@@ -217,7 +218,9 @@ void BOPAlgo_MakerVolume::CollectFaces()
aIt.Initialize(aLFIm);
for (; aIt.More(); aIt.Next()) {
const TopoDS_Shape& aFIm = aIt.Value();
AddFace(aFIm, myFaces);
if (aMFence.Add(aFIm)) {
AddFace(aFIm, myFaces);
}
}
}
else {