0023024: Update headers of OCCT files
[occt.git] / src / Bisector / Bisector_BisecAna.cdl
1 -- Created on: 1994-05-19
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 class BisecAna from Bisector
23
24     --- Purpose :
25
26 inherits
27
28     Curve from Bisector
29     
30 uses
31     Shape             from GeomAbs,
32     CurveType         from GeomAbs,
33     Curve             from Geom2d,
34     Geometry          from Geom2d,    
35     TrimmedCurve      from Geom2d,
36     Point             from Geom2d,
37     Bisec             from GccInt,          
38     Pnt2d             from gp,
39     Vec2d             from gp,
40     Trsf2d            from gp
41
42 raises DomainError    from Standard,
43        RangeError     from Standard
44
45 is
46     Create returns mutable BisecAna;
47     
48     Perform(me        : mutable                                ;
49             Cu1       : Curve   from Geom2d                    ;
50             Cu2       : Curve   from Geom2d                    ;
51             P         : Pnt2d   from gp                        ;
52             V1        : Vec2d   from gp                        ;
53             V2        : Vec2d   from gp                        ;
54             Sense     : Real    from Standard                  ;
55             Tolerance : Real    from Standard                  ;
56             oncurve   : Boolean from Standard = Standard_True  );
57            
58         --- Purpose : Performs  the bisecting line  between the  curves
59         --            <Cu1> and <Cu2>. 
60         --            <oncurve> is True if the point <P> is common to <Cu1>
61         --            and <Cu2>.
62
63     Perform(me        : mutable                              ;
64             Cu        : Curve   from Geom2d                  ;
65             Pnt       : Point   from Geom2d                  ;
66             P         : Pnt2d   from gp                      ; 
67             V1        : Vec2d   from gp                      ;
68             V2        : Vec2d   from gp                      ; 
69             Sense     : Real    from Standard                ;
70             Tolerance : Real    from Standard                ;
71             oncurve   : Boolean from Standard = Standard_True);
72
73         --- Purpose : Performs  the bisecting line  between the  curve
74         --            <Cu1> and the point <Pnt>. 
75         --            <oncurve> is True if the point <P> is the point <Pnt>. 
76
77     Perform(me        : mutable                                ;
78             Pnt       : Point   from Geom2d                    ;
79             Cu        : Curve   from Geom2d                    ;
80             P         : Pnt2d   from gp                        ;
81             V1        : Vec2d   from gp                        ;
82             V2        : Vec2d   from gp                        ; 
83             Sense     : Real    from Standard                  ;
84             Tolerance : Real    from Standard                  ;
85             oncurve   : Boolean from Standard = Standard_True  );
86
87         --- Purpose : Performs  the bisecting line  between the  curve
88         --            <Cu> and the point <Pnt>. 
89         --            <oncurve> is True if the point <P> is the point <Pnt>.
90     
91    
92     Perform(me        : mutable                                ;
93             Pnt1      : Point   from Geom2d                    ;
94             Pnt2      : Point   from Geom2d                    ;
95             P         : Pnt2d   from gp                        ;
96             V1        : Vec2d   from gp                        ;
97             V2        : Vec2d   from gp                        ; 
98             Sense     : Real    from Standard                  ;
99             Tolerance : Real    from Standard = 0.0            ;
100             oncurve   : Boolean from Standard = Standard_True  ) ;
101
102         --- Purpose : Performs  the bisecting line  between the two points
103         --            <Pnt1>  and <Pnt2>.
104    
105     Init ( me       : mutable;
106            bisector : TrimmedCurve from Geom2d)
107     is static;
108
109     IsExtendAtStart (me) returns Boolean from Standard
110     is static;
111     
112     IsExtendAtEnd   (me) returns Boolean from Standard
113     is static;
114
115     SetTrim(me : mutable ; Cu : Curve from Geom2d);
116         --- Purpose : Trim <me> by a domain defined by the curve <Cu>.
117         --            This domain is the set of the points which are
118         --            nearest from <Cu> than the extremitis of <Cu>.
119
120     SetTrim(me : mutable ; uf,  ul  :  Real  from  Standard);
121         --- Purpose : Trim <me> by a domain defined by uf  and  ul
122  
123     Distance(me    : mutable                        ;
124              P     :        Pnt2d   from gp         ;
125              Bis   :        Bisec   from GccInt     ;
126              V1    :        Vec2d   from gp         ;
127              V2    :        Vec2d   from gp         ; 
128              Sense :        Real    from Standard   ;
129              U     :    out Real    from Standard   ;
130              sense :    out Boolean from Standard   ;
131              ok    :    out Boolean from Standard   ) 
132          
133          --- Purpose : Returns the distance between the point <P> and
134          --            the bisecting <Bis>.
135     returns Real 
136     is private;
137     
138     
139     Reverse (me : mutable)
140     is static;
141     
142     ReversedParameter(me; U : Real) returns Real
143     is static;
144     
145     IsCN (me; N : Integer)  returns Boolean
146         --- Purpose : Returns the order of continuity of the curve. 
147      raises RangeError
148         --- Purpose : Raised if N < 0. 
149     is static;
150     
151     Copy (me)  returns mutable like me   
152     is static;    
153         
154     Transform (me : mutable; T : Trsf2d) 
155     is static; 
156     
157     FirstParameter(me) returns Real
158     is static;
159
160     LastParameter(me) returns Real
161     is static; 
162     
163     IsClosed (me)   returns Boolean
164     is static;
165     
166     IsPeriodic (me)  returns Boolean
167     is static;
168     
169     Continuity (me)   returns Shape from GeomAbs
170     is static;
171     
172     D0(me; U : Real; P : out Pnt2d)
173     is static;
174      
175     D1 (me; U : Real; P : out Pnt2d; V1 : out Vec2d)
176     is static;
177
178     D2 (me; U : Real; P : out Pnt2d; V1, V2 : out Vec2d)
179     is static;
180     
181     D3 (me; U : Real; P : out Pnt2d; V1, V2, V3 : out Vec2d)
182     is static;
183     
184     DN (me; U : Real; N : Integer)   returns Vec2d
185     is static;     
186     
187     Geom2dCurve (me) returns Curve from Geom2d
188     is static;
189     
190     Parameter (me ; P : Pnt2d from gp) returns Real
191     is static;
192     
193     ParameterOfStartPoint (me) returns Real
194     is static;
195     
196     ParameterOfEndPoint (me) returns Real
197     is static;
198     
199     NbIntervals (me) returns Integer
200         ---Purpose: If necessary,  breaks the  curve in  intervals  of
201         --          continuity  <C1>.    And  returns   the number   of
202         --          intervals.
203     is static;
204
205     IntervalFirst(me ; Index : Integer from Standard) returns Real
206        ---Purpose: Returns  the  first  parameter    of  the  current
207        --          interval. 
208     is static;
209     
210     IntervalLast(me ; Index : Integer from Standard) returns Real
211        ---Purpose: Returns  the  last  parameter    of  the  current
212        --          interval. 
213     is static;
214
215     Dump (me; Deep : Integer = 0; Offset : Integer = 0) is static;
216     
217 fields  
218
219     thebisector  : TrimmedCurve from Geom2d;
220     
221 end BisecAna;