]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Fix for bug NPAL17921
authormaintenance team <salome-mnt@opencascade.com>
Wed, 16 Jan 2008 12:04:40 +0000 (12:04 +0000)
committermaintenance team <salome-mnt@opencascade.com>
Wed, 16 Jan 2008 12:04:40 +0000 (12:04 +0000)
src/GEOMAlgo/GEOMAlgo_Builder_1.cxx
src/NMTTools/NMTTools_PaveFiller.cdl
src/NMTTools/NMTTools_PaveFiller.hxx
src/NMTTools/NMTTools_PaveFiller_8.cxx

index b6cdfee665e2799a345b460864bed9a2562417aa..5ee7ddaf48a7913238d268e72965cfb304f7bed7 100755 (executable)
@@ -113,7 +113,7 @@ static
   IntTools_Context& aCtx=pPF->ChangeContext();
   //
   Standard_Boolean bToReverse;
-  Standard_Integer i, aNb, aNbSp, nSp, nSpR, nSpx;
+  Standard_Integer i, aNb, aNbSp, nSp, nSpR, nSpx, aIsCB;
   TColStd_ListIteratorOfListOfInteger aItLB;
   TColStd_ListOfInteger aLB;
   TopoDS_Edge aEE, aESpR;
@@ -147,10 +147,16 @@ static
       nSp=aPB.Edge();
       const TopoDS_Shape& aSp=aDS.Shape(nSp);
       //
-      const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB);
+      //modified by NIZNHY-PKV Fri Nov 30 10:40:36 2007 f
+      //const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB);
+      const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB, aIsCB);
+      //modified by NIZNHY-PKV Fri Nov 30 10:40:48 2007t
       nSpR=aPBR.Edge();
       const TopoDS_Shape& aSpR=aDS.Shape(nSpR);
-      if (aSpR.IsSame(aSp) && aSpR.IsSame(aE)) {
+      //modified by NIZNHY-PKV Fri Nov 30 10:41:39 2007f
+      //if (aSpR.IsSame(aSp) && aSpR.IsSame(aE)) {
+      if (aSpR.IsSame(aSp) && aSpR.IsSame(aE) && !aIsCB) {
+       //modified by NIZNHY-PKV Fri Nov 30 10:41:46 2007t
        continue;
       }
       //
@@ -174,7 +180,10 @@ static
       aIt.Initialize(aLPB);
       for (; aIt.More(); aIt.Next()) {
        const BOPTools_PaveBlock& aPB=aIt.Value();
-       const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB);
+       //modified by NIZNHY-PKV Fri Nov 30 10:42:15 2007f
+       //const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB);
+       const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB, aIsCB);
+       //modified by NIZNHY-PKV Fri Nov 30 10:42:20 2007t
        nSpR=aPBR.Edge();
        const TopoDS_Shape& aSpR=aDS.Shape(nSpR);
        //
index 19340bc8c10860baadcac84c2234737503a0ac05..ca5202204ad707a37599291cf6a27ccf114833aa 100644 (file)
@@ -46,9 +46,7 @@ uses
     ShrunkRange from IntTools,
     
     IndexedDataMapOfShapeInteger from BooleanOperations, 
-    
-    --InterferencePool  from BOPTools,
-    --PInterferencePool from BOPTools, 
+
     PavePool          from BOPTools, 
     PaveBlock         from BOPTools,
     ListOfPaveBlock   from BOPTools,
@@ -85,16 +83,7 @@ is
        returns PaveFiller from NMTTools;  
     ---C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller();"
       
-   -- Create(aIP:InterferencePool from BOPTools)
-    -- returns PaveFiller from NMTTools; 
-     
-   -- Destroy (me: in out) 
-       --is  virtual;    
-    --  -C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller(){Destroy();}"
-    -- 
-    --  Selectors/Modifiers
-    --SetInterferencePool(me:out; 
-    --     aIP:PInterferencePool from BOPTools);
+  
      
     SetCompositeShape (me:out;  
            aS:  Shape from TopoDS);  
@@ -103,18 +92,10 @@ is
        returns  Shape from TopoDS; 
        ---C++:  return  const&  
        
-    --InterfPool(me:out) 
-       --returns PInterferencePool from BOPTools; 
-
-    --SetDS(me:out; 
-       --    aDS:PShapesDataStructure from NMTDS);  
             
     DS(me:out) 
        returns PShapesDataStructure from NMTDS;  
-     
-    --SetDSIt(me:out; 
-       --      aIt:PIterator from NMTDS); 
-        
     DSIt(me:out) 
        returns PIterator from NMTDS; 
      
@@ -169,21 +150,11 @@ is
     PreparePaveBlocks (me:out;   
            anE:Integer from Standard) 
        is virtual protected;             
-                      
-    --PerformNewVertices  (me:out) 
-       --is virtual;  
+       
      
     PrepareEdges  (me:out) 
        is virtual protected;  
      
-    --SortTypes      (me;   
-    --     anInd1:in out Integer from Standard; 
-    --        anInd2:in out Integer from Standard) 
-    -- is protected; 
-     
-    --ExpectedPoolLength(me) 
-    -- returns  Integer from Standard 
-       --is protected;  
     --
     -- Query section 
     IsDone(me) 
@@ -394,16 +365,16 @@ is
     RealPaveBlock(me:out;   
            aPB:PaveBlock from BOPTools) 
        returns PaveBlock from BOPTools; 
