Test for 0022778: Bug in BRepMesh
[occt.git] / src / Intf / Intf_SectionPoint.cdl
1 -- Created on: 1991-06-18
2 -- Created by: Didier PIFFAULT
3 -- Copyright (c) 1991-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
23 class SectionPoint from Intf
24
25         ---Purpose: Describes an intersection  point between  polygons  and
26         --          polyedra.
27
28 uses    Boolean from Standard,
29         Integer from Standard,
30         Real from Standard,
31         Pnt from gp,
32         Pnt2d from gp,
33         PIType from Intf
34
35 is
36
37 -- User Interface :
38
39     Pnt            (me)
40                     returns Pnt from gp is static;
41     ---Purpose: Returns the location of the SectionPoint.
42     ---C++: return const &
43
44
45     ParamOnFirst   (me)
46                     returns Real from Standard is static;
47     ---Purpose: Returns the cumulated  Parameter of the SectionPoint on the
48     --          first element.
49     --          
50     ---C++: inline
51
52     ParamOnSecond  (me)
53                     returns Real from Standard is static;
54     ---Purpose: Returns the cumulated Parameter of the section point on the
55     --          second element.
56     --          
57     ---C++: inline
58
59     TypeOnFirst   (me)
60                     returns PIType is static;
61     ---Purpose: Returns the type of the section point on the first element.
62     --          
63     ---C++: inline
64
65     TypeOnSecond  (me)
66                     returns PIType is static;
67     ---Purpose: Returns  the  type  of the  section  point  on  the  second
68     --          element.
69     --          
70     ---C++: inline
71
72     InfoFirst      (me;
73                     Dim      : out PIType;
74                     Add1     : out Integer;
75                     Add2     : out Integer;
76                     Param    : out Real) is static;
77     InfoFirst      (me;
78                     Dim      : out PIType;
79                     Addr     : out Integer;
80                     Param    : out Real) is static;
81     ---Purpose: Gives the   datas  about   the    first  argument of    the
82     --          Interference.
83
84
85
86     InfoSecond     (me;
87                     Dim      : out PIType;
88                     Add1     : out Integer;
89                     Add2     : out Integer;
90                     Param    : out Real) is static;
91     InfoSecond     (me;
92                     Dim      : out PIType;
93                     Addr     : out Integer;
94                     Param    : out Real) is static;
95     ---Purpose: Gives the   datas  about   the    second  argument of    the
96     --          Interference.
97
98
99     Incidence   (me)
100                     returns Real is static;
101     ---Purpose: Gives the incidence at  this  section point. The  incidence
102     --          between the two triangles is given by the cosine.  The best
103     --          incidence is 0. (PI/2).  The worst is 1. (null angle).
104
105
106     IsEqual        (me;
107                     Other    : in SectionPoint from Intf)  -- in like me);
108                     returns Boolean is static;
109     ---Purpose: Returns True if the two SectionPoint have the  same logical
110     --          informations.
111     --          
112     ---C++: alias operator==
113     ---C++: inline
114
115     IsOnSameEdge   (me;
116                     Other    : in SectionPoint from Intf)  -- in like me);
117                     returns Boolean is static;
118     ---Purpose: Returns True if the two SectionPoints are  on the  same edge
119     --          of the first or the second element.
120
121
122 -- Constructor :
123
124
125     Create;
126     
127     Create         (Where    : in Pnt from gp;
128                     DimeO    : in PIType;
129                     AddrO1   : in Integer;
130                     AddrO2   : in Integer;
131                     ParamO   : in Real;
132                     DimeT    : in PIType;
133                     AddrT1   : in Integer;
134                     AddrT2   : in Integer;
135                     ParamT   : in Real;
136                     Incid    : in Real)
137                     returns SectionPoint;
138     ---Purpose: Builds  a  SectionPoint    with the  respective  dimensions
139     --          (vertex edge or face)  of the concerned arguments and their
140     --          addresses in the Topological structure.
141
142     Create         (Where    : in Pnt2d from gp;
143                     DimeO    : in PIType;
144                     AddrO1   : in Integer;
145                     ParamO   : in Real;
146                     DimeT    : in PIType;
147                     AddrT1   : in Integer;
148                     ParamT   : in Real;
149                     Incid    : in Real)
150                     returns SectionPoint;
151     ---Purpose: Builds  a  SectionPoint 2d   with the respective dimensions
152     --          (vertex or  edge)  of  the concerned arguments   and  their
153     --          addresses in the Topological structure.
154
155
156     Merge          (me       : in out;
157                     Other    : in out SectionPoint from Intf) 
158                             -- in out like me
159                     is static;
160     ---Purpose: Merges two SectionPoints.
161
162
163 -- Test needings :
164
165     Dump           (me;
166                     Indent : in Integer) is static;
167
168 fields
169
170     myPnt     : Pnt from gp;
171     DimenObje : PIType from Intf;
172     IndexO1   : Integer from Standard;
173     IndexO2   : Integer from Standard;
174     ParamObje : Real from Standard;
175     DimenTool : PIType from Intf;
176     IndexT1   : Integer from Standard;
177     IndexT2   : Integer from Standard;
178     ParamTool : Real from Standard;
179     Incide    : Real from Standard;
180
181 end SectionPoint;