b311480e |
1 | -- Created on: 1994-05-19 |
2 | -- Created by: Yves FRICAUD |
3 | -- Copyright (c) 1994-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
8 | -- This library is free software; you can redistribute it and/or modify it under |
9 | -- the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
10 | -- by the Free Software Foundation, with special exception defined in the file |
11 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
12 | -- distribution for complete text of the license and disclaimer of any warranty. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | class BisecAna from Bisector |
18 | |
19 | --- Purpose : |
20 | |
21 | inherits |
22 | |
23 | Curve from Bisector |
24 | |
25 | uses |
26 | Shape from GeomAbs, |
27 | CurveType from GeomAbs, |
28 | Curve from Geom2d, |
29 | Geometry from Geom2d, |
30 | TrimmedCurve from Geom2d, |
31 | Point from Geom2d, |
32 | Bisec from GccInt, |
33 | Pnt2d from gp, |
34 | Vec2d from gp, |
35 | Trsf2d from gp |
36 | |
37 | raises DomainError from Standard, |
38 | RangeError from Standard |
39 | |
40 | is |
41 | Create returns mutable BisecAna; |
42 | |
43 | Perform(me : mutable ; |
44 | Cu1 : Curve from Geom2d ; |
45 | Cu2 : Curve from Geom2d ; |
46 | P : Pnt2d from gp ; |
47 | V1 : Vec2d from gp ; |
48 | V2 : Vec2d from gp ; |
49 | Sense : Real from Standard ; |
50 | Tolerance : Real from Standard ; |
51 | oncurve : Boolean from Standard = Standard_True ); |
52 | |
53 | --- Purpose : Performs the bisecting line between the curves |
54 | -- <Cu1> and <Cu2>. |
55 | -- <oncurve> is True if the point <P> is common to <Cu1> |
56 | -- and <Cu2>. |
57 | |
58 | Perform(me : mutable ; |
59 | Cu : Curve from Geom2d ; |
60 | Pnt : Point 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 curve |
69 | -- <Cu1> and the point <Pnt>. |
70 | -- <oncurve> is True if the point <P> is the point <Pnt>. |
71 | |
72 | Perform(me : mutable ; |
73 | Pnt : Point from Geom2d ; |
74 | Cu : Curve from Geom2d ; |
75 | P : Pnt2d from gp ; |
76 | V1 : Vec2d from gp ; |
77 | V2 : Vec2d from gp ; |
78 | Sense : Real from Standard ; |
79 | Tolerance : Real from Standard ; |
80 | oncurve : Boolean from Standard = Standard_True ); |
81 | |
82 | --- Purpose : Performs the bisecting line between the curve |
83 | -- <Cu> and the point <Pnt>. |
84 | -- <oncurve> is True if the point <P> is the point <Pnt>. |
85 | |
86 | |
87 | Perform(me : mutable ; |
88 | Pnt1 : Point from Geom2d ; |
89 | Pnt2 : Point 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 = 0.0 ; |
95 | oncurve : Boolean from Standard = Standard_True ) ; |
96 | |
97 | --- Purpose : Performs the bisecting line between the two points |
98 | -- <Pnt1> and <Pnt2>. |
99 | |
100 | Init ( me : mutable; |
101 | bisector : TrimmedCurve from Geom2d) |
102 | is static; |
103 | |
104 | IsExtendAtStart (me) returns Boolean from Standard |
105 | is static; |
106 | |
107 | IsExtendAtEnd (me) returns Boolean from Standard |
108 | is static; |
109 | |
110 | SetTrim(me : mutable ; Cu : Curve from Geom2d); |
111 | --- Purpose : Trim <me> by a domain defined by the curve <Cu>. |
112 | -- This domain is the set of the points which are |
113 | -- nearest from <Cu> than the extremitis of <Cu>. |
114 | |
115 | SetTrim(me : mutable ; uf, ul : Real from Standard); |
116 | --- Purpose : Trim <me> by a domain defined by uf and ul |
117 | |
118 | Distance(me : mutable ; |
119 | P : Pnt2d from gp ; |
120 | Bis : Bisec from GccInt ; |
121 | V1 : Vec2d from gp ; |
122 | V2 : Vec2d from gp ; |
123 | Sense : Real from Standard ; |
124 | U : out Real from Standard ; |
125 | sense : out Boolean from Standard ; |
126 | ok : out Boolean from Standard ) |
127 | |
128 | --- Purpose : Returns the distance between the point <P> and |
129 | -- the bisecting <Bis>. |
130 | returns Real |
131 | is private; |
132 | |
133 | |
134 | Reverse (me : mutable) |
135 | is static; |
136 | |
137 | ReversedParameter(me; U : Real) returns Real |
138 | is static; |
139 | |
140 | IsCN (me; N : Integer) returns Boolean |
141 | --- Purpose : Returns the order of continuity of the curve. |
142 | raises RangeError |
143 | --- Purpose : Raised if N < 0. |
144 | is static; |
145 | |
146 | Copy (me) returns mutable like me |
147 | is static; |
148 | |
149 | Transform (me : mutable; T : Trsf2d) |
150 | is static; |
151 | |
152 | FirstParameter(me) returns Real |
153 | is static; |
154 | |
155 | LastParameter(me) returns Real |
156 | is static; |
157 | |
158 | IsClosed (me) returns Boolean |
159 | is static; |
160 | |
161 | IsPeriodic (me) returns Boolean |
162 | is static; |
163 | |
164 | Continuity (me) returns Shape from GeomAbs |
165 | is static; |
166 | |
167 | D0(me; U : Real; P : out Pnt2d) |
168 | is static; |
169 | |
170 | D1 (me; U : Real; P : out Pnt2d; V1 : out Vec2d) |
171 | is static; |
172 | |
173 | D2 (me; U : Real; P : out Pnt2d; V1, V2 : out Vec2d) |
174 | is static; |
175 | |
176 | D3 (me; U : Real; P : out Pnt2d; V1, V2, V3 : out Vec2d) |
177 | is static; |
178 | |
179 | DN (me; U : Real; N : Integer) returns Vec2d |
180 | is static; |
181 | |
182 | Geom2dCurve (me) returns Curve from Geom2d |
183 | is static; |
184 | |
185 | Parameter (me ; P : Pnt2d from gp) returns Real |
186 | is static; |
187 | |
188 | ParameterOfStartPoint (me) returns Real |
189 | is static; |
190 | |
191 | ParameterOfEndPoint (me) returns Real |
192 | is static; |
193 | |
194 | NbIntervals (me) returns Integer |
195 | ---Purpose: If necessary, breaks the curve in intervals of |
196 | -- continuity <C1>. And returns the number of |
197 | -- intervals. |
198 | is static; |
199 | |
200 | IntervalFirst(me ; Index : Integer from Standard) returns Real |
201 | ---Purpose: Returns the first parameter of the current |
202 | -- interval. |
203 | is static; |
204 | |
205 | IntervalLast(me ; Index : Integer from Standard) returns Real |
206 | ---Purpose: Returns the last parameter of the current |
207 | -- interval. |
208 | is static; |
209 | |
210 | Dump (me; Deep : Integer = 0; Offset : Integer = 0) is static; |
211 | |
212 | fields |
213 | |
214 | thebisector : TrimmedCurve from Geom2d; |
215 | |
216 | end BisecAna; |