50bb1e7750336e649743809a1c5d0d0e67c0c800
[occt.git] / src / Contap / Contap_Point.cdl
1 -- Created on: 1993-03-04
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 Point from Contap
18     (TheVertex as any;
19      TheArc    as any)
20
21
22         ---Purpose: Definition of a vertex on the contour line.
23         --          Most of the time, such a point is an intersection
24         --          between the contour and a restriction of the surface.
25         --          When it is not tyhe method IsOnArc return False.
26         --          Such a point is contains geometrical informations (see
27         --          the Value method) and logical informations.
28
29
30 uses Pnt        from gp,
31      Transition from IntSurf
32      
33      
34 raises DomainError from Standard
35
36 is
37
38
39     Create
40     
41         ---Purpose: Empty constructor.
42
43         returns Point from Contap;
44
45
46     Create(Pt: Pnt from gp; U,V: Real from Standard)
47
48         ---Purpose: Creates a point.
49
50         returns Point from Contap;
51
52
53     SetValue(me: in out; Pt: Pnt from gp; U,V: Real from Standard)
54
55         ---Purpose: Sets the values for a point.
56
57         ---C++: inline
58
59         is static;
60
61
62     SetParameter(me: in out; Para: Real from Standard)
63     
64         ---Purpose: Set the value of the parameter on the intersection line.
65
66         ---C++: inline
67
68         is static;
69
70
71     SetVertex(me: in out; V: TheVertex)
72
73         ---Purpose: Sets the values of a point which is a vertex on
74         --          the initial facet of restriction of one
75         --          of the surface.
76
77         ---C++: inline
78
79         is static;
80
81
82     SetArc(me: in out; A: TheArc; Param: Real from Standard;
83                        TLine,TArc: Transition from IntSurf)
84
85         ---Purpose: Sets the value of the arc and of the parameter on
86         --          this arc of the point.
87
88         ---C++: inline
89
90         is static;
91
92
93     SetMultiple(me: in out)
94     
95         ---C++: inline
96
97         is static;
98
99
100     SetInternal(me : in out)
101         ---C++: inline
102         is static;
103         
104     Value(me)
105     
106         ---Purpose: Returns the intersection point (geometric information).
107
108         returns Pnt from gp
109         ---C++: return const&
110         ---C++: inline
111
112         is static;
113
114
115     ParameterOnLine(me)
116     
117         ---Purpose: This method returns the parameter of the point
118         --          on the intersection line.
119         --          If the points does not belong to an intersection line,
120         --          the value returned does not have any sens.
121     
122         returns Real from Standard
123         
124         ---C++: inline
125
126         is static;
127
128
129     Parameters(me; U1,V1: out Real from Standard)
130     
131         ---Purpose: Returns the parameters on the surface of the point.
132
133         ---C++: inline
134
135         is static;
136
137
138     IsOnArc(me)
139     
140         ---Purpose: Returns True when the point is an intersection between
141         --          the contour and a restriction.
142     
143         returns Boolean from Standard
144         ---C++: inline
145         
146         is static;
147         
148
149     Arc(me)
150     
151         ---Purpose: Returns the arc of restriction containing the
152         --          vertex.
153
154         returns any TheArc
155         ---C++: return const&
156         ---C++: inline
157         
158         raises DomainError from Standard
159         --- The exception DomianError is raised when IsOnArc 
160         --  returns Standard_False.
161         is static;
162
163
164     ParameterOnArc(me)
165     
166         ---Purpose: Returns the parameter of the point on the
167         --          arc returned by the method Arc().
168
169         returns Real from Standard
170         ---C++: inline
171         
172         raises DomainError from Standard
173         --- The exception DomianError is raised when IsOnArc 
174         --  returns Standard_False.
175         is static;
176
177
178     TransitionOnLine(me)
179     
180         ---Purpose: Returns the transition of the point on the contour.
181
182         returns Transition from IntSurf
183         ---C++: inline
184         ---C++: return const&
185         
186         raises DomainError from Standard
187         --- The exception DomianError is raised when IsOnArc 
188         --  returns Standard_False.
189         is static;
190
191
192     TransitionOnArc(me)
193     
194         ---Purpose: Returns the transition of the point on the arc.
195
196         returns Transition from IntSurf
197         ---C++: inline
198         ---C++: return const&
199         
200         raises DomainError from Standard
201         --- The exception DomianError is raised when IsOnArc 
202         --  returns Standard_False.
203         is static;
204
205
206     IsVertex(me)
207
208         ---Purpose: Returns TRUE if the point is a vertex on the initial
209         --          restriction facet of the surface.
210
211         returns Boolean from Standard
212         ---C++: inline
213         
214         is static;      
215
216
217     Vertex(me)
218     
219         ---Purpose: Returns the information about the point when it is
220         --          on the domain of the patch, i-e when the function
221         --          IsVertex returns True.
222         --          Otherwise, an exception is raised.
223     
224         returns any TheVertex
225         ---C++: return const&
226         ---C++: inline
227
228         raises DomainError from Standard
229
230         is static;
231
232
233     IsMultiple(me)
234     
235         ---Purpose: Returns True if the point belongs to several
236         --          lines.
237
238         returns Boolean from Standard
239         ---C++: inline
240         
241         is static;
242
243     IsInternal(me)
244     
245         ---Purpose: Returns True if the point  is an internal one, i.e
246         --          if the  tangent to the line on  the point  and the
247         --          eye direction are parallel.
248
249         returns Boolean from Standard
250         ---C++: inline
251         
252         is static;
253
254
255 fields
256
257     pt         : Pnt         from gp;
258     uparam     : Real        from Standard;
259     vparam     : Real        from Standard;
260     paraline   : Real        from Standard;
261     onarc      : Boolean     from Standard;
262     arc        : TheArc;
263     traline    : Transition  from IntSurf;
264     traarc     : Transition  from IntSurf;
265     prmarc     : Real        from Standard;
266     isvtx      : Boolean     from Standard;
267     vtx        : TheVertex;
268     ismult     : Boolean     from Standard;
269     myInternal : Boolean     from Standard;
270     
271 end Point;