0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepOffset / BRepOffset_Inter3d.cdl
1 -- Created on: 1996-08-30
2 -- Created by: Yves FRICAUD
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class Inter3d from BRepOffset 
18
19         ---Purpose: Computes the intersection face face in a set of faces
20         --          Store the result in a SD as AsDes.
21
22 uses
23     AsDes                     from BRepAlgo,
24     Image                     from BRepAlgo,
25     Analyse                   from BRepOffset,  
26     DataMapOfShapeOffset      from BRepOffset,
27     Shape                     from TopoDS,
28     Face                      from TopoDS,
29     ListOfShape               from TopTools,
30     --MapOfShape                from TopTools,
31     IndexedMapOfShape         from TopTools,
32     DataMapOfShapeShape       from TopTools,
33     DataMapOfShapeListOfShape from TopTools,
34     Real                      from Standard,
35     State                     from TopAbs       
36
37 is
38     Create(AsDes : AsDes from BRepAlgo;
39            Side  : State         from TopAbs;
40            Tol   : Real          from Standard);
41     
42     CompletInt (me : in out; SetOfFaces     : ListOfShape from TopTools; 
43                              InitOffsetFace : Image       from BRepAlgo  ) 
44     is static;
45
46     FaceInter (me : in out; 
47                F1, F2         : Face  from TopoDS;
48                InitOffsetFace : Image from BRepAlgo) 
49     is static;
50     
51     ConnexIntByArc(me : in out; 
52                   SetOfFaces     : ListOfShape from TopTools; 
53                   ShapeInit      : Shape       from TopoDS;
54                   Analyse        : Analyse     from BRepOffset;
55                   InitOffsetFace : Image       from BRepAlgo)
56     is static;            
57     
58     ConnexIntByInt(me     : in out;  
59                    SI     :        Shape                from TopoDS;
60                    MapSF  :        DataMapOfShapeOffset from BRepOffset;
61                    A      :        Analyse              from BRepOffset;
62                    MES    : in out DataMapOfShapeShape  from TopTools;
63                    Build  : in out DataMapOfShapeShape  from TopTools;
64                    Failed : in out ListOfShape          from TopTools)
65     is static;
66      
67     ContextIntByInt( me             : in  out;   
68                      ContextFaces   :        IndexedMapOfShape    from TopTools; 
69                      ExtentContext  :        Boolean              from Standard;        
70                      MapSF          :        DataMapOfShapeOffset from BRepOffset;
71                      A              :        Analyse              from BRepOffset;
72                      MES            : in out DataMapOfShapeShape  from TopTools;
73                      Build          : in out DataMapOfShapeShape  from TopTools;
74                      Failed         : in out ListOfShape          from TopTools) 
75     is  static; 
76      
77     ContextIntByArc(me : in out;
78                     ContextFaces   :        IndexedMapOfShape from TopTools;
79                     ExtentContext  :        Boolean           from Standard;    
80                     Analyse        :        Analyse           from BRepOffset;
81                     InitOffsetFace :        Image             from BRepAlgo;
82                     InitOffsetEdge : in out Image             from BRepAlgo)
83     is static;          
84     
85     AddCommonEdges(me : in out; 
86                    SetOfFaces : ListOfShape from TopTools)
87     is static;             
88     
89     SetDone(me : in out; F1,F2 : Face from TopoDS)
90     is static;
91     
92    ---Category: Querying
93
94     IsDone(me ; F1,F2 : Face from TopoDS) 
95     returns Boolean from Standard
96     is static;
97     
98     TouchedFaces(me : in out) returns IndexedMapOfShape from TopTools
99         ---C++: return &
100     is static;
101     
102     AsDes(me) returns AsDes from BRepAlgo
103     is static;
104     
105     NewEdges(me : in out) returns IndexedMapOfShape from TopTools
106         ---C++:  return &
107     is static;
108     
109     ---Category: Private
110
111     Store(me : in out;F1,F2       : Face        from TopoDS;
112                       LInt1,LInt2 : ListOfShape from TopTools)
113     is static private;    
114     
115 fields
116
117    myAsDes        : AsDes                     from BRepAlgo;
118    myTouched      : IndexedMapOfShape         from TopTools;
119    myDone         : DataMapOfShapeListOfShape from TopTools;
120    myNewEdges     : IndexedMapOfShape         from TopTools;
121    mySide         : State                     from TopAbs;
122    myTol          : Real                      from Standard;
123    
124 end Inter3d;