X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FNMTTools%2FNMTTools_PaveFiller_6.cxx;h=8c4852a4b076d57f130d07bf9aecc0b2b5554371;hb=f04efe4ef1789801c70616f0e4a98cdb5a11d49e;hp=139a6ea8c2b667b91cbaf36c3d0af3cac4c0fe02;hpb=987a247e124160b579586948921f1b39fb0f70bb;p=modules%2Fgeom.git diff --git a/src/NMTTools/NMTTools_PaveFiller_6.cxx b/src/NMTTools/NMTTools_PaveFiller_6.cxx index 139a6ea8c..8c4852a4b 100644 --- a/src/NMTTools/NMTTools_PaveFiller_6.cxx +++ b/src/NMTTools/NMTTools_PaveFiller_6.cxx @@ -1,3 +1,22 @@ +// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// // File: NMTTools_PaveFiller_6.cxx // Created: Fri Dec 19 10:27:31 2003 // Author: Peter KURNEV @@ -11,6 +30,7 @@ #include #include +#include #include #include @@ -25,6 +45,7 @@ #include #include #include +#include #include @@ -60,10 +81,7 @@ #include #include #include -#include #include -#include -#include static Standard_Boolean IsPairFound(const Standard_Integer nF1, @@ -241,7 +259,6 @@ static // BOPTools_ListOfPaveBlock aLPB, aLPBC; // - //modified by NIZNHY-PKV Fri Mar 11 15:43:02 2005 f { Standard_Integer nFj1, nFj2, nE; TColStd_IndexedMapOfInteger aMFence; @@ -273,7 +290,6 @@ static } } // - //modified by NIZNHY-PKV Fri Apr 1 09:49:57 2005t // RealSplitsInFace (aBid, nF1, nF2, aLPB); RealSplitsInFace (aBid, nF2, nF1, aLPB); @@ -296,10 +312,8 @@ static // BOPTools_PaveSet aPSF; // - //modified by NIZNHY-PKV Fri Apr 1 10:53:09 2005f PrepareSetForFace (nF1, nF2, aLPBC, aPSF); //PrepareSetForFace (nF1, nF2, aPSF); - //modified by NIZNHY-PKV Thu Mar 31 16:16:47 2005t // // Put Paves On Curves for (j=1; j<=aNbCurves; ++j) { @@ -339,7 +353,6 @@ static continue;// mkk ft } // - //modified by NIZNHY-PKV Fri Apr 1 09:56:11 2005f // 1 const BOPTools_ListOfPaveBlock& aLPBFF=aFFi.PaveBlocks(); bIsExistingPaveBlock=IsExistingPaveBlock(aPBNew, aLPBFF, aTolR3D); @@ -352,7 +365,6 @@ static if (bIsExistingPaveBlock) { continue; } - //modified by NIZNHY-PKV Fri Apr 1 09:56:14 2005t // Checking of validity in 2D // bIsValidIn2D=myContext.IsValidBlockForFaces(aT1, aT2, aIC, aF1, aF2, aTol2D); @@ -554,8 +566,11 @@ static // nF1=aPBSE.Face1(); nF2=aPBSE.Face2(); - const TopoDS_Face& aF1=TopoDS::Face(myDS->Shape(nF1)); - const TopoDS_Face& aF2=TopoDS::Face(myDS->Shape(nF2)); + // + //modified by NIZNHY-PKV Thu Jan 26 10:17:04 2006f + //const TopoDS_Face& aF1=TopoDS::Face(myDS->Shape(nF1)); + //const TopoDS_Face& aF2=TopoDS::Face(myDS->Shape(nF2)); + //modified by NIZNHY-PKV Thu Jan 26 10:17:08 2006t // const NMTTools_ListOfCommonBlock& aLCB=aCBP(tDS.RefEdge(i)); NMTTools_CommonBlockAPI aCBAPI(aLCB); @@ -564,6 +579,11 @@ static for (; aIt.More(); aIt.Next()) { BOPTools_PaveBlock aPB=aIt.Value(); // + ////modified by NIZNHY-PKV Thu Jan 26 10:16:36 2006f + const TopoDS_Face& aF1=TopoDS::Face(myDS->Shape(nF1)); + const TopoDS_Face& aF2=TopoDS::Face(myDS->Shape(nF2)); + ////modified by NIZNHY-PKV Thu Jan 26 10:16:39 2006t + // if (aCBAPI.IsCommonBlock(aPB)) { // it can be Common Block Standard_Real aTolEx; @@ -578,59 +598,8 @@ static 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; + // <- Block A was here // -// 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); @@ -737,7 +706,6 @@ static } } } -//modified by NIZNHY-PKV Fri Apr 1 09:36:06 2005f //======================================================================= // function: IsExistingPaveBlock // purpose: @@ -769,7 +737,6 @@ static } return bFlag; } -//modified by NIZNHY-PKV Fri Apr 1 09:36:06 2005t //======================================================================= // function: CheckIntermediatePoint // purpose: @@ -1143,59 +1110,60 @@ Standard_Boolean IsFound(const TColStd_IndexedMapOfInteger& aMapWhat, } return bFlag; } -/* -//======================================================================= -// function: PrepareSetForFace -// purpose: -//======================================================================= - void NMTTools_PaveFiller::PrepareSetForFace(const Standard_Integer nF1, - const Standard_Integer nF2, - BOPTools_PaveSet& aPSF) -{ - Standard_Integer nV1, nV2; - TColStd_MapOfInteger aMap; - BOPTools_ListOfPaveBlock aLPB1, aLPB2; - BOPTools_ListIteratorOfListOfPaveBlock anIt; - // - RealSplitsFace(nF1, aLPB1); - RealSplitsFace(nF2, aLPB2); - // - aLPB1.Append(aLPB2); - // - anIt.Initialize(aLPB1); - for (; anIt.More(); anIt.Next()) { - const BOPTools_PaveBlock& aPB=anIt.Value(); - const BOPTools_Pave& aPave1=aPB.Pave1(); - nV1=aPave1.Index(); - if (!aMap.Contains(nV1)) { - aMap.Add(nV1); - aPSF.Append(aPave1); - } - const BOPTools_Pave& aPave2=aPB.Pave2(); - nV2=aPave2.Index(); - if (!aMap.Contains(nV2)) { - aMap.Add(nV2); - aPSF.Append(aPave2); - } - } -} -*/ -/* -//======================================================================= -// function: IsExistingPaveBlock -// purpose: -//======================================================================= - Standard_Boolean NMTTools_PaveFiller::IsExistingPaveBlock(const BOPTools_PaveBlock& aPBNew, - const BOPTools_SSInterference& aFFi) -{ - Standard_Boolean bFlag; - Standard_Real aTolR3D; - // - aTolR3D=aFFi.TolR3D(); - const BOPTools_ListOfPaveBlock& aLPBR=aFFi.PaveBlocks(); - // - bFlag=IsExistingPaveBlock(aPBNew, aLPBR, aTolR3D); - // - return bFlag; -} -*/ +// +// Block A +// + // + // 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); +// } +// } + // + // The code till the if block end is restored from V2_2_2 revision +