0025242: Wrong result of cut operation.
[occt.git] / src / BOPAlgo / BOPAlgo_PaveFiller.cdl
index 657f48f..5e64364 100644 (file)
@@ -1,31 +1,27 @@
 -- Created by: Peter KURNEV
--- Copyright (c) 2010-2012 OPEN CASCADE SAS
+-- Copyright (c) 2010-2014 OPEN CASCADE SAS
 -- Copyright (c) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
 -- Copyright (c) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT,
 --                         EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 --
--- The content of this file is subject to the Open CASCADE Technology Public
--- License Version 6.5 (the "License"). You may not use the content of this file
--- except in compliance with the License. Please obtain a copy of the License
--- at http://www.opencascade.org and read it completely before using this file.
+-- This file is part of Open CASCADE Technology software library.
 --
--- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
--- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
+-- This library is free software; you can redistribute it and/or modify it under
+-- the terms of the GNU Lesser General Public License version 2.1 as published
+-- by the Free Software Foundation, with special exception defined in the file
+-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+-- distribution for complete text of the license and disclaimer of any warranty.
 --
--- The Original Code and all software distributed under the License is
--- distributed on an "AS IS" basis, without warranty of any kind, and the
--- Initial Developer 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 the rights and limitations under the License.
-
+-- Alternatively, this file may be used under the terms of Open CASCADE
+-- commercial license or contractual agreement.
 
 class PaveFiller from BOPAlgo 
    inherits Algo from BOPAlgo 
     ---Purpose: 
 
 uses 
-    Pnt from gp,   
+    Pnt from gp,  
+    ShapeEnum from TopAbs,  
     Vertex from TopoDS,
     Face from TopoDS, 
     Edge from TopoDS,
@@ -42,7 +38,7 @@ uses
     DataMapOfIntegerReal from BOPCol, 
     DataMapOfIntegerInteger from BOPCol,
     --  
-    Context from BOPInt,
+    Context from IntTools,
     -- 
     SectionAttribute from BOPAlgo, 
     
@@ -54,6 +50,7 @@ uses
     Curve from BOPDS,  
     IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS,
     MapOfPaveBlock from BOPDS,  
+    IndexedMapOfPaveBlock from BOPDS,  
     ListOfPaveBlock from BOPDS, 
     ListOfPave from BOPDS, 
     ListOfPntOn2S from IntSurf, 
@@ -71,7 +68,7 @@ is
      
     Create (theAllocator: BaseAllocator from BOPCol) 
       returns PaveFiller from BOPAlgo;   
-       
     DS(me:out) 
       returns DS from BOPDS; 
     ---C++:return  const &   
@@ -90,7 +87,7 @@ is
     ---C++: alias "Standard_EXPORT void SetArguments(const BOPCol_ListOfShape& theLS);" 
 
     Context(me:out) 
-      returns Context from BOPInt;  
+      returns Context from IntTools;  
        
     SetSectionAttribute(me:out; 
         theSecAttr : SectionAttribute from BOPAlgo); 
@@ -99,13 +96,19 @@ is
       is redefined;   
     --  
     -- protected methods 
-    -- 
+    --  
+    PerformInternal (me:out) 
+      is virtual protected;   
+      
     Clear(me:out) 
       is virtual protected;  
           
     Init(me:out) 
       is virtual protected;
-      
+     
+    Prepare(me:out) 
+      is  protected;
+     
     PerformVV(me:out) 
       is virtual protected;   
      
@@ -114,17 +117,33 @@ is
      
     PerformVF(me:out) 
       is virtual protected;  
-        
+  
     PerformEE(me:out) 
       is virtual protected; 
-         
+   
     PerformEF(me:out) 
       is virtual protected; 
      
     PerformFF(me:out) 
       is virtual protected;
      
-    
+    --modified by NIZNHY-PKV Fri Sep 12 07:05:37 2014f 
+    PerformVZ(me:out) 
+      is virtual protected; 
+       --Purpose: Computes Vertex/Solid interferences 
+       
+    PerformEZ(me:out) 
+      is virtual protected;  
+      --Purpose: Computes Edge/Solid interferences 
+     
+    PerformFZ(me:out) 
+      is virtual protected;   
+      --Purpose: Computes Face/Solid interferences 
+    PerformZZ(me:out) 
+      is virtual protected;  
+      --Purpose: Computes Solid/Solid interferences  
+    --modified by NIZNHY-PKV Fri Sep 12 07:05:45 2014t 
     TreatVerticesEE(me:out) 
       is protected; 
 
