0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepBlend / BRepBlend_Line.cdl
1 -- Created on: 1993-12-02
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17
18 class Line from BRepBlend inherits TShared from MMgt
19
20
21 uses Point           from Blend,
22      SequenceOfPoint from Blend,
23      Extremity       from BRepBlend,
24      TypeTrans       from IntSurf
25
26
27 raises OutOfRange from Standard
28
29
30 is
31
32     Create
33     
34         returns Line from BRepBlend;
35
36
37
38     Clear(me: mutable)
39     
40         ---Purpose: Clears the content of the line.
41
42         is static;
43
44
45
46     Append(me: mutable; P: Point from Blend)
47     
48         ---Purpose: Adds a point in the line.
49
50         ---C++: inline
51         is static;
52
53
54     Prepend(me: mutable; P: Point from Blend)
55     
56         ---Purpose: Adds a point in the line at the first place.
57
58         ---C++: inline
59         is static;
60
61     InsertBefore(me : mutable;  
62                  Index : Integer from Standard; 
63                  P : Point from Blend)  
64                  
65         ---Purpose: Adds a point in the line at the first place.
66
67         ---C++: inline
68         is static;
69
70
71     Remove(me: mutable; FromIndex,ToIndex: Integer from Standard)
72     
73         ---Purpose: Removes  from  <me>    all  the  items  of
74         -- positions between <FromIndex> and <ToIndex>.
75         -- Raises an exception if the indices are out of bounds.
76         ---C++: inline
77         raises OutOfRange from Standard
78         is static;
79
80
81     Set(me: mutable; TranS1,TranS2: TypeTrans from IntSurf)
82     
83         ---Purpose: Sets the value of the transition of the line on S1 and
84         --          the line on S2.
85     
86         is static;
87
88
89     Set(me: mutable; Trans: TypeTrans from IntSurf)
90     
91         ---Purpose: Sets the value of the transition of the line on a surface
92     
93         is static;
94
95
96     SetStartPoints(me: mutable; StartPt1,StartPt2: Extremity from BRepBlend)
97     
98         ---Purpose: Sets the values of the start points for the line.
99         ---C++: inline
100
101         is static;
102
103
104     SetEndPoints(me: mutable; EndPt1,EndPt2: Extremity from BRepBlend)
105     
106         ---Purpose: Sets tne values of the end points for the line.
107     
108         ---C++: inline
109
110         is static;
111
112
113     NbPoints(me)
114     
115         ---Purpose: Returns the number of points in the line.
116     
117         returns Integer from Standard
118         ---C++: inline
119         
120         is static;
121
122
123     Point(me; Index: Integer from Standard)
124     
125         ---Purpose: Returns the point of range Index.
126     
127         returns Point from Blend
128         ---C++: inline
129         ---C++: return const&
130
131         raises OutOfRange from Standard
132         --- The exception OutOfRange is raised when Index <=0 or 
133         --  Index > NbPoints
134
135         is static;
136
137
138     TransitionOnS1(me)
139     
140         ---Purpose: Returns the type of the transition of the line defined
141         --          on the first surface. The transition is "constant"
142         --          along the line.
143         --          The transition is IN if the line is oriented in such
144         --          a way that the system of vectors (N,DRac,T) is
145         --          right-handed, where
146         --                N is the normal to the first surface at a point P,
147         --                DRac is a vector tangent to the blending patch,
148         --                oriented towards the valid part of this patch,
149         --                T  is the tangent to the line on S1 at P.
150         --          The transitioon is OUT when the system of vectors is 
151         --          left-handed.
152
153         returns TypeTrans from IntSurf
154         ---C++: inline
155
156         is static;
157
158
159     TransitionOnS2(me)
160     
161         ---Purpose: Returns the type of the transition of the line defined
162         --          on the second surface. The transition is "constant"
163         --          along the line.
164
165         returns TypeTrans from IntSurf
166         ---C++: inline
167
168         is static;
169
170
171     StartPointOnFirst(me)
172     
173         ---Purpose: Returns the start point on S1.
174     
175         returns Extremity from BRepBlend
176         ---C++: inline
177         ---C++: return const&
178
179         is static;
180         
181
182     StartPointOnSecond(me)
183     
184         ---Purpose: Returns the start point on S2
185     
186         returns Extremity from BRepBlend
187         ---C++: inline
188         ---C++: return const&
189
190         is static;
191
192
193     EndPointOnFirst(me)
194     
195         ---Purpose: Returns the end point on S1.
196     
197         returns Extremity from BRepBlend
198         ---C++: inline
199         ---C++: return const&
200         
201         is static;
202
203
204     EndPointOnSecond(me)
205     
206         ---Purpose: Returns the point on S2.
207     
208         returns Extremity from BRepBlend
209         ---C++: inline
210         ---C++: return const&
211
212         is static;
213
214
215     TransitionOnS(me)
216     
217         ---Purpose: Returns the type of the transition of the line defined
218         --          on the surface.
219
220         returns TypeTrans from IntSurf
221         ---C++: inline
222
223         is static;
224
225
226 fields
227     seqpt  : SequenceOfPoint from Blend;
228     tras1  : TypeTrans       from IntSurf;
229     tras2  : TypeTrans       from IntSurf;
230     stp1   : Extremity       from BRepBlend;
231     stp2   : Extremity       from BRepBlend;
232     endp1  : Extremity       from BRepBlend;
233     endp2  : Extremity       from BRepBlend;
234     hass1  : Boolean         from Standard;
235     hass2  : Boolean         from Standard;
236 end;