0024157: Parallelization of assembly part of BO
[occt.git] / src / BRepOffset / BRepOffset_Tool.cdl
CommitLineData
b311480e 1-- Created on: 1995-10-23
2-- Created by: Yves FRICAUD
3-- Copyright (c) 1995-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
7fd59977 21
22
23class Tool from BRepOffset
24
25 ---Purpose:
26
27uses
28 Edge from TopoDS,
29 Face from TopoDS,
30 Wire from TopoDS,
31 Shape from TopoDS,
32 Orientation from TopAbs,
33 MapOfShape from TopTools,
975ec82a 34 IndexedMapOfShape from TopTools,
7fd59977 35 DataMapOfShapeShape from TopTools,
36 DataMapOfShapeListOfShape from TopTools,
37 ListOfShape from TopTools,
38 Vertex from TopoDS,
39 State from TopAbs,
40 Image from BRepAlgo,
41 AsDes from BRepAlgo,
42 Analyse from BRepOffset,
43 Curve from Geom
44
45is
46 EdgeVertices (myclass; E : Edge from TopoDS;
47 V1 : in out Vertex from TopoDS;
48 V2 : in out Vertex from TopoDS);
49 ---Purpose: <V1> is the FirstVertex ,<V2> is the Last Vertex of <Edge>
50 -- taking account the orientation of Edge.
51
52 OriEdgeInFace (myclass; E : Edge from TopoDS;
53 F : Face from TopoDS)
54 ---Purpose: returns the cumul of the orientation of <Edge>
55 -- and thc containing wire in <Face>
56 returns Orientation from TopAbs;
57
58
59
60 OrientSection (myclass; E : Edge from TopoDS;
61 F1,F2 : Face from TopoDS;
62 O1,O2 : in out Orientation from TopAbs);
63 ---Purpose: <E> is a section between <F1> and <F2>. Computes
64 -- <O1> the orientation of <E> in <F1> influenced by <F2>.
65 -- idem for <O2>.
66
67 HasCommonShapes (myclass; F1,F2 : Face from TopoDS;
68 LE : in out ListOfShape from TopTools;
69 LV : in out ListOfShape from TopTools)
70 ---Purpose: Returns True if <F1> and <F2> has common Vertices
71 -- or edges , <LE> contains the common edges. <LV> the
72 -- common vertices.
73 returns Boolean from Standard;
74
75 Inter3D (myclass; F1, F2 : Face from TopoDS;
76 LInt1 : in out ListOfShape from TopTools;
77 LInt2 : in out ListOfShape from TopTools;
78 Side : State from TopAbs;
79 RefEdge : Edge from TopoDS;
80 IsRefEdgeDefined : Boolean from Standard = Standard_False);
81
82 ---Purpose: Computes the Section betwwen <F1> and <F2> the
83 -- edges solution are stored in <LInt1> with the
84 -- orientation on <F1>, the sames edges are stored in
85 -- <Lint2> with the orientation on <F2>.
86
87 TryProject (myclass; F1, F2 : Face from TopoDS;
88 Edges : ListOfShape from TopTools;
89 LInt1 : in out ListOfShape from TopTools;
90 LInt2 : in out ListOfShape from TopTools;
91 Side : State from TopAbs;
92 TolConf: Real from Standard)
93
94 ---Purpose: Find if the edges <Edges> of the face <F2> are on
95 -- the face <F1>.
96 -- Set in <LInt1> <LInt2> the updated edges.
97 -- If all the edges are computed, returns true.
98 --
99 returns Boolean from Standard;
100
101 PipeInter (myclass; F1, F2 : Face from TopoDS;
102 LInt1 : in out ListOfShape from TopTools;
103 LInt2 : in out ListOfShape from TopTools;
104 Side : State from TopAbs);
105
106 Inter2d (myclass; F : Face from TopoDS;
107 E1,E2 : Edge from TopoDS;
108 LV : in out ListOfShape from TopTools;
109 Tol : Real from Standard);
110
111 InterOrExtent (myclass; F1, F2 : Face from TopoDS;
112 LInt1 : in out ListOfShape from TopTools;
113 LInt2 : in out ListOfShape from TopTools;
114 Side : State from TopAbs);
115
116 CheckBounds(myclass; F : Face from TopoDS;
117 Analyse : Analyse from BRepOffset;
118 enlargeU, enlargeVfirst, enlargeVlast : out Boolean from Standard);
119
120 EnLargeFace(myclass; F : Face from TopoDS;
121 NF : in out Face from TopoDS;
122 ChangeGeom : Boolean from Standard;
123 UpDatePCurve : Boolean from Standard = Standard_False;
124 enlargeU : Boolean from Standard = Standard_True;
125 enlargeVfirst : Boolean from Standard = Standard_True;
126 enlargeVlast : Boolean from Standard = Standard_True)
127 ---Purpose: if <ChangeGeom> is TRUE , the surface can be
128 -- changed .
129 -- if <UpdatePCurve> is TRUE, update the pcurves of the
130 -- edges of <F> on the new surface.if the surface has been changed,
131 -- Returns True if The Surface of <NF> has changed.
132 --
133 returns Boolean from Standard;
134
135 ExtentFace (myclass;
136 F : Face from TopoDS;
137 ConstShapes : in out DataMapOfShapeShape from TopTools;
138 ToBuild : in out DataMapOfShapeShape from TopTools;
139 Side : State from TopAbs ;
140 TolConf : Real from Standard;
141 NF : in out Face from TopoDS);
142
143
144 BuildNeighbour (myclass;
145 W : Wire from TopoDS;
146 F : Face from TopoDS;
147 NOnV1 : in out DataMapOfShapeShape from TopTools;
148 NOnV2 : in out DataMapOfShapeShape from TopTools);
149 ---Purpose: Via the wire explorer store in <NOnV1> for
150 -- an Edge <E> of <W> his Edge neighbour on the first
151 -- vertex <V1> of <E>.
152 -- Store in NOnV2 the Neighbour of <E>on the last
153 -- vertex <V2> of <E>.
154
155 MapVertexEdges (myclass;
156 S : Shape from TopoDS;
157 MVE : in out DataMapOfShapeListOfShape from TopTools);
158 ---Purpose: Store in MVE for a vertex <V> in <S> the incident
159 -- edges <E> in <S>.
160 -- An Edge is Store only one Time for a vertex.
161
162
163
164 Deboucle3D (myclass;
165 S : in Shape from TopoDS;
166 Boundary : in MapOfShape from TopTools)
167 ---Purpose: Remove the non valid part of an offsetshape
168 -- 1 - Remove all the free boundary and the faces
169 -- connex to such edges.
170 -- 2 - Remove all the shapes not valid in the result
171 -- (according to the side of offseting)
172 -- in this verion only the first point is implemented.
173 returns Shape from TopoDS;
174
175 CorrectOrientation (myclass ;
176 SI : in Shape from TopoDS;
975ec82a 177 NewEdges : in IndexedMapOfShape from TopTools;
7fd59977 178 AsDes : in out AsDes from BRepAlgo;
179 InitOffset : in out Image from BRepAlgo;
180 Offset : in Real from Standard);
181
182 Gabarit(myclass ;
183 aCurve : Curve from Geom)
184 returns Real from Standard;
185
186end Tool;