Integration of OCCT 6.5.0 from SVN
[occt.git] / src / IntImp / IntImp_Int2S.cdl
CommitLineData
7fd59977 1-- File: Int2S.cdl
2-- Created: Tue Apr 30 17:09:26 1991
3-- Author: Isabelle GRIGNON
4-- <isg@topsn3>
5---Copyright: Matra Datavision 1991, 1992
6
7
8generic class Int2S from IntImp
9 (ThePSurface as any;
10 ThePSurfaceTool as any) -- as PSurfaceTool from IntImp (ThePSurface)
11
12
13 ---Purpose: Determination of the intersection between 2 surfaces
14 -- from an point close to the solution.
15
16
17uses Array1OfReal from TColStd,
18 ConstIsoparametric from IntImp,
19 PntOn2S from IntSurf,
20 Dir from gp,
21 Dir2d from gp,
22 FunctionSetRoot from math
23
24raises NotDone from StdFail,
25 DomainError from Standard,
26 ConstructionError from Standard,
27 UndefinedDerivative from StdFail
28
29
30 class TheFunction instantiates ZerParFunc from IntImp
31 (ThePSurface, ThePSurfaceTool);
32
33
34is
35
36 Create
37 ---Purpose: Raises Construction Error
38
39 returns Int2S from IntImp;
40
41 Create( Param: Array1OfReal from TColStd;
42 S1,S2: ThePSurface;
43 TolTangency: Real)
44
45 ---Purpose: compute the solution point with the close point
46
47 returns Int2S from IntImp;
48
49
50 Create( S1,S2: ThePSurface;
51 TolTangency: Real from Standard)
52
53 ---Purpose: initialize the parameters to compute the solution point
54 -- it 's possible to write to optimize:
55 -- IntImp_Int2S inter(S1,S2,Func,TolTangency);
56 -- math_FunctionSetRoot rsnld(inter.Function());
57 -- while ...{
58 -- Param(1)=...
59 -- Param(2)=...
60 -- param(3)=...
61 -- inter.Perform(Param,rsnld);
62 -- }
63
64 returns Int2S from IntImp;
65
66
67 Perform(me : in out; Param : Array1OfReal from TColStd;
68 Rsnld : in out FunctionSetRoot from math)
69
70 ---Purpose: returns the best constant isoparametric to find
71 -- the next intersection's point +stores the solution
72 -- point (the solution point is found with the close point
73 -- to intersect the isoparametric with the other patch;
74 -- the choice of the isoparametic is calculated)
75
76 returns ConstIsoparametric from IntImp
77
78 is static;
79
80
81 Perform(me : in out;
82 Param : Array1OfReal from TColStd;
83 Rsnld : in out FunctionSetRoot from math;
84 ChoixIso : ConstIsoparametric from IntImp)
85
86 ---Purpose: returns the best constant isoparametric to find
87 -- the next intersection's point +stores the solution
88 -- point (the solution point is found with the close point
89 -- to intersect the isoparametric with the other patch;
90 -- the choice of the isoparametic is given by ChoixIso)
91
92 returns ConstIsoparametric from IntImp
93
94 is static;
95
96
97 IsDone(me)
98
99 ---Purpose: Returns TRUE if the creation completed without failure.
100
101 returns Boolean from Standard
102 ---C++: inline
103
104 is static;
105
106
107 IsEmpty(me)
108
109 ---Purpose: Returns TRUE when there is no solution to the problem.
110
111 returns Boolean from Standard
112 ---C++: inline
113
114 raises NotDone from StdFail
115 is static;
116
117
118 Point(me)
119
120 ---Purpose: Returns the intersection point.
121
122 returns PntOn2S from IntSurf
123 ---C++: return const&
124 ---C++: inline
125
126 raises NotDone from StdFail,
127 DomainError from Standard
128 -- The exception NotDone is raised if IsDone is false.
129 -- The exception DomainError is raised if IsEmpty is true.
130
131 is static;
132
133
134 IsTangent(me)
135
136 ---Purpose: Returns True if the surfaces are tangent at the
137 -- intersection point.
138
139 returns Boolean from Standard
140 ---C++: inline
141
142 raises NotDone from StdFail,
143 DomainError from Standard
144 -- The exception NotDone is raised if IsDone is false.
145 -- The exception DomainError is raised if IsEmpty is true.
146
147 is static;
148
149
150 Direction(me)
151
152 ---Purpose: Returns the tangent at the intersection line.
153
154 returns Dir from gp
155 ---C++: return const&
156 ---C++: inline
157
158 raises NotDone from StdFail,
159 DomainError from Standard,
160 UndefinedDerivative from StdFail
161 -- The exception NotDone is raised if IsDone is false.
162 -- The exception DomainError is raised if IsEmpty is true.
163 -- The exception UndefinedDerivative is raised if IsTangent
164 -- returns True.
165
166 is static;
167
168
169 DirectionOnS1(me)
170
171 ---Purpose: Returns the tangent at the intersection line in the
172 -- parametric space of the first surface.
173
174 returns Dir2d from gp
175 ---C++: return const&
176 ---C++: inline
177
178 raises NotDone from StdFail,
179 DomainError from Standard,
180 UndefinedDerivative from StdFail
181 -- The exception NotDone is raised if IsDone is false.
182 -- The exception DomainError is raised if IsEmpty is true.
183 -- The exception UndefinedDerivative is raised if IsTangent
184 -- returns True.
185
186 is static;
187
188
189 DirectionOnS2(me)
190
191 ---Purpose: Returns the tangent at the intersection line in the
192 -- parametric space of the second surface.
193
194 returns Dir2d from gp
195 ---C++: return const&
196 ---C++: inline
197
198 raises NotDone from StdFail,
199 DomainError from Standard,
200 UndefinedDerivative from StdFail
201 -- The exception NotDone is raised if IsDone is false.
202 -- The exception DomainError is raised if IsEmpty is true.
203 -- The exception UndefinedDerivative is raised if IsTangent
204 -- returns True.
205
206 is static;
207
208
209 Function(me: in out)
210 ---Purpose: return the math function which
211 -- is used to compute the intersection
212
213 returns TheFunction
214 ---C++: return &
215 ---C++: inline
216
217 is static;
218
219
220fields
221
222 done : Boolean from Standard;
223 empty : Boolean from Standard;
224 pint : PntOn2S from IntSurf;
225 tangent : Boolean from Standard;
226 d3d : Dir from gp;
227 d2d1 : Dir2d from gp;
228 d2d2 : Dir2d from gp;
229 myZerParFunc : TheFunction;
230 tol : Real from Standard;
231
232 ua0,va0,ua1,va1 : Real from Standard; -- surf1
233 ub0,vb0,ub1,vb1 : Real from Standard; -- surf2
234 ures1,ures2,vres1,vres2 : Real from Standard; -- U et V Resolution
235
236end Int2S;