mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-25 17:00:35 +05:00
PAL9151. Restore some code from V2_2_2 revision
This commit is contained in:
parent
8039f8cb66
commit
987a247e12
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user