0024157: Parallelization of assembly part of BO
[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-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22
23 class Inter3d from BRepOffset 
24
25         ---Purpose: Computes the intersection face face in a set of faces
26         --          Store the result in a SD as AsDes.
27
28 uses
29     AsDes                     from BRepAlgo,
30     Image                     from BRepAlgo,
31     Analyse                   from BRepOffset,  
32     DataMapOfShapeOffset      from BRepOffset,
33     Shape                     from TopoDS,
34     Face                      from TopoDS,
35     ListOfShape               from TopTools,
36     --MapOfShape                from TopTools,
37     IndexedMapOfShape         from TopTools,
38     DataMapOfShapeShape       from TopTools,
39     DataMapOfShapeListOfShape from TopTools,
40     Real                      from Standard,
41     State                     from TopAbs       
42
43 is
44     Create(AsDes : mutable AsDes from BRepAlgo;
45            Side  : State         from TopAbs;
46            Tol   : Real          from Standard);
47     
48     CompletInt (me : in out; SetOfFaces     : ListOfShape from TopTools; 
49                              InitOffsetFace : Image       from BRepAlgo  ) 
50     is static;
51
52     FaceInter (me : in out; 
53                F1, F2         : Face  from TopoDS;
54                InitOffsetFace : Image from BRepAlgo) 
55     is static;
56     
57     ConnexIntByArc(me : in out; 
58                   SetOfFaces     : ListOfShape from TopTools; 
59                   ShapeInit      : Shape       from TopoDS;
60                   Analyse        : Analyse     from BRepOffset;
61                   InitOffsetFace : Image       from BRepAlgo)
62     is static;            
63     
64     ConnexIntByInt(me     : in out;  
65                    SI     :        Shape                from TopoDS;
66                    MapSF  :        DataMapOfShapeOffset from BRepOffset;
67                    A      :        Analyse              from BRepOffset;
68                    MES    : in out DataMapOfShapeShape  from TopTools;
69                    Build  : in out DataMapOfShapeShape  from TopTools;
70                    Failed : in out ListOfShape          from TopTools)
71     is static;
72      
73     ContextIntByInt( me             : in  out;   
74                      ContextFaces   :        IndexedMapOfShape    from TopTools; 
75                      ExtentContext  :        Boolean              from Standard;        
76                      MapSF          :        DataMapOfShapeOffset from BRepOffset;
77                      A              :        Analyse              from BRepOffset;
78                      MES            : in out DataMapOfShapeShape  from TopTools;
79                      Build          : in out DataMapOfShapeShape  from TopTools;
80                      Failed         : in out ListOfShape          from TopTools) 
81     is  static; 
82      
83     ContextIntByArc(me : in out;
84                     ContextFaces   :        IndexedMapOfShape from TopTools;
85                     ExtentContext  :        Boolean           from Standard;    
86                     Analyse        :        Analyse           from BRepOffset;
87                     InitOffsetFace :        Image             from BRepAlgo;
88                     InitOffsetEdge : in out Image             from BRepAlgo)
89     is static;          
90     
91     AddCommonEdges(me : in out; 
92                    SetOfFaces : ListOfShape from TopTools)
93     is static;             
94     
95     SetDone(me : in out; F1,F2 : Face from TopoDS)
96     is static;
97     
98    ---Category: Querying
99
100     IsDone(me ; F1,F2 : Face from TopoDS) 
101     returns Boolean from Standard
102     is static;
103     
104     TouchedFaces(me : in out) returns IndexedMapOfShape from TopTools
105         ---C++: return &
106     is static;
107     
108     AsDes(me) returns AsDes from BRepAlgo
109     is static;
110     
111     NewEdges(me : in out) returns IndexedMapOfShape from TopTools
112         ---C++:  return &
113     is static;
114     
115     ---Category: Private
116
117     Store(me : in out;F1,F2       : Face        from TopoDS;
118                       LInt1,LInt2 : ListOfShape from TopTools)
119     is static private;    
120     
121 fields
122
123    myAsDes        : AsDes                     from BRepAlgo;
124    myTouched      : IndexedMapOfShape         from TopTools;
125    myDone         : DataMapOfShapeListOfShape from TopTools;
126    myNewEdges     : IndexedMapOfShape         from TopTools;
127    mySide         : State                     from TopAbs;
128    myTol          : Real                      from Standard;
129    
130 end Inter3d;