//
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();
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