0023604: Uninitialized variables in debug mode
[occt.git] / src / Bisector / Bisector_Bisec.cdl
1 -- Created on: 1992-10-19
2 -- Created by: Remi GILET
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
21
22 class Bisec from Bisector
23
24     --- Purpose : Bisec  provides the bisecting line between two  elements
25     --  This line is trimed by a point <P> and it's contained in the domain 
26     --  defined by the two vectors <V1>, <V2> and <Sense>.
27     --  
28     --  Definition of  the domain:  
29     --  if <Sense>  is  true the bisecting line is contained in the sector 
30     --  defined by <-V1> and <-V2> in the sense indirect.
31     --  if <Sense>  is  false the bisecting line is contained in the sector 
32     --  defined by <-V1> and <-V2> in the sense direct.
33     --
34     --  <Tolerance> is used to define degenerate bisector.
35     --  if the bisector is an hyperbola and one of this radius is smaller
36     --     than <Tolerance>, the bisector is replaced by a line or semi_line
37     --     corresponding to one of hyperbola's axes.
38     --  if the bisector is a parabola on the focal length is smaller than
39     --     <Tolerance>, the bisector is replaced by a semi_line corresponding
40     --     to the axe of symetrie of the parabola.
41     --  if the bisector is an ellipse  and the minor radius is smaller than
42     --     <Tolerance>, the bisector is replaced by a segment corresponding
43     --     to the great axe of the ellipse.     
44
45 uses
46
47     TrimmedCurve from Geom2d  ,
48     Curve        from Geom2d  ,
49     Curve        from Bisector,
50     Point        from Geom2d  ,
51     Pnt2d        from gp      ,
52     Vec2d        from gp      ,
53     Integer      from Standard
54
55 is
56     Create returns Bisec from Bisector;
57
58     Perform(me        : in out                                 ;
59             Cu1       : Curve   from Geom2d                    ;
60             Cu2       : Curve   from Geom2d                    ;
61             P         : Pnt2d   from gp                        ;
62             V1        : Vec2d   from gp                        ;
63             V2        : Vec2d   from gp                        ;
64             Sense     : Real    from Standard                  ;
65             Tolerance : Real    from Standard                  ;
66             oncurve   : Boolean from Standard = Standard_True  );
67            
68         --- Purpose : Performs  the bisecting line  between the  curves
69         --            <Cu1> and <Cu2>. 
70         --            <oncurve> is True if the point <P> is common to <Cu1>
71         --            and <Cu2>.
72         
73     Perform(me        : in out                               ;
74             Cu        : Curve   from Geom2d                  ;
75             Pnt       : Point   from Geom2d                  ;
76             P         : Pnt2d   from gp                      ; 
77             V1        : Vec2d   from gp                      ;
78             V2        : Vec2d   from gp                      ; 
79             Sense     : Real    from Standard                ;
80             Tolerance : Real    from Standard                ;
81             oncurve   : Boolean from Standard = Standard_True);
82
83         --- Purpose : Performs  the bisecting line  between the  curve
84         --            <Cu1> and the point <Pnt>. 
85         --            <oncurve> is True if the point <P> is the point <Pnt>.
86
87     Perform(me        : in out                                 ;
88             Pnt       : Point   from Geom2d                    ;
89             Cu        : Curve   from Geom2d                    ;
90             P         : Pnt2d   from gp                        ;
91             V1        : Vec2d   from gp                        ;
92             V2        : Vec2d   from gp                        ; 
93             Sense     : Real    from Standard                  ;
94             Tolerance : Real    from Standard                  ;
95             oncurve   : Boolean from Standard = Standard_True  );
96
97         --- Purpose : Performs  the bisecting line  between the  curve
98         --            <Cu> and the point <Pnt>. 
99         --            <oncurve> is True if the point <P> is the point <Pnt>.
100
101     Perform(me        : in out                                 ;
102             Pnt1      : Point   from Geom2d                    ;
103             Pnt2      : Point   from Geom2d                    ;
104             P         : Pnt2d   from gp                        ;
105             V1        : Vec2d   from gp                        ;
106             V2        : Vec2d   from gp                        ; 
107             Sense     : Real    from Standard                  ;
108             Tolerance : Real    from Standard = 0.0            ;
109             oncurve   : Boolean from Standard = Standard_True  ) ;
110
111         --- Purpose : Performs  the bisecting line  between the two points
112         --            <Pnt1>  and <Pnt2>. 
113     
114
115     Value(me) returns TrimmedCurve from Geom2d
116          --- Purpose : Returns the Curve of <me>.  
117          ---C++: return const & 
118     is static;
119     
120     ChangeValue (me : in out) returns mutable TrimmedCurve from Geom2d
121          --- Purpose : Returns the Curve of <me>.  
122          --  
123          ---C++: return const & 
124     is static;
125     
126 fields
127             
128     thebisector     : TrimmedCurve from Geom2d;
129     
130 end Bisec;
131
132