Test for 0022778: Bug in BRepMesh
[occt.git] / src / BRepClass3d / BRepClass3d_Intersector3d.cdl
1 -- Created on: 1994-04-01
2 -- Created by: Laurent BUCHARD
3 -- Copyright (c) 1994-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
24 class Intersector3d from BRepClass3d 
25     
26     
27 uses 
28     Lin               from gp,
29     Pnt               from gp,
30     Face              from TopoDS,
31     Shape             from TopoDS,
32     State             from TopAbs,
33     TransitionOnCurve from IntCurveSurface
34     
35 is
36
37     Create returns Intersector3d from BRepClass3d;
38         ---Purpose: Empty constructor.
39                   
40     Perform(me: in out;  L    : Lin     from gp;
41                          Prm  : Real    from Standard;
42                          Tol  : Real    from Standard;
43                          F    : Face    from TopoDS) 
44         ---Purpose: Perform the intersection between the 
45         --          segment L(0) ... L(Prm) and the Shape <Sh>.
46         --          
47         --          Only the point with the smallest parameter on the 
48         --          line is returned. 
49         --          
50         --          The Tolerance <Tol> is used to determine if the 
51         --          first point of the segment is near the face. In 
52         --          that case, the parameter of the intersection point 
53         --          on the line can be a negative value (greater than -Tol).
54     is static;
55     
56     
57     IsDone(me)  
58         ---Purpose: True is returned when the intersection have been computed.
59         ---C++: inline
60     returns Boolean from Standard
61     is static;
62     
63     
64     HasAPoint(me) 
65         ---Purpose: True is returned if a point has been found.
66         ---C++: inline
67     returns Boolean from Standard
68     is static;
69     
70          
71     UParameter(me) 
72         ---Purpose: Returns the U parameter of the intersection point 
73         --          on the surface.
74         ---C++: inline
75     returns Real from Standard
76     is static;
77
78     VParameter(me) 
79         ---Purpose: Returns the V parameter of the intersection point 
80         --          on the surface.
81         ---C++: inline
82     returns Real from Standard
83     is static;
84
85     WParameter(me) 
86         ---Purpose: Returns the parameter of the intersection point 
87         --          on the line.
88         ---C++: inline
89     returns Real from Standard
90     is static;
91
92
93     Pnt(me)
94         ---Purpose: Returns the geometric point of the intersection 
95         --          between the line and the surface.
96         ---C++: inline
97         ---C++: return const &
98     returns Pnt from gp
99     is static;
100     
101     
102     Transition(me) 
103         ---Purpose: Returns the transition of the line on the surface.
104         ---C++: inline
105     returns TransitionOnCurve from IntCurveSurface
106     is static;
107     
108
109     State(me) 
110         ---Purpose: Returns the state of the point on the face.
111         --          The values can be either TopAbs_IN 
112         --             ( the point is in the face)
113         --           or TopAbs_ON
114         --             ( the point is on a boudary of the face).
115         ---C++: inline
116        
117     returns State from TopAbs
118     is static;
119     
120     Face(me) 
121         ---Purpose: Returns the significant face used to determine
122         --          the intersection. 
123         --          
124         ---C++: inline
125         ---C++: return const &
126     returns Face from TopoDS
127     is static;
128     
129     
130         ---------------------- Local Geometry avec courbureS dans une 
131         --                     direction et la direction normale     
132
133 fields
134
135     pnt                :  Pnt                 from gp;
136     U                  :  Real                from Standard;
137     V                  :  Real                from Standard;
138     W                  :  Real                from Standard;
139     transition         :  TransitionOnCurve   from IntCurveSurface;
140     done               :  Boolean             from Standard;
141     hasapoint          :  Boolean             from Standard;
142     state              :  State               from TopAbs;
143     face               :  Face                from TopoDS;
144
145 end Intersector3d;
146
147    
148
149
150
151
152
153