0024171: Eliminate CLang compiler warning -Wreorder
[occt.git] / src / IntPatch / IntPatch_ALine.cdl
CommitLineData
b311480e 1-- Created on: 1992-04-06
2-- Created by: Jacques GOUSSARD
3-- Copyright (c) 1992-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 ALine from IntPatch
24
25
26inherits Line from IntPatch
27
28
29 ---Purpose: Implementation of an intersection line described by a
30 -- parametrised curve.
31
32
33uses
34 Point from IntPatch,
35 SequenceOfPoint from IntPatch,
36 TypeTrans from IntSurf,
37 Situation from IntSurf,
38 Pnt from gp,
39 Vec from gp,
40 Curve from IntAna
41
42raises DomainError from Standard,
43 OutOfRange from Standard
44
45is
46
47
48 Create(C: Curve from IntAna; Tang: Boolean from Standard;
49 Trans1,Trans2: TypeTrans from IntSurf)
50
51 ---Purpose: Creates an analytic intersection line
52 -- when the transitions are In or Out.
53
54 returns mutable ALine from IntPatch;
55
56
57 Create(C: Curve from IntAna; Tang: Boolean from Standard;
58 Situ1,Situ2: Situation from IntSurf)
59
60 ---Purpose: Creates an analytic intersection line
61 -- when the transitions are Touch.
62
63 returns mutable ALine from IntPatch;
64
65
66 Create(C: Curve from IntAna; Tang: Boolean from Standard)
67
68 ---Purpose: Creates an analytic intersection line
69 -- when the transitions are Undecided.
70
71 returns mutable ALine from IntPatch;
72
73
74 AddVertex(me: mutable; Pnt: Point from IntPatch)
75
76 ---Purpose: To add a vertex in the list.
77
78 is static;
79
80
81 Replace(me: mutable; Index: Integer from Standard; Pnt: Point from IntPatch)
82
83 ---Purpose: Replaces the element of range Index in the list
84 -- of points.
85
86 ---C++: inline
87
88 raises OutOfRange from Standard
89 --- The exception OutOfRange is raised when Index <= 0
90 -- or Index > NbVertex.
91
92 is static;
93
94
95 SetFirstPoint(me: mutable; IndFirst: Integer from Standard) is static;
96
97 ---C++: inline
98
99
100 SetLastPoint(me: mutable; IndLast: Integer from Standard) is static;
101
102 ---C++: inline
103
104
105 FirstParameter(me; IsIncluded: in out Boolean from Standard)
106
107 ---Purpose: Returns the first parameter on the intersection line.
108 -- If IsIncluded returns True, Value and D1 methods can
109 -- be call with a parameter equal to FirstParamater.
110 -- Otherwise, the parameter must be greater than
111 -- FirstParameter.
112
113 returns Real from Standard
114 ---C++: inline
115
116 is static;
117
118
119 LastParameter(me; IsIncluded: in out Boolean from Standard)
120
121 ---Purpose: Returns the last parameter on the intersection line.
122 -- If IsIncluded returns True, Value and D1 methods can
123 -- be call with a parameter equal to LastParamater.
124 -- Otherwise, the parameter must be less than LastParameter.
125
126 returns Real from Standard
127 ---C++: inline
128
129 is static;
130
131
132 Value(me: mutable; U: Real from Standard)
133
134 ---Purpose: Returns the point of parameter U on the analytic
135 -- intersection line.
136
137 returns Pnt from gp
138 ---C++: inline
139
140 raises DomainError from Standard
141 -- The exception DomainError is raised when U is outside the bounds
142 -- FirstParameter,LastParameter.
143
144 is static;
145
146
147 D1(me: mutable; U: Real from Standard;
148 P: out Pnt from gp; Du: out Vec from gp)
149
150 ---Purpose: Returns Standard_True when the derivative at parameter U
151 -- is defined on the analytic intersection line.
152 -- In that case, Du is the derivative.
153 -- Returns Standard_False when it is not possible to
154 -- evaluate the derivative.
155 -- In both cases, P is the point at parameter U on the
156 -- intersection.
157
158 returns Boolean from Standard
159 ---C++: inline
160
161 raises DomainError from Standard
162 -- The exception DomainError is raised when U is outside the bounds
163 -- FirstParameter,LastParameter.
164
165 is static;
166
167
168 FindParameter(me; P: Pnt from gp; Para: out Real from Standard)
169
170 ---Purpose: Tries to find the parameter of the point P on the curve.
171 -- If the method returns False, the "projection" is
172 -- impossible, and the value of Para is not significant.
173 -- If the method returns True, Para is the parameter of the
174 -- nearest intersection between the curve and the iso-theta
175 -- containing P.
176
177 returns Boolean from Standard
178 ---C++: inline
179
180 is static;
181
182
183 HasFirstPoint(me)
184
185 ---Purpose: Returns True if the line has a known First point.
186 -- This point is given by the method FirstPoint().
187
188 returns Boolean from Standard
189 ---C++: inline
190
191 is static;
192
193
194 HasLastPoint(me)
195
196 ---Purpose: Returns True if the line has a known Last point.
197 -- This point is given by the method LastPoint().
198
199 returns Boolean from Standard
200 ---C++: inline
201
202 is static;
203
204
205 FirstPoint(me)
206
207 ---Purpose: Returns the IntPoint corresponding to the FirstPoint.
208 -- An exception is raised when HasFirstPoint returns False.
209
210 returns Point from IntPatch
211 ---C++: inline
212 ---C++: return const&
213
214 raises DomainError from Standard
215
216 is static;
217
218
219 LastPoint(me)
220
221 ---Purpose: Returns the IntPoint corresponding to the LastPoint.
222 -- An exception is raised when HasLastPoint returns False.
223
224 returns Point from IntPatch
225 ---C++: inline
226 ---C++: return const&
227
228 raises DomainError from Standard
229
230 is static;
231
232
233 NbVertex(me)
234
235 returns Integer from Standard
236 ---C++: inline
237
238 is static;
239
240
241 Vertex(me; Index: Integer from Standard)
242
243 ---Purpose: Returns the vertex of range Index on the line.
244
245 returns Point from IntPatch
246 ---C++: inline
247 ---C++: return const&
248
249 raises OutOfRange from Standard
250 --- The exception OutOfRange is raised if Index <= 0 or
251 -- Index > NbVertex.
252
253 is static;
254
255 ComputeVertexParameters(me: mutable; Tol: Real from Standard)
256
257 ---Purpose: Set the parameters of all the vertex on the line.
258 -- if a vertex is already in the line,
259 -- its parameter is modified
260 -- else a new point in the line is inserted.
261 is static;
262
263
264 Curve(me)
265
266 returns Curve from IntAna
267 ---C++: return const&
268 is static;
269
270fields
271
272 curv : Curve from IntAna;
273 fipt : Boolean from Standard;
274 lapt : Boolean from Standard;
275 indf : Integer from Standard;
276 indl : Integer from Standard;
277 svtx : SequenceOfPoint from IntPatch;
278
279end ALine;