0023604: Uninitialized variables in debug mode
[occt.git] / src / Bisector / Bisector_BisecPC.cdl
CommitLineData
b311480e 1-- Created on: 1994-01-10
2-- Created by: Yves FRICAUD
3-- Copyright (c) 1994-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 BisecPC from Bisector
24
25inherits
26
27 Curve from Bisector
28 ---Purpose: Provides the bisector between a point and a curve.
29 -- the curvature on the curve has to be monoton.
30 -- the point can't be on the curve exept at the extremitys.
31 --
32
33uses
34 Shape from GeomAbs,
35 CurveType from GeomAbs,
36 Curve from Geom2d,
37 Geometry from Geom2d,
38 Pnt2d from gp,
39 Vec2d from gp,
40 SequenceOfReal from TColStd,
41 Trsf2d from gp
42
43
44raises DomainError from Standard,
45 RangeError from Standard
46is
47
48 Create returns mutable BisecPC;
49
50 Create (Cu : Curve from Geom2d;
51 P : Pnt2d from gp ;
52 Side : Real ;
53 DistMax : Real = 500 )
54
55 ---Purpose: Constructs the bisector between the point <P> and
56 -- the curve <Cu>.
57 -- <Side> = 1. if the bisector curve is on the Left of <Cu>
58 -- else <Side> = -1.
59 -- <DistMax> is used to trim the bisector.The distance
60 -- between the points of the bisector and <Cu> is smaller
61 -- than <DistMax>.
62 --
63 returns mutable BisecPC from Bisector;
64
65 Create (Cu : Curve from Geom2d;
66 P : Pnt2d from gp ;
67 Side : Real ;
68 UMin : Real ;
69 UMax : Real )
70
71 ---Purpose: Constructs the bisector between the point <P> and
72 -- the curve <Cu> Trimmed by <UMin> and <UMax>
73 -- <Side> = 1. if the bisector curve is on the Left of <Cu>
74 -- else <Side> = -1.
75 -- Warning: the bisector is supposed all over defined between
76 -- <UMin> and <UMax>.
77
78 returns mutable BisecPC from Bisector;
79
80 Perform (me : mutable ;
81 Cu : Curve from Geom2d;
82 P : Pnt2d from gp ;
83 Side : Real ;
84 DistMax : Real = 500 )
85
86 ---Purpose: Construct the bisector between the point <P> and
87 -- the curve <Cu>.
88 -- <Side> = 1. if the bisector curve is on the Left of <Cu>
89 -- else <Side> = -1.
90 -- <DistMax> is used to trim the bisector.The distance
91 -- between the points of the bisector and <Cu> is smaller
92 -- than <DistMax>.
93
94 is static;
95
96
97
98 IsExtendAtStart (me) returns Boolean from Standard
99 ---Purpose: Returns True if the bisector is extended at start.
100 is static;
101
102 IsExtendAtEnd (me) returns Boolean from Standard
103 ---Purpose: Returns True if the bisector is extended at end.
104 is static;
105
106 Reverse (me : mutable)
107 --- Purpose :
108 -- Changes the direction of parametrization of <me>.
109 -- The orientation of the curve is modified. If the curve
110 -- is bounded the StartPoint of the initial curve becomes the
111 -- EndPoint of the reversed curve and the EndPoint of the initial
112 -- curve becomes the StartPoint of the reversed curve.
113 is static;
114
115 ReversedParameter(me; U : Real) returns Real
116 ---Purpose: Returns the parameter on the reversed curve for
117 -- the point of parameter U on <me>.
118 is static;
119
120 Copy (me) returns mutable like me
121 is static;
122
123 Transform (me : mutable; T : Trsf2d)
124 --- Purpose :
125 -- Transformation of a geometric object. This tansformation
126 -- can be a translation, a rotation, a symmetry, a scaling
127 -- or a complex transformation obtained by combination of
128 -- the previous elementaries transformations.
129 is static;
130
131 IsCN (me; N : Integer) returns Boolean
132 --- Purpose : Returns the order of continuity of the curve.
133 raises RangeError
134 --- Purpose : Raised if N < 0.
135 is static;
136
137 FirstParameter(me) returns Real
138 --- Purpose : Value of the first parameter.
139 is static;
140
141 LastParameter(me) returns Real
142 --- Purpose : Value of the last parameter.
143 is static;
144
145 Continuity(me) returns Shape from GeomAbs
146 is static;
147
148 NbIntervals(me ) returns Integer
149 ---Purpose: If necessary, breaks the curve in intervals of
150 -- continuity <C1>. And returns the number of
151 -- intervals.
152 is static;
153
154 IntervalFirst(me ; Index : Integer from Standard ) returns Real
155 ---Purpose: Returns the first parameter of the current
156 -- interval.
157 is static;
158
159 IntervalLast (me ; Index : Integer from Standard ) returns Real
160 ---Purpose: Returns the last parameter of the current
161 -- interval.
162 is static;
163
164 IntervalContinuity(me) returns Shape from GeomAbs
165 is static;
166
167 IsClosed(me) returns Boolean
168 is static;
169
170 IsPeriodic(me) returns Boolean
171 is static;
172
173 Values (me ;
174 U : Real ;
175 N : Integer ;
176 P : in out Pnt2d ;
177 V1 : in out Vec2d ;
178 V2 : in out Vec2d ;
179 V3 : in out Vec2d )
180 is static private;
181
182 Distance (me; U : Real) returns Real
183 ---Purpose: Returns the distance between the point of
184 -- parameter U on <me> and my point or my curve.
185 is static;
186
187 D0 (me; U : Real; P : out Pnt2d)
188 is static;
189
190 D1 (me; U : Real; P : out Pnt2d from gp ; V : out Vec2d from gp)
191 is static ;
192
193 D2 (me; U : Real; P : out Pnt2d from gp; V1, V2 : out Vec2d from gp)
194 is static;
195
196 D3 (me; U : Real; P : out Pnt2d from gp; V1, V2, V3 : out Vec2d from gp)
197 is static;
198
199 DN (me; U : Real; N : Integer)
200 returns Vec2d from gp
201 is static;
202
203 Dump (me; Deep : Integer = 0; Offset : Integer = 0) is static;
204
205 LinkBisCurve (me ; U : Real) returns Real from Standard
206 ---Purpose: Returns the parameter on the curve1 of the projection
207 -- of the point of parameter U on <me>.
208 is static;
209
210 LinkCurveBis (me ; U : Real) returns Real from Standard
211 ---Purpose: Returns the reciproque of LinkBisCurve.
212 is static;
213
214 Extension (me ;
215 U : Real ;
216 P : in out Pnt2d ;
217 V1 : in out Vec2d ;
218 V2 : in out Vec2d ;
219 V3 : in out Vec2d )
220 is static private;
221
222 Parameter ( me ; P : Pnt2d from gp) returns Real
223 ---Purpose: Returns the parameter on <me> corresponding to <P>.
224 is static;
225
226 IsEmpty (me) returns Boolean from Standard
227 ---Purpose: Returns <True> if the bisector is empty.
228 is static;
229
230 ComputeIntervals (me : mutable)
231 ---Purpose: Computes the interval where the bisector is defined.
232 is static private;
233
234 CuspFilter (me : mutable)
235 is static private;
236
237 SearchBound( me ; U1,U2 : Real) returns Real
238 is static private;
239
240 Init (me : mutable;
241 Curve : Curve from Geom2d;
242 Point : Pnt2d from gp;
243 Sign : Real from Standard;
244 StartIntervals : SequenceOfReal from TColStd;
245 EndIntervals : SequenceOfReal from TColStd;
246 BisInterval : Integer from Standard;
247 CurrentInterval: Integer from Standard;
248 ShiftParameter : Real from Standard;
249 DistMax : Real from Standard;
250 IsEmpty : Boolean from Standard;
251 IsConvex : Boolean from Standard;
252 ExtensionStart : Boolean from Standard;
253 ExtensionEnd : Boolean from Standard;
254 PointStartBis : Pnt2d from gp;
255 PointEndBis : Pnt2d from gp)
256 is static private;
257
258fields
259
260 curve : Curve from Geom2d;
261 point : Pnt2d from gp;
262 sign : Real from Standard;
263 startIntervals : SequenceOfReal from TColStd;
264 endIntervals : SequenceOfReal from TColStd;
265 bisInterval : Integer from Standard;
266 currentInterval: Integer from Standard;
267 shiftParameter : Real from Standard;
268 distMax : Real from Standard;
269 isEmpty : Boolean from Standard;
270 isConvex : Boolean from Standard;
271 extensionStart : Boolean from Standard;
272 extensionEnd : Boolean from Standard;
273 pointStartBis : Pnt2d from gp;
274 pointEndBis : Pnt2d from gp;
275
276end BisecPC;