@@ -133,23 +152,28 @@ is
         
     MakeBlocks(me:out) 
       is protected; 
-        
+  
     MakePCurves(me:out) 
       is protected; 
-        
+  
     ProcessDE(me:out) 
       is protected;  
        
     FillShrunkData(me:out; 
         thePB:out PaveBlock from BOPDS) 
       is protected;   
-        
+    FillShrunkData(me:out; 
+        theType1: ShapeEnum from TopAbs; 
+        theType2: ShapeEnum from TopAbs) 
+      is protected;   
     PerformVerticesEE(me:out; 
         theMVCPB:out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS; 
         theAllocator:out BaseAllocator from BOPCol) 
       returns Integer from Standard 
       is protected; 
-        
+  
     PerformVerticesEF(me:out; 
         theMVCPB:out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS; 
         theAllocator:out BaseAllocator from BOPCol) 
@@ -161,14 +185,14 @@ is
         theMIF:MapOfInteger from BOPCol) 
       returns Boolean from Standard 
       is protected;  
-         
+   
     CheckFacePaves(myclass; 
         theN:Integer from Standard; 
         theMIFOn:MapOfInteger from BOPCol; 
         theMIFIn:MapOfInteger from BOPCol) 
       returns Boolean from Standard 
       is protected;  
-        
+  
     IsExistingVertex(me; 
         theP:Pnt from gp; 
         theTol:Real from Standard; 
@@ -205,13 +229,12 @@ is
     -- 1 - checks only EE; 
     -- 2 - checks only EF;
     -- other - checks both types of intersections.
-        
+  
     PutBoundPaveOnCurve(me:out;  
         theF1: Face from TopoDS;  
         theF2: Face from TopoDS;  
         theTolR3D:Real from Standard; 
         theNC:out Curve from BOPDS;  
-        theMVOnIn:out MapOfInteger from BOPCol;
         theMVB:out MapOfInteger from BOPCol) 
       is protected; 
 
@@ -219,7 +242,7 @@ is
         thePB:PaveBlock from BOPDS;  
         theNC:Curve from BOPDS;
         theTolR3D:Real from Standard; 
-        theMPB:MapOfPaveBlock from BOPDS; 
+        theMPB:IndexedMapOfPaveBlock from BOPDS; 
         thePBOut:out PaveBlock from BOPDS)
       returns Boolean from Standard 
       is protected;  
@@ -259,12 +282,12 @@ is
         theLPB: ListOfPaveBlock from BOPDS; 
         thePB: PaveBlock from BOPDS) 
       is protected; 
-        
+  
     MakeSplitEdge(me:out;  
         theV:Integer from Standard; 
         theF:Integer from Standard) 
       is protected;  
-        
+      
     GetEFPnts(me:out;
         nF1 : Integer from Standard;
         nF2 : Integer from Standard;
@@ -338,13 +361,13 @@ is
  
     ProcessExistingPaveBlocks(me:out; 
         theInt     : Integer from Standard; 
-        theMPBOnIn : MapOfPaveBlock from BOPDS; 
+        theMPBOnIn : IndexedMapOfPaveBlock from BOPDS; 
         theMSCPB   : out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS; 
         theMVI     : out DataMapOfShapeInteger from BOPCol; 
         theMVB     : MapOfInteger from BOPCol; 
         theMPB     : out MapOfPaveBlock from BOPDS)
       is  protected; 
-    ---Purpose:             
+    ---Purpose:       
     -- Adds the existing edges from the map <theMPBOnIn> which interfere  
     -- with the vertices from <theMVB> map to the post treatment of section edges.
  
@@ -445,7 +468,7 @@ fields
     myArguments   : ListOfShape from BOPCol is protected;  
     myDS          : PDS from BOPDS is protected; 
     myIterator    : PIterator from BOPDS is protected; 
-    myContext     : Context from BOPInt is protected;   
+    myContext     : Context from IntTools is protected;   
     mySectionAttribute : SectionAttribute from BOPAlgo is protected;
 
 end PaveFiller;