-    ---C++: return const &       
+    ---C++: return const &        
     
-    -- Modified to add new method Thu Sep 14 14:35:18 2006 
-    -- Contribution of Samtech www.samcef.com BEGIN  
+    --modified by NIZNHY-PKV Fri Nov 30 10:30:54 2007  f
     RealPaveBlock(me:out;   
            aPB:PaveBlock from BOPTools; 
-           aLB:out ListOfInteger from TColStd) 
+           aLB:out ListOfInteger from TColStd; 
+           aIsCommonBlock:out  Integer from Standard) 
        returns PaveBlock from BOPTools; 
     ---C++: return const &      
-    -- Contribution of Samtech www.samcef.com END 
+    --modified by NIZNHY-PKV Fri Nov 30 10:30:58 2007  t 
      
     RealSplitsFace  (me:out;  
                 nF2 :Integer from Standard;  
@@ -530,7 +501,6 @@ is
        aDMVV:  out  DataMapOfShapeShape from TopTools);  
      
 fields 
-    --myIntrPool         :  PInterferencePool from BOPTools            is protected; 
     myDS               :  PShapesDataStructure from NMTDS      is protected;   
     myIsDone           :  Boolean from Standard                 is protected; 
     myNbSources        :  Integer from Standard                 is protected;  
@@ -544,10 +514,10 @@ fields
     myContext          :  Context from IntTools                 is protected; 
     mySectionAttribute :  SSIntersectionAttribute from BOPTools is protected; 
     myAloneVertices    :  IndexedDataMapOfIndexedMapOfInteger from NMTTools is protected;   
-    --modified by NIZNHY-PKV Wed Oct 11 11:06:50 2006f
+    --
     myVSD              :  DataMapOfIntegerInteger from TColStd is protected; 
     myDSIt             :  PIterator from NMTDS is protected;  
     myCompositeShape   :  Shape from TopoDS is protected;
     myIP               :  PInterfPool from NMTDS is protected;     
-    --modified by NIZNHY-PKV Wed Oct 11 11:06:55 2006t 
+
 end PaveFiller;
index 2d6492a3f72ff818809f93445920e5b3c2f33d27..35b23a61da0dad8eacf1681a1dbec535c9901375 100644 (file)
@@ -1,21 +1,23 @@
-// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// File generated by CPPExt (Value)
 //
-// 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.
+//                     Copyright (C) 1991 - 2000 by  
+//                      Matra Datavision SA.  All rights reserved.
+//  
+//                     Copyright (C) 2001 - 2004 by
+//                     Open CASCADE SA.  All rights reserved.
+// 
+// This file is part of the Open CASCADE Technology software.
 //
-// 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
+// This software may be distributed and/or modified under the terms and
+// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
+// and appearing in the file LICENSE included in the packaging of this file.
+//  
+// This software is distributed on an "AS IS" basis, without warranty of any
+// kind, and Open CASCADE SA hereby disclaims all such warranties,
+// including without limitation, any warranties of merchantability, fitness
+// for a particular purpose or non-infringement. Please see the License for
+// the specific terms and conditions governing rights and limitations under the
+// License.
 
 #ifndef _NMTTools_PaveFiller_HeaderFile
 #define _NMTTools_PaveFiller_HeaderFile
@@ -217,7 +219,7 @@ Standard_EXPORT   void PrepareFace(const Standard_Integer nF,TopoDS_Face& aF) ;
 Standard_EXPORT  const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB) ;
 
 
-Standard_EXPORT  const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB,TColStd_ListOfInteger& aLB) ;
+Standard_EXPORT  const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB,TColStd_ListOfInteger& aLB,Standard_Integer& aIsCommonBlock) ;
 
 
 Standard_EXPORT   void RealSplitsFace(const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
index b8686673ec6d63a6a112d2fcec18317521a7705d..6d7a77c1ba85b3ccaae235807b276364286be0fc 100644 (file)
 // function: RealPaveBlock
 // purpose:
 //=======================================================================
-  const BOPTools_PaveBlock& NMTTools_PaveFiller::RealPaveBlock(const BOPTools_PaveBlock& aPB,
-                                                              TColStd_ListOfInteger& aLB)
+  const BOPTools_PaveBlock& NMTTools_PaveFiller::RealPaveBlock
+     (const BOPTools_PaveBlock& aPB,
+      TColStd_ListOfInteger& aLB,
+      Standard_Integer& aIsCommonBlock)
 {
   Standard_Integer nE, nSpx;
   BOPTools_ListIteratorOfListOfPaveBlock aItPBx;
   //
+  aIsCommonBlock=0;
   aLB.Clear();
   nE=aPB.OriginalEdge();
   const NMTTools_ListOfCommonBlock& aLCBE=myCommonBlockPool(myDS->RefEdge(nE));
@@ -96,6 +99,8 @@
   if (aCBAPI.IsCommonBlock(aPB)) {
     NMTTools_CommonBlock& aCB=aCBAPI.CommonBlock(aPB);
     //
+    aIsCommonBlock=1;   
+    //
     const BOPTools_ListOfPaveBlock& aLPBx=aCB.PaveBlocks();
     aItPBx.Initialize(aLPBx);
     for (; aItPBx.More(); aItPBx.Next()) {