0024096: Eliminate compiler warning C4505 in MSVC++ with warning level 4
[occt.git] / src / Bisector / Bisector_BisecPC.cdl
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
21
22
23 class BisecPC from Bisector 
24
25 inherits
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
33 uses
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         
44 raises DomainError    from Standard,
45        RangeError        from Standard
46 is
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     
258 fields
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     
276 end BisecPC;