0024157: Parallelization of assembly part of BO
[occt.git] / src / TopOpeBRep / TopOpeBRep_VPointInter.cdl
1 -- Created on: 1993-11-10
2 -- Created by: Jean Yves LEBEY
3 -- Copyright (c) 1993-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 class VPointInter from TopOpeBRep 
23
24 uses
25
26     State from TopAbs,
27     Point from IntPatch,
28     PThePointOfIntersection from TopOpeBRep,
29     Transition from IntSurf,
30     Shape from TopoDS,
31     Edge from TopoDS,
32     Face from TopoDS,
33     Pnt from gp,
34     Pnt2d from gp
35
36 raises 
37
38     DomainError from Standard
39
40 is
41
42     Create returns VPointInter from TopOpeBRep;
43     ---C++: inline
44
45     SetPoint(me : in out; P : Point from IntPatch)
46     is static;
47
48     SetShapes(me:out;I1,I2:Integer);
49     ---C++: inline
50
51     GetShapes(me;I1,I2:out Integer);
52     ---C++: inline
53
54     TransitionOnS1(me)
55     returns Transition from IntSurf
56     ---C++: inline
57     is static;
58
59     TransitionOnS2(me) 
60     returns Transition from IntSurf
61     ---C++: inline
62     is static;
63
64     TransitionLineArc1(me)
65     returns Transition from IntSurf
66     ---C++: inline
67     is static;
68
69     TransitionLineArc2(me)
70     returns Transition from IntSurf
71     ---C++: inline
72     is static;
73
74     IsOnDomS1(me)
75     returns Boolean from Standard
76     ---C++: inline
77     is static;
78
79     IsOnDomS2(me)
80     returns Boolean from Standard
81     ---C++: inline
82     is static;
83     
84     ParametersOnS1(me; u,v : out Real from Standard)
85     ---C++: inline
86     is static;
87
88     ParametersOnS2(me; u,v : out Real from Standard)
89     ---C++: inline
90     is static;
91
92     Value(me)
93     returns Pnt from gp
94     ---C++: return const &
95     ---C++: inline
96     is static;
97
98     Tolerance(me)
99     returns Real from Standard
100     ---C++: inline
101     is static;
102
103     ArcOnS1(me)
104     returns Shape from TopoDS
105     ---C++: return const &
106     is static;
107
108     ArcOnS2(me)
109     returns Shape from TopoDS
110     ---C++: return const &
111     is static;
112
113     ParameterOnLine(me)
114     returns Real from Standard
115     ---C++: inline
116     is static;
117
118     ParameterOnArc1(me)
119     returns Real from Standard
120     ---C++: inline
121     is static;
122
123     IsVertexOnS1(me)
124     ---Purpose: Returns TRUE if the point is a vertex on the initial
125     --          restriction facet of the first surface.
126     returns Boolean from Standard
127     ---C++: inline
128     is static;
129
130     VertexOnS1(me)
131     ---Purpose: Returns the information about the point when it is
132     --          on the domain of the first patch, i-e when the function
133     --          IsVertexOnS1 returns True.
134     --          Otherwise, an exception is raised.
135     ---C++: return const&
136     returns Shape from TopoDS
137     raises DomainError from Standard
138     is static;
139
140     ParameterOnArc2(me)
141     returns Real from Standard
142     ---C++: inline
143     is static;
144
145     IsVertexOnS2(me)
146     ---Purpose: Returns TRUE if the point is a vertex on the initial
147     --          restriction facet of the second surface.
148     returns Boolean from Standard
149     ---C++: inline
150     is static;
151
152     VertexOnS2(me)
153     ---Purpose: Returns the information about the point when it is
154     --          on the domain of the second patch, i-e when the function
155     --          IsVertexOnS2 returns True.
156     --          Otherwise, an exception is raised.
157     ---C++: return const&
158     returns Shape from TopoDS
159     raises DomainError from Standard
160     is static;
161
162     IsInternal(me)
163     returns Boolean from Standard
164     ---C++: inline
165     is static;
166     -- dummy method
167
168     IsMultiple(me)
169     ---Purpose: Returns True if the point belongs to several intersection
170     --          lines.
171     returns Boolean from Standard
172     ---C++: inline
173     is static;
174
175     State(me; I : Integer from Standard)
176     ---Purpose: get state of VPoint within the domain of geometric shape 
177     --          domain <I> (= 1 or 2).
178     returns State from TopAbs
179     is static;
180
181     State(me : in out; S : State from TopAbs; I : Integer from Standard) 
182     ---Purpose: Set the state of VPoint within the  domain of
183     --          the geometric shape <I> (= 1 or 2).
184     is static;
185     
186     EdgeON(me : in out; Eon : Shape from TopoDS;
187                         Par : Real from Standard;
188                         I : Integer from Standard)
189     ---Purpose: set the shape Eon of shape I (1,2) containing the point,
190     --          and parameter <Par> of point on <Eon>.
191     is static;
192
193     EdgeON(me; I : Integer from Standard)
194     ---Purpose: get the edge of shape I (1,2) containing the point.
195     ---C++: return const &
196     returns Shape from TopoDS
197     is static;
198
199     EdgeONParameter(me; I : Integer from Standard) 
200     ---Purpose: get the parameter on edge of shape I (1,2) containing the point.
201     returns Real from Standard
202     is static;
203     
204     ShapeIndex(me)
205     ---Purpose: returns value of filed myShapeIndex = 0,1,2,3
206     --          0 means the VPoint is on no restriction
207     --          1 means the VPoint is on the restriction 1
208     --          2 means the VPoint is on the restriction 2
209     --          3 means the VPoint is on the restrictions 1 and 2
210     returns Integer from Standard
211     ---C++: inline
212     is static;
213
214     ShapeIndex(me : in out; I : Integer from Standard) 
215     ---Purpose: set value of shape supporting me (0,1,2,3).
216     ---C++: inline
217     is static;
218
219     Edge(me; I : Integer from Standard)
220     ---Purpose: get the edge of shape I (1,2) containing the point.
221     --          Returned shape is null if the VPoint is not on an edge
222     --          of shape I (1,2).
223     ---C++: return const &
224     returns Shape from TopoDS
225     is static;
226
227     EdgeParameter(me; I : Integer from Standard) 
228     ---Purpose: get the parameter on edge of shape I (1,2) containing the point
229     returns Real from Standard
230     is static;
231
232     SurfaceParameters(me; I : Integer from Standard) returns Pnt2d from gp;
233     ---Purpose: get the parameter on surface of shape I (1,2) containing the point 
234
235     IsVertex(me; I : Integer from Standard)
236     returns Boolean from Standard
237     is static;
238
239     Vertex(me; I : Integer from Standard)
240     ---C++: return const &
241     returns Shape from TopoDS
242     is static;
243
244     UpdateKeep(me : in out)
245     ---Purpose: set myKeep value according to current states.
246     is static;
247
248     Keep(me) returns Boolean from Standard
249     ---Purpose: 
250     -- Returns value of myKeep (does not evaluate states)
251     -- False at creation of VPoint.
252     -- Updated by State(State from TopAbs,Integer from Standard)
253     ---C++: inline
254     is static;
255
256
257     ChangeKeep(me : in out;
258                keep : Boolean from Standard )
259     ---Purpose: updates VPointInter flag "keep" with <keep>.
260     ---C++: inline
261     is static;
262
263     -- other
264     -- 
265     
266     EqualpP(me; VP : VPointInter from TopOpeBRep)
267     returns Boolean;
268     ---Purpose: returns <True> if the 3d points and the parameters of the
269     --          VPoints are same            
270     
271     ParonE(me; E : Edge from TopoDS; par : out Real)
272     returns Boolean;
273     ---Purpose: returns <false> if the vpoint is not given on arc <E>,
274     --          else returns <par> parameter on <E> 
275
276     -- =====
277     -- trace
278     -- =====
279
280     Index(me : in out; I : Integer from Standard) is static;
281     ---C++: inline
282
283     Index(me) returns Integer from Standard is static;
284     ---C++: inline
285
286     Dump(me; I : Integer from Standard;
287              F : Face from TopoDS;
288              OS : in out OStream from Standard) 
289     returns OStream from Standard is static;
290     ---C++: return &
291
292     Dump(me; F1 : Face from TopoDS;
293              F2 : Face from TopoDS;
294              OS : in out OStream from Standard) 
295     returns OStream from Standard is static;
296     ---C++: return &
297     
298     PThePointOfIntersectionDummy(me) returns PThePointOfIntersection from TopOpeBRep;
299     
300 fields
301
302     myPPOI : PThePointOfIntersection from TopOpeBRep;
303     myShapeIndex : Integer from Standard;
304     myState1 : State from TopAbs;           
305     myState2 : State from TopAbs;
306     myKeep : Boolean from Standard;
307     myEdgeON1 : Shape from TopoDS;
308     myEdgeON2 : Shape from TopoDS;
309     myEdgeONPar1 : Real from Standard;
310     myEdgeONPar2 : Real from Standard;
311     myIndex : Integer from Standard; -- trace
312     myNullShape : Shape from TopoDS; -- dummy
313     myS1,myS2 : Integer;
314     
315 end VPointInter;