0024428: Implementation of LGPL license
[occt.git] / src / BRep / BRep_PointRepresentation.cdl
1 -- Created on: 1993-08-10
2 -- Created by: Remi LEQUETTE
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
9 -- under the terms of the GNU Lesser General Public 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 deferred class PointRepresentation from BRep inherits TShared from MMgt
18
19         ---Purpose: Root  class     for   the points  representations.
20         --          Contains a location and a parameter.
21
22 uses
23     Curve    from Geom2d,
24     Curve    from Geom,
25     Surface  from Geom,
26     Location from TopLoc
27
28 raises
29     DomainError from Standard
30
31 is
32
33    Initialize(P : Real;
34               L : Location from TopLoc);
35    
36     -------------------------------------------------
37     -- What kind of representation
38     -------------------------------------------------
39
40     IsPointOnCurve(me)          returns Boolean
41         ---Purpose: A point on a 3d curve.
42     is virtual;
43         
44     IsPointOnCurveOnSurface(me) returns Boolean
45         ---Purpose: A point on a 2d curve on a surface.
46     is virtual;
47
48     IsPointOnSurface(me)        returns Boolean
49         ---Purpose: A point on a surface.
50     is virtual;
51    
52     IsPointOnCurve(me; C : Curve    from Geom;
53                        L : Location from TopLoc)   returns Boolean
54         ---Purpose: A point on the curve <C>.
55     is virtual;
56         
57     IsPointOnCurveOnSurface(me; PC : Curve     from Geom2d;
58                                 S  : Surface  from Geom;
59                                 L  : Location from TopLoc)   returns Boolean
60         ---Purpose: A point on the 2d curve <PC> on the surface <S>.
61     is virtual;
62
63     IsPointOnSurface(me; S  : Surface  from Geom;
64                          L  : Location from TopLoc)   returns Boolean
65         ---Purpose: A point on the surface <S>.
66     is virtual;
67    
68     -------------------------------------------------
69     -- Location
70     -------------------------------------------------
71
72     Location(me) returns Location from TopLoc
73         ---C++: return const &
74         ---C++: inline
75     is static;
76                 
77     Location(me : mutable; L : Location from TopLoc)
78         ---C++: inline
79     is static;
80     
81     -------------------------------------------------
82     -- Parameters
83     -------------------------------------------------
84
85     Parameter(me) returns Real
86         ---C++: inline
87     is static;
88                 
89     Parameter(me : mutable; P : Real)
90         ---C++: inline
91     is static;
92                 
93     Parameter2(me) returns Real
94     raises 
95         DomainError from Standard -- if !IsPointOnSurface
96     is virtual;
97                 
98     Parameter2(me : mutable; P : Real)
99     raises 
100         DomainError from Standard -- if !IsPointOnSurface
101     is virtual;
102
103     -------------------------------------------------
104     -- 3d curve
105     -------------------------------------------------
106
107     Curve(me) returns any Curve from Geom
108         ---C++: return const &
109     raises
110         DomainError from Standard -- if !IsPointOnCurve
111     is virtual;
112         
113     Curve(me : mutable; C : Curve from Geom)
114     raises
115         DomainError from Standard -- if !IsPointOnCurve
116     is virtual;
117         
118                 
119     -------------------------------------------------
120     -- curve on surface
121     -------------------------------------------------
122         
123     PCurve(me) returns any Curve from Geom2d
124         ---C++: return const &
125     raises
126         DomainError from Standard -- if !IsPointOnCurveOnSurface
127     is virtual;
128     
129     PCurve(me : mutable; C : Curve from Geom2d)
130     raises
131         DomainError from Standard -- if !IsPointOnCurveOnSurface
132     is virtual;
133     
134     -------------------------------------------------
135     -- surface
136     -------------------------------------------------
137         
138     Surface(me) returns any Surface from Geom
139         ---C++: return const &
140     raises
141         DomainError from Standard -- if IsPointOnCurve()
142     is virtual;
143
144     Surface(me : mutable; S : Surface from Geom)
145     raises
146         DomainError from Standard -- if IsPointOnCurve()
147     is virtual;
148
149 fields
150
151     myLocation  : Location from TopLoc;
152     myParameter : Real;
153
154 end PointRepresentation;