Added NULL checks before Progress Scope pointer dereference.
pPF=new BOPAlgo_PaveFiller(aAllocator);
pPF->SetArguments(aLS);
pPF->SetRunParallel(myRunParallel);
- pPF->SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ pPF->SetProgressIndicator(*myProgressScope);
+ }
pPF->SetFuzzyValue(myFuzzyValue);
pPF->SetNonDestructive(myNonDestructive);
pPF->SetGlue(myGlue);
//
pPF->SetArguments(myArguments);
pPF->SetRunParallel(myRunParallel);
- pPF->SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ pPF->SetProgressIndicator(*myProgressScope);
+ }
pPF->SetFuzzyValue(myFuzzyValue);
pPF->SetNonDestructive(myNonDestructive);
pPF->SetGlue(myGlue);
aBS.SetRunParallel(myRunParallel);
aBS.SetContext(myContext);
aBS.SetFuzzyValue(myFuzzyValue);
- aBS.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aBS.SetProgressIndicator(*myProgressScope);
+ }
aBS.Perform();
// Resulting solids
aBF.SetFace(aF);
aBF.SetShapes(aLE);
aBF.SetRunParallel(myRunParallel);
- aBF.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aBF.SetProgressIndicator(*myProgressScope);
+ }
//
}// for (i=0; i<aNbS; ++i) {
//
aPSB.Shape1() = aF1;
aPSB.Shape2() = aF2;
aPSB.SetFuzzyValue(myFuzzyValue);
- aPSB.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aPSB.SetProgressIndicator(*myProgressScope);
+ }
}
}
}
aVFI.SetVertex(aV);
aVFI.SetFace(aFIm);
aVFI.SetFuzzyValue(myFuzzyValue);
- aVFI.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aVFI.SetProgressIndicator(*myProgressScope);
+ }
}
}
}
aBS.SetSolid(aSolid);
aBS.SetShapes(aSFS);
aBS.SetRunParallel(myRunParallel);
- aBS.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aBS.SetProgressIndicator(*myProgressScope);
+ }
}//for (i=0; i<aNbS; ++i) {
//
Standard_Integer k, aNbBS;
aFaceSelfIntersect.SetFace(aF);
aFaceSelfIntersect.SetTolF(aTolF);
//
- aFaceSelfIntersect.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aFaceSelfIntersect.SetProgressIndicator(*myProgressScope);
+ }
}
Standard_Integer aNbFace = aVFace.Length();
}
//
pPF->SetRunParallel(myRunParallel);
- pPF->SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ pPF->SetProgressIndicator(*myProgressScope);
+ }
pPF->SetFuzzyValue(myFuzzyValue);
pPF->SetNonDestructive(myNonDestructive);
pPF->SetGlue(myGlue);
aVESolver.SetEdge(aE);
aVESolver.SetPaveBlock(aPB);
aVESolver.SetFuzzyValue(myFuzzyValue);
- aVESolver.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aVESolver.SetProgressIndicator(*myProgressScope);
+ }
}
}
//
anEdgeEdge.SetEdge2(aE2, aT21, aT22);
anEdgeEdge.SetBoxes (aBB1, aBB2);
anEdgeEdge.SetFuzzyValue(myFuzzyValue);
- anEdgeEdge.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ anEdgeEdge.SetProgressIndicator(*myProgressScope);
+ }
}//for (; aIt2.More(); aIt2.Next()) {
}//for (; aIt1.More(); aIt1.Next()) {
}//for (; myIterator->More(); myIterator->Next()) {
anEdgeEdge.SetEdge2(aE2, aT21, aT22);
anEdgeEdge.SetBoxes (myDS->ShapeInfo(nE1).Box(), myDS->ShapeInfo (nE2).Box());
if (bUseAddTol)
+ {
anEdgeEdge.SetFuzzyValue(myFuzzyValue + aTolAdd);
+ }
else
+ {
anEdgeEdge.SetFuzzyValue(myFuzzyValue);
- anEdgeEdge.SetProgressIndicator(*myProgressScope);
+ }
+ if (myProgressScope != NULL)
+ {
+ anEdgeEdge.SetProgressIndicator(*myProgressScope);
+ }
}
}
}
aVertexFace.SetVertex(aV);
aVertexFace.SetFace(aF);
aVertexFace.SetFuzzyValue(myFuzzyValue);
- aVertexFace.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aVertexFace.SetProgressIndicator(*myProgressScope);
+ }
}//for (; myIterator->More(); myIterator->Next()) {
//
aNbVF=aVVF.Length();
aSR = aPBRange;
BOPTools_AlgoTools::CorrectRange(aE, aF, aSR, aPBRange);
aEdgeFace.SetRange (aPBRange);
- aEdgeFace.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aEdgeFace.SetProgressIndicator(*myProgressScope);
+ }
// Save the pair to avoid their forced intersection
BOPDS_MapOfPaveBlock* pMPB = myFPBDone.ChangeSeek(nF);
if (!pMPB)
aEdgeFace.SetFuzzyValue(myFuzzyValue + aTolAdd);
aEdgeFace.UseQuickCoincidenceCheck(Standard_True);
aEdgeFace.SetRange(IntTools_Range(aPB->Pave1().Parameter(), aPB->Pave2().Parameter()));
- aEdgeFace.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aEdgeFace.SetProgressIndicator(*myProgressScope);
+ }
}
}
}
//
aFaceFace.SetParameters(bApprox, bCompC2D1, bCompC2D2, anApproxTol);
aFaceFace.SetFuzzyValue(myFuzzyValue);
- aFaceFace.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aFaceFace.SetProgressIndicator(*myProgressScope);
+ }
}
else {
// for the Glue mode just add all interferences of that type
}
//
// 2 Fuse shapes
- aPF.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aPF.SetProgressIndicator(*myProgressScope);
+ }
aPF.SetRunParallel(myRunParallel);
aPF.SetArguments(aLS);
aPF.Perform();
aBSE.SetCommonBlock(aCB);
}
aBSE.SetDS(myDS);
- aBSE.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aBSE.SetProgressIndicator(*myProgressScope);
+ }
} // for (; aItPB.More(); aItPB.Next()) {
} // for (i=0; i<aNbPBP; ++i) {
//
BOPAlgo_MPC& aMPC=aVMPC.Appended();
aMPC.SetEdge(aE);
aMPC.SetFace(aF1F);
- aMPC.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aMPC.SetProgressIndicator(*myProgressScope);
+ }
}
//
// On
aMPC.SetEdge(aE);
aMPC.SetFace(aF1F);
- aMPC.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aMPC.SetProgressIndicator(*myProgressScope);
+ }
}
}// for (i=0; i<aNbFI; ++i) {
//
aMPC.SetEdge(aE);
aMPC.SetFace(aFf[m]);
aMPC.SetFlag(Standard_True);
- aMPC.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ aMPC.SetProgressIndicator(*myProgressScope);
+ }
}
}
}
BOPAlgo_PaveFiller *pPF = new BOPAlgo_PaveFiller();
pPF->SetArguments(aLS);
pPF->SetRunParallel(myRunParallel);
- pPF->SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ pPF->SetProgressIndicator(*myProgressScope);
+ }
pPF->SetFuzzyValue(myFuzzyValue);
pPF->SetNonDestructive(myNonDestructive);
pPF->SetGlue(myGlue);
myDSFiller->SetArguments(theArgs);
// Set options for intersection
myDSFiller->SetRunParallel(myRunParallel);
- myDSFiller->SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ myDSFiller->SetProgressIndicator(*myProgressScope);
+ }
myDSFiller->SetFuzzyValue(myFuzzyValue);
myDSFiller->SetNonDestructive(myNonDestructive);
myDSFiller->SetGlue(myGlue);
{
// Set options to the builder
myBuilder->SetRunParallel(myRunParallel);
- myBuilder->SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ myBuilder->SetProgressIndicator(*myProgressScope);
+ }
myBuilder->SetCheckInverted(myCheckInverted);
myBuilder->SetToFillHistory(myFillHistory);
// Perform building of the result with pre-calculated intersections
anAnalyzer.SelfInterMode() = myTestSI;
// Set options from BOPAlgo_Options
anAnalyzer.SetRunParallel(myRunParallel);
- anAnalyzer.SetProgressIndicator(*myProgressScope);
+ if (myProgressScope != NULL)
+ {
+ anAnalyzer.SetProgressIndicator(*myProgressScope);
+ }
anAnalyzer.SetFuzzyValue(myFuzzyValue);
// Perform the check
anAnalyzer.Perform();