0024157: Parallelization of assembly part of BO
[occt.git] / src / CPnts / CPnts_AbscissaPoint.cdl
CommitLineData
b311480e 1-- Created on: 1991-07-15
2-- Created by: Isabelle GRIGNON
3-- Copyright (c) 1991-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
22class AbscissaPoint from CPnts
23
24 ---Purpose: the algorithm computes a point on a curve at a given
25 -- distance from another point on the curve
26 --
27 -- We can instantiates with
28 -- Curve from Adaptor3d, Pnt from gp, Vec from gp
29 --
30 -- or
31 -- Curve2d from Adaptor2d, Pnt2d from gp, Vec2d from gp
32
33uses
34 Curve2d from Adaptor2d,
35 Curve from Adaptor3d,
36 MyRootFunction from CPnts
37
38raises NotDone from StdFail,
39 ConstructionError from Standard
40
41is
42
43 Length(myclass; C : Curve from Adaptor3d) returns Real;
44 ---Purpose: Computes the length of the Curve <C>.
45
46 Length(myclass; C : Curve2d from Adaptor2d) returns Real;
47 ---Purpose: Computes the length of the Curve <C>.
48
49 Length(myclass; C : Curve from Adaptor3d; Tol : Real) returns Real;
50 ---Purpose: Computes the length of the Curve <C> with the given tolerance.
51
52 Length(myclass; C : Curve2d from Adaptor2d; Tol : Real) returns Real;
53 ---Purpose: Computes the length of the Curve <C> with the given tolerance.
54
55 Length(myclass; C : Curve from Adaptor3d; U1, U2 : Real) returns Real;
56 ---Purpose: Computes the length of the Curve <C> between <U1> and <U2>.
57
58 Length(myclass; C : Curve2d from Adaptor2d; U1, U2 : Real) returns Real;
59 ---Purpose: Computes the length of the Curve <C> between <U1> and <U2>.
60
61 Length(myclass; C : Curve from Adaptor3d; U1, U2, Tol : Real) returns Real;
62 ---Purpose: Computes the length of the Curve <C> between <U1> and <U2> with the given tolerance.
63
64 Length(myclass; C : Curve2d from Adaptor2d; U1, U2, Tol : Real) returns Real;
65 ---Purpose: Computes the length of the Curve <C> between <U1> and <U2> with the given tolerance.
66
67 Create
68 ---Purpose: creation of a indefinite AbscissaPoint.
69 returns AbscissaPoint;
70
71 Create (C : Curve from Adaptor3d; Abscissa, U0, Resolution : Real)
72 ---Purpose: the algorithm computes a point on a curve <Curve> at the
73 -- distance <Abscissa> from the point of parameter <U0>.
74 -- <Resolution> is the error allowed in the computation.
75 -- The computed point can be outside of the curve 's bounds.
76 returns AbscissaPoint
77 raises ConstructionError;
78 -- raised when it is not possible to compute the curve's length or if
79 -- the curve is null;
80
81 Create (C : Curve2d from Adaptor2d; Abscissa, U0, Resolution : Real)
82 ---Purpose: the algorithm computes a point on a curve <Curve> at the
83 -- distance <Abscissa> from the point of parameter <U0>.
84 -- <Resolution> is the error allowed in the computation.
85 -- The computed point can be outside of the curve 's bounds.
86 returns AbscissaPoint
87 raises ConstructionError;
88 -- raised when it is not possible to compute the curve's length or if
89 -- the curve is null;
90
91 Create (C : Curve from Adaptor3d; Abscissa, U0, Ui, Resolution : Real)
92 ---Purpose: the algorithm computes a point on a curve <Curve> at the
93 -- distance <Abscissa> from the point of parameter <U0>.
94 -- <Ui> is the starting value used in the iterative process
95 -- which find the solution, it must be closed to the final
96 -- solution
97 -- <Resolution> is the error allowed in the computation.
98 -- The computed point can be outside of the curve 's bounds.
99 returns AbscissaPoint
100 raises ConstructionError;
101 -- raised when it is not possible to compute the curve's length or if
102 -- the curve is null;
103
104 Create (C : Curve2d from Adaptor2d; Abscissa, U0, Ui, Resolution : Real)
105 ---Purpose: the algorithm computes a point on a curve <Curve> at the
106 -- distance <Abscissa> from the point of parameter <U0>.
107 -- <Ui> is the starting value used in the iterative process
108 -- which find the solution, it must be closed to the final
109 -- solution
110 -- <Resolution> is the error allowed in the computation.
111 -- The computed point can be outside of the curve 's bounds.
112 returns AbscissaPoint
113 raises ConstructionError;
114 -- raised when it is not possible to compute the curve's length or if
115 -- the curve is null;
116
117
118 Init(me: in out; C: Curve from Adaptor3d)
119 ---Purpose: Initializes the resolution function with <C>.
120 is static;
121
122 Init(me: in out; C: Curve2d from Adaptor2d)
123 ---Purpose: Initializes the resolution function with <C>.
124 is static;
125
126-- these two methods are introduced by rbv to control the tolerance
127
128 Init(me: in out; C: Curve from Adaptor3d; Tol : Real)
129 ---Purpose: Initializes the resolution function with <C>.
130 is static;
131
132 Init(me: in out; C: Curve2d from Adaptor2d; Tol : Real)
133 ---Purpose: Initializes the resolution function with <C>.
134 is static;
135--
136
137 Init(me: in out; C: Curve from Adaptor3d; U1, U2: Real)
138 ---Purpose: Initializes the resolution function with <C>
139 -- between U1 and U2.
140 is static;
141
142 Init(me: in out; C: Curve2d from Adaptor2d; U1, U2: Real)
143 ---Purpose: Initializes the resolution function with <C>
144 -- between U1 and U2.
145 is static;
146
147-- these two methods are introduced by rbv to control the tolerance
148 Init(me: in out; C: Curve from Adaptor3d; U1, U2, Tol: Real)
149 ---Purpose: Initializes the resolution function with <C>
150 -- between U1 and U2.
151 is static;
152
153 Init(me: in out; C: Curve2d from Adaptor2d; U1, U2, Tol: Real)
154 ---Purpose: Initializes the resolution function with <C>
155 -- between U1 and U2.
156 is static;
157
158 Perform(me: in out; Abscissa, U0, Resolution : Real)
159 ---Purpose: Computes the point at the distance <Abscissa> of
160 -- the curve.
161 is static;
162
163 Perform(me: in out; Abscissa, U0, Ui, Resolution : Real)
164 ---Purpose: Computes the point at the distance <Abscissa> of
165 -- the curve.
166 is static;
167
168 AdvPerform(me: in out; Abscissa, U0, Ui, Resolution : Real)
169 ---Purpose: Computes the point at the distance <Abscissa> of
170 -- the curve; performs more appropriate tolerance managment;
171 -- to use this method in right way it is necessary to call
172 -- empty consructor. then call method Init with
173 -- Tolerance = Resolution, then call AdvPermorm.
174 is static;
175
176 IsDone(me)
177 ---Purpose: True if the computation was successful, False otherwise.
178 ---C++: inline
179 returns Boolean
180 is static;
181
182
183 Parameter(me) returns Real
184 ---Purpose: Returns the parameter of the solution.
185 --
186 ---C++: inline
187 raises NotDone from StdFail;
188 -- if the computation was not done.
189
190
191 SetParameter(me : in out; P : Real);
192 ---Purpose: Enforce the solution, used by GCPnts.
193 --
194 ---C++: inline
195
196fields
197
198 myDone : Boolean;
199 myL : Real;
200 myParam : Real;
201 myUMin : Real;
202 myUMax : Real from Standard;
203 myF : MyRootFunction from CPnts;
204
205end AbscissaPoint;