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