From 987a247e124160b579586948921f1b39fb0f70bb Mon Sep 17 00:00:00 2001 From: eap Date: Wed, 15 Jun 2005 12:43:07 +0000 Subject: [PATCH] PAL9151. Restore some code from V2_2_2 revision --- src/NMTTools/NMTTools_PaveFiller_6.cxx | 110 ++++++++++++++----------- 1 file changed, 63 insertions(+), 47 deletions(-) diff --git a/src/NMTTools/NMTTools_PaveFiller_6.cxx b/src/NMTTools/NMTTools_PaveFiller_6.cxx index b725d2c0a..139a6ea8c 100644 --- a/src/NMTTools/NMTTools_PaveFiller_6.cxx +++ b/src/NMTTools/NMTTools_PaveFiller_6.cxx @@ -566,10 +566,9 @@ static // if (aCBAPI.IsCommonBlock(aPB)) { // it can be Common Block - Standard_Boolean bHasPCOnF, bFound; - Standard_Integer nF, k, nEOrx, nF1x, nF2x; - Standard_Real aTolEx, aT1x, aT2x; - BOPTools_ListIteratorOfListOfPaveBlock aItPBx; + Standard_Real aTolEx; + Handle(Geom2d_Curve) aC2D1, aC2D2; + TopoDS_Face aF1FWD, aF2FWD; // NMTTools_CommonBlock& aCB=aCBAPI.CommonBlock(aPB); const BOPTools_ListOfPaveBlock& aLPBx=aCB.PaveBlocks(); @@ -578,50 +577,67 @@ static mE=aPB.Edge(); // index of edge in tDS const TopoDS_Edge& aEx=TopoDS::Edge(tDS.Shape(mE)); aTolEx=BRep_Tool::Tolerance(aEx); + // + // Commented out by EAP in the frame of PAL9151 + // +// Standard_Boolean bHasPCOnF, bFound; +// Standard_Integer nF, k, nEOrx, nF1x, nF2x; +// Standard_Real aTolEx, aT1x, aT2x; +// BOPTools_ListIteratorOfListOfPaveBlock aItPBx; // - for (k=0; k<2; ++k) { - nF=(!k) ? nF1 : nF2; - const TopoDS_Face& aF=TopoDS::Face(myDS->Shape(nF)); - // - bHasPCOnF=BOPTools_Tools2D::HasCurveOnSurface(aEx, aF); - if (bHasPCOnF) { - continue; - } - // - 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); - } - } +// for (k=0; k<2; ++k) { +// nF=(!k) ? nF1 : nF2; +// const TopoDS_Face& aF=TopoDS::Face(myDS->Shape(nF)); +// // +// bHasPCOnF=BOPTools_Tools2D::HasCurveOnSurface(aEx, aF); +// if (bHasPCOnF) { +// continue; +// } +// // +// 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); +// } +// } + // + // The code till the if block end is restored from V2_2_2 revision + // + aF1FWD=aF1; + aF1FWD.Orientation(TopAbs_FORWARD); + NMTTools_Tools::MakePCurve(aEx, aF1FWD, aC2D1, aTolEx); + // + aF2FWD=aF2; + aF2FWD.Orientation(TopAbs_FORWARD); + NMTTools_Tools::MakePCurve(aEx, aF2FWD, aC2D2, aTolEx); } //if (aCBAPI.IsCommonBlock(aPB)) // // new SE