0023022: This is desirable to access OpenGl extensions and core API (1.2+) in one...
[occt.git] / src / GCPnts / GCPnts_UniformAbscissa.cdl
1 -- File:        UniformAbscissa.cdl
2 -- Created:     Wed Feb 27 09:57:51 1991
3 -- Author:      Jean Claude Vauthier
4 --              <jcv@topsn3>
5 ---Copyright:    Matra Datavision 1991, 1992
6
7
8 class UniformAbscissa from GCPnts 
9   
10
11     ---Purpose: This class allows to compute a uniform distribution of points
12     --          on a curve (ie the points will all be equally distant).
13 uses 
14     Curve        from Adaptor3d,
15     Curve2d      from Adaptor2d,
16     HArray1OfReal from TColStd
17
18     
19 raises DomainError       from Standard, 
20        ConstructionError from Standard,
21        OutOfRange        from Standard,
22        NotDone           from StdFail
23
24 is
25         
26     Create 
27         ---Purpose: creation of a indefinite UniformAbscissa
28         returns UniformAbscissa from GCPnts;
29
30     Create(C : in out Curve from Adaptor3d ; Abscissa : Real ; Toler : Real = -1)
31         --- Purpose : Computes a uniform abscissa distribution of points on 
32         --  the Curve <C>. Parameter Toler is equal Precision::Confusion by default.
33         --  It Is used for more precise calculation of curve length
34         returns UniformAbscissa from GCPnts
35         raises ConstructionError;
36
37     Create(C : in out Curve from Adaptor3d ; Abscissa, U1, U2 : Real ; 
38                Toler : Real = -1)
39         --- Purpose : Computes a Uniform abscissa distribution of points 
40         --  on a part of the Curve <C>. Parameter Toler is equal Precision::Confusion by default.
41         --  It Is used for more precise calculation of curve length
42         returns UniformAbscissa from GCPnts
43         raises ConstructionError,
44                DomainError;
45
46     Create(C : in out Curve from Adaptor3d ; NbPoints : Integer ; 
47            Toler : Real = -1)
48         --- Purpose : Computes a uniform abscissa distribution of points on 
49         --  the Curve <C>. 
50         --  <NbPoints> defines the nomber of desired points. 
51         --  Parameter Toler is equal Precision::Confusion by default.
52         --  It Is used for more precise calculation of curve length
53         returns UniformAbscissa from GCPnts
54         raises ConstructionError,
55                DomainError;
56
57     Create(C : in out Curve from Adaptor3d ; NbPoints : Integer; U1, U2 : Real ; 
58            Toler : Real = -1)
59         --- Purpose : Computes a Uniform abscissa distribution of points 
60         --  on a part of the Curve <C>. 
61         --  Parameter Toler is equal Precision::Confusion by default.
62         --  It Is used for more precise calculation of curve length
63         returns UniformAbscissa from GCPnts
64         raises ConstructionError,
65                DomainError;
66
67     Initialize(me : in out; C : in out Curve from Adaptor3d ; Abscissa : Real ;
68                             Toler : Real = -1)
69         ---Purpose: Initialize the algoritms with <C>, <Abscissa>, <Toler>
70         raises ConstructionError
71         is static;
72
73     Initialize(me : in out; C : in out Curve from Adaptor3d ; Abscissa, U1, U2 : Real ; 
74                             Toler : Real = -1)
75         ---Purpose: Initialize the algoritms with <C>, <Abscissa>, <U1>,
76         --          <U2>, <Toler>
77         raises ConstructionError,
78                DomainError
79         is static;
80
81   
82     Initialize(me : in out; C : in out Curve from Adaptor3d ; NbPoints : Integer ; 
83                             Toler : Real = -1)
84         ---Purpose: Initialize the algoritms with <C>, <NbPoints>, <Toler> and 
85         raises ConstructionError
86         is static;
87
88
89     Initialize(me : in out; C : in out Curve from Adaptor3d ; NbPoints : Integer; U1, U2 : Real ; 
90                             Toler : Real = -1)
91         ---Purpose: Initialize the algoritms with <C>, <Abscissa>, <U1>,
92         --          <U2>, <Toler>.
93         raises ConstructionError,
94                DomainError
95         is static;
96
97     Create(C : in out Curve2d from Adaptor2d ; Abscissa : Real ; Toler : Real = -1)
98         --- Purpose : Computes a uniform abscissa distribution of points on 
99         --  the Curve2d <C>. 
100         --  Parameter Toler is equal Precision::Confusion by default.
101         --  It Is used for more precise calculation of curve length
102         returns UniformAbscissa from GCPnts
103         raises ConstructionError;
104
105     Create(C : in out Curve2d from Adaptor2d ; Abscissa, U1, U2 : Real ; Toler : Real = -1)
106         --- Purpose : Computes a Uniform abscissa distribution of points 
107         --  on a part of the Curve2d <C>. 
108         --  Parameter Toler is equal Precision::Confusion by default.
109         --  It Is used for more precise calculation of curve length
110         returns UniformAbscissa from GCPnts
111         raises ConstructionError,
112                DomainError;
113
114     Create(C : in out Curve2d from Adaptor2d ; NbPoints : Integer ; 
115                Toler : Real = -1)
116         --- Purpose : Computes a uniform abscissa distribution of points on 
117         --  the Curve2d <C>. 
118         --  <NbPoints> defines the nomber of desired points. 
119         --  Parameter Toler is equal Precision::Confusion by default.
120         --  It Is used for more precise calculation of curve length
121         returns UniformAbscissa from GCPnts
122         raises ConstructionError,
123                DomainError;
124
125     Create(C : in out Curve2d from Adaptor2d ; NbPoints : Integer; U1, U2 : Real ; 
126                Toler : Real = -1)
127         --- Purpose : Computes a Uniform abscissa distribution of points 
128         --  on a part of the Curve2d <C>. 
129         --  Parameter Toler is equal Precision::Confusion by default.
130         --  It Is used for more precise calculation of curve length
131         returns UniformAbscissa from GCPnts
132         raises ConstructionError,
133                DomainError;
134
135     Initialize(me : in out; C : in out Curve2d from Adaptor2d ; Abscissa : Real ; Toler : Real = -1)
136         ---Purpose: Initialize the algoritms with <C>, <Abscissa>, <Toler>
137         raises ConstructionError
138         is static;
139
140     Initialize(me : in out; C : in out Curve2d from Adaptor2d ; Abscissa, U1, U2 : Real ; 
141                             Toler : Real = -1)
142         ---Purpose: Initialize the algoritms with <C>, <Abscissa>, <U1>,
143         --          <U2>, <Toler>
144         raises ConstructionError,
145                DomainError
146         is static;
147
148   
149     Initialize(me : in out; C : in out Curve2d from Adaptor2d ; NbPoints : Integer ; 
150                             Toler : Real = -1)
151         ---Purpose: Initialize the algoritms with <C>, <NbPoints>, <Toler> and 
152         raises ConstructionError
153         is static;
154
155
156     Initialize(me : in out; C : in out Curve2d from Adaptor2d ; NbPoints : Integer; U1, U2 : Real ;
157                             Toler : Real = -1)
158         ---Purpose: Initialize the algoritms with <C>, <Abscissa>, <U1>,
159         --          <U2>, <Toler>.
160         raises ConstructionError,
161                DomainError
162         is static;
163
164                
165     IsDone(me) returns Boolean 
166         ---C++: inline
167         is static;
168
169                
170     NbPoints(me) returns Integer
171         ---C++: inline
172          is static;
173   
174     Parameter(me; Index : Integer) returns Real 
175         ---Purpose : returns the computed Parameter of index <Index>.
176         ---C++: inline
177         is static;
178    
179     Abscissa(me) returns Real
180         ---Purpose : returne the current abscissa
181         -- ie the distance between two consecutive points
182         ---C++: inline
183         is static;
184
185 fields
186
187     myDone       : Boolean;
188     myNbPoints   : Integer ;
189     -- stores the number of points computed with the 
190     -- requested Abscissa else stores the requested
191     -- number of points 
192     myAbscissa   : Real;
193     myParams     : HArray1OfReal from TColStd ;
194     -- the size of this array will be be bigger than myNbPoints
195     --  by one or two 
196     
197     
198
199 end UniformAbscissa;