// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
-// File: BOPAlgo_ShellSplitter.cxx
-// Created: Thu Jan 16 08:33:50 2014
-// <pkv@PETREX>
+// File: BOPAlgo_ShellSplitter.cxx
+// Created: Thu Jan 16 08:33:50 2014
+// <pkv@PETREX>
#include <BOPAlgo_ShellSplitter.ixx>
//
Standard_Boolean IsClosedShell(const TopoDS_Shell& );
static
void MakeShell(const BOPCol_ListOfShape& ,
- TopoDS_Shell& );
+ TopoDS_Shell& );
//=======================================================================
//function :
if (!aMEP.Contains(aSE)) {
aMEP.Add(aSE);
BOPTools::MapShapesAndAncestors(aSE,
- TopAbs_EDGE, TopAbs_FACE,
- aMEF);
+ TopAbs_EDGE, TopAbs_FACE,
+ aMEF);
}
else {
aMER.Add(aSE);
for (; aIt.More(); aIt.Next()) {
const TopoDS_Shape& aF=aIt.Value();
if (aMFC.Add(aF)) {
- aExpF.Init(aF, TopAbs_EDGE);
+ aExpF.Init(aF, TopAbs_EDGE);
for (; aExpF.More(); aExpF.Next()) {
const TopoDS_Shape& aEF=aExpF.Current();
if (aMES.Add(aEF)) {
//
if (bRegular) {
BOPTools::MapShapesAndAncestors(aFR,
- TopAbs_EDGE, TopAbs_FACE,
- aMEFR);
+ TopAbs_EDGE, TopAbs_FACE,
+ aMEFR);
}
}
//
//
aMEFP.Clear();
BOPTools::MapShapesAndAncestors(aFF,
- TopAbs_EDGE, TopAbs_FACE,
- aMEFP);
+ TopAbs_EDGE, TopAbs_FACE,
+ aMEFP);
//
// loop on faces added to Shell;
// add their neighbor faces to Shell and so on
}
else if (aNbOff>1){
BOPTools_AlgoTools::GetFaceOff(aE, aF,
- aLCSOff, aSelF, aContext);
+ aLCSOff, aSelF, aContext);
}
//
if (!aSelF.IsNull() && AddedFacesMap.Add(aSelF)) {
aBB.Add(aShell, aSelF);
BOPTools::MapShapesAndAncestors(aSelF,
- TopAbs_EDGE, TopAbs_FACE,
- aMEFP);
+ TopAbs_EDGE, TopAbs_FACE,
+ aMEFP);
}
} // for (; aEdgeExp.More(); aEdgeExp.Next()) {
} //for (; aItAddedF.More(); aItAddedF.Next()) {
//
const BOPCol_ListOfShape& aLF=aCB.Shapes();
MakeShell(aLF, aShell);
+ aShell.TShape()->Closed(Standard_True);
myShells.Append(aShell);
}
else {
aIt.Initialize(aLS);
for (; aIt.More(); aIt.Next()) {
const TopoDS_Shape& aShell=aIt.Value();
+ aShell.TShape()->Closed(Standard_True);
myShells.Append(aShell);
}
}
//purpose :
//=======================================================================
void MakeShell(const BOPCol_ListOfShape& aLS,
- TopoDS_Shell& aShell)
+ TopoDS_Shell& aShell)
{
BRep_Builder aBB;
BOPCol_ListIteratorOfListOfShape aIt;