98d4dd4c333af671c290e7b9361dc8e2a3bb88a9
[occt.git] / src / Contap / Contap_Line.cdl
1 -- Created on: 1993-02-05
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 generic class Line from Contap
18     (TheVertex           as any;
19      TheArc              as any;
20      ThePoint            as any;       --as Point from Contap(TheVertex,TheArc)
21      TheHSequenceOfPoint as Transient) --as HSequence from TCollection
22                                        --     (ThePoint)
23
24         ---Purpose: 
25
26 uses Pnt            from gp,
27      LineOn2S       from IntSurf,
28      PntOn2S        from IntSurf,
29      TypeTrans      from IntSurf,
30      Lin            from gp,
31      Circ           from gp,
32      Dir            from gp,
33      IType          from Contap -- duplique IntPatch_IType. Mettre ds  IntSurf
34
35 raises DomainError from Standard,
36        OutOfRange  from Standard
37
38 is
39
40     Create
41
42         returns Line from Contap;
43
44         
45     SetLineOn2S(me: in out; L: LineOn2S from IntSurf)
46     
47         is static;
48         
49     Clear(me: in out)
50     
51         is static;
52
53     LineOn2S(me)
54     
55         returns LineOn2S from IntSurf
56         ---C++: inline
57         ---C++: return const&
58         is static;
59
60     ResetSeqOfVertex(me: in out)
61     
62         is static;    
63
64     Add(me: in out; P: PntOn2S from IntSurf)
65     
66         ---C++: inline
67         is static;
68
69     SetValue(me: in out; L: Lin from gp)
70     
71         is static;
72
73
74     SetValue(me: in out; C: Circ from gp)
75     
76         is static;
77
78
79     SetValue(me: in out; A: TheArc)
80     
81         is static;
82
83
84     Add(me: in out; P: ThePoint)
85     
86         is static;
87
88
89     NbVertex(me)
90     
91         returns Integer from Standard
92         ---C++: inline
93         
94         is static;
95
96
97     Vertex(me; Index: Integer from Standard)
98     
99         returns ThePoint
100         ---C++: return &
101         ---C++: inline
102
103         raises OutOfRange from Standard
104         
105         is static;
106
107
108     TypeContour(me)
109     
110         ---Purpose: Returns Contap_Lin for a line, Contap_Circle for
111         --          a circle, and Contap_Walking for a Walking line,
112         --          Contap_Restriction for a part of  boundarie.
113     
114         returns IType from Contap
115         ---C++: inline
116         
117         is static;
118
119
120     NbPnts(me)
121     
122         returns Integer from Standard
123         ---C++: inline
124         
125         raises DomainError from Standard
126         -- The exception DomainError is raised if TypeContour does not return
127         -- Contap_Walking.
128         
129         is static;
130
131
132     Point(me; Index: Integer from Standard)
133     
134         returns PntOn2S from IntSurf
135         ---C++: return const&
136         ---C++: inline
137         
138         raises DomainError from Standard,
139                OutOfRange  from Standard
140         -- The exception DomainError is raised if TypeContour does not return
141         -- Contap_Walking.
142         -- The exception OutOfRange is raised if Index<=0 or Index>NbPoints.
143         
144         is static;
145
146
147     Line(me)
148     
149         returns Lin from gp
150         ---C++: inline
151         
152         raises DomainError from Standard
153         -- The exception DomainError is raised if TypeContour does not return
154         -- Contap_Lin.
155         
156         is static;
157
158
159     Circle(me)
160     
161         returns Circ from gp
162         ---C++: inline
163         
164         raises DomainError from Standard
165         -- The exception DomainError is raised if TypeContour does not return
166         -- Contap_Circle.
167         
168         is static;
169
170
171
172     Arc(me)
173     
174         returns any TheArc
175         ---C++: return const&
176         
177         raises DomainError from Standard
178         -- The exception DomainError is raised if TypeContour does not return
179         -- Contap_Restriction.
180         
181         is static;
182
183
184     SetTransitionOnS(me: in out; T: TypeTrans from IntSurf) 
185     
186         ---Purpose: Set The Tansition of the line.
187         --          
188         is static;
189         
190         
191         
192     TransitionOnS(me) 
193     
194         ---Purpose: returns IN if at the "left" of the line, the normale of the 
195         --          surface is oriented to the observator.  
196         
197     
198         returns TypeTrans from IntSurf
199         is static;
200
201
202 fields
203
204     Trans   : TypeTrans            from IntSurf;
205     curv    : LineOn2S             from IntSurf;
206     svtx    : TheHSequenceOfPoint;
207     thearc  : TheArc;
208     typL    : IType                from Contap;
209     pt      : Pnt                  from gp;
210     dir1    : Dir                  from gp;
211     dir2    : Dir                  from gp;
212     rad     : Real                 from Standard;
213
214 end Line;