PAL9151. Restore some code from V2_2_2 revision

This commit is contained in:
eap 2005-06-15 12:43:07 +00:00
parent 8039f8cb66
commit 987a247e12

View File

@ -566,10 +566,9 @@ static
// //
if (aCBAPI.IsCommonBlock(aPB)) { if (aCBAPI.IsCommonBlock(aPB)) {
// it can be Common Block // it can be Common Block
Standard_Boolean bHasPCOnF, bFound; Standard_Real aTolEx;
Standard_Integer nF, k, nEOrx, nF1x, nF2x; Handle(Geom2d_Curve) aC2D1, aC2D2;
Standard_Real aTolEx, aT1x, aT2x; TopoDS_Face aF1FWD, aF2FWD;
BOPTools_ListIteratorOfListOfPaveBlock aItPBx;
// //
NMTTools_CommonBlock& aCB=aCBAPI.CommonBlock(aPB); NMTTools_CommonBlock& aCB=aCBAPI.CommonBlock(aPB);
const BOPTools_ListOfPaveBlock& aLPBx=aCB.PaveBlocks(); const BOPTools_ListOfPaveBlock& aLPBx=aCB.PaveBlocks();
@ -579,49 +578,66 @@ static
const TopoDS_Edge& aEx=TopoDS::Edge(tDS.Shape(mE)); const TopoDS_Edge& aEx=TopoDS::Edge(tDS.Shape(mE));
aTolEx=BRep_Tool::Tolerance(aEx); aTolEx=BRep_Tool::Tolerance(aEx);
// //
for (k=0; k<2; ++k) { // Commented out by EAP in the frame of PAL9151
nF=(!k) ? nF1 : nF2;
const TopoDS_Face& aF=TopoDS::Face(myDS->Shape(nF));
// //
bHasPCOnF=BOPTools_Tools2D::HasCurveOnSurface(aEx, aF); // Standard_Boolean bHasPCOnF, bFound;
if (bHasPCOnF) { // Standard_Integer nF, k, nEOrx, nF1x, nF2x;
continue; // Standard_Real aTolEx, aT1x, aT2x;
} // BOPTools_ListIteratorOfListOfPaveBlock aItPBx;
// //
bFound=Standard_False; // for (k=0; k<2; ++k) {
aItPBx.Initialize(aLPBx); // nF=(!k) ? nF1 : nF2;
for (; aItPBx.More(); aItPBx.Next()) { // const TopoDS_Face& aF=TopoDS::Face(myDS->Shape(nF));
BOPTools_PaveBlock& aPBx=aIt.Value(); // //
nEOrx=aPBx.OriginalEdge(); // bHasPCOnF=BOPTools_Tools2D::HasCurveOnSurface(aEx, aF);
const TopoDS_Shape& aEOrx=tDS.Shape(nEOrx); // if (bHasPCOnF) {
BOPTools_PaveBlock& aPBSEx=aMEPB.ChangeFromKey(aEOrx); // continue;
aT1x=aPBSEx.Pave1().Param(); // }
aT2x=aPBSEx.Pave2().Param(); // //
const IntTools_Curve& aICx=aPBSEx.Curve(); // bFound=Standard_False;
// aItPBx.Initialize(aLPBx);
// for (; aItPBx.More(); aItPBx.Next()) {
// BOPTools_PaveBlock& aPBx=aIt.Value();
// nEOrx=aPBx.OriginalEdge();
// const TopoDS_Shape& aEOrx=tDS.Shape(nEOrx);
// BOPTools_PaveBlock& aPBSEx=aMEPB.ChangeFromKey(aEOrx);
// aT1x=aPBSEx.Pave1().Param();
// aT2x=aPBSEx.Pave2().Param();
// const IntTools_Curve& aICx=aPBSEx.Curve();
// //
// nF1x=aPBSEx.Face1();
// nF2x=aPBSEx.Face2();
// //
// if (nF1x==nF) {
// Handle(Geom2d_Curve) aC2D1x=aICx.FirstCurve2d();
// Handle(Geom2d_TrimmedCurve)aC2D1xT =new Geom2d_TrimmedCurve(aC2D1x, aT1x, aT2x);
// aBB.UpdateEdge(aEx, aC2D1xT, aF, aTolEx);
// bFound=!bFound;
// break;
// }
// //
// if (nF2x==nF) {
// Handle(Geom2d_Curve) aC2D2x=aICx.SecondCurve2d();
// Handle(Geom2d_TrimmedCurve)aC2D2xT =new Geom2d_TrimmedCurve(aC2D2x, aT1x, aT2x);
// aBB.UpdateEdge(aEx, aC2D2xT, aF, aTolEx);
// bFound=!bFound;
// break;
// }
// }
// if (bFound){
// BRepLib::SameParameter(aEx, aTolEx, Standard_True);
// }
// }
// //
nF1x=aPBSEx.Face1(); // The code till the if block end is restored from V2_2_2 revision
nF2x=aPBSEx.Face2();
// //
if (nF1x==nF) { aF1FWD=aF1;
Handle(Geom2d_Curve) aC2D1x=aICx.FirstCurve2d(); aF1FWD.Orientation(TopAbs_FORWARD);
Handle(Geom2d_TrimmedCurve)aC2D1xT =new Geom2d_TrimmedCurve(aC2D1x, aT1x, aT2x); NMTTools_Tools::MakePCurve(aEx, aF1FWD, aC2D1, aTolEx);
aBB.UpdateEdge(aEx, aC2D1xT, aF, aTolEx);
bFound=!bFound;
break;
}
// //
if (nF2x==nF) { aF2FWD=aF2;
Handle(Geom2d_Curve) aC2D2x=aICx.SecondCurve2d(); aF2FWD.Orientation(TopAbs_FORWARD);
Handle(Geom2d_TrimmedCurve)aC2D2xT =new Geom2d_TrimmedCurve(aC2D2x, aT1x, aT2x); NMTTools_Tools::MakePCurve(aEx, aF2FWD, aC2D2, aTolEx);
aBB.UpdateEdge(aEx, aC2D2xT, aF, aTolEx);
bFound=!bFound;
break;
}
}
if (bFound){
BRepLib::SameParameter(aEx, aTolEx, Standard_True);
}
}
} //if (aCBAPI.IsCommonBlock(aPB)) } //if (aCBAPI.IsCommonBlock(aPB))
// //
// new SE // new SE