1 -- Created on: 1992-09-29
2 -- Created by: Didier PIFFAULT
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 generic class InterferencePolygonPolyhedron from Intf
19 ToolPolygon3d as any; -- as ToolPolygon(Pnt,Polygon3d,Box)
22 inherits Interference from Intf
24 ---Purpose: Computes the interference between a polygon and a
30 Array1OfLin from Intf,
31 SectionPoint from Intf,
32 SeqOfSectionPoint from Intf,
33 TangentZone from Intf,
34 SeqOfTangentZone from Intf,
41 Create returns InterferencePolygonPolyhedron from Intf;
42 ---Purpose: Constructs an empty interference between Polygon and
45 Create (thePolyg : in Polygon3d;
46 thePolyh : in Polyhedron)
47 returns InterferencePolygonPolyhedron from Intf;
48 ---Purpose: Constructs and computes an interference between the Polygon
49 -- and the Polyhedron.
51 Create (theLin : in Lin from gp;
52 thePolyh : in Polyhedron)
53 returns InterferencePolygonPolyhedron from Intf;
54 ---Purpose: Constructs and computes an interference between the
55 -- Straight Line and the Polyhedron.
57 Create (theLins : in Array1OfLin from Intf;
58 thePolyh : in Polyhedron)
59 returns InterferencePolygonPolyhedron from Intf;
60 ---Purpose: Constructs and computes an interference between the
61 -- Straight Lines and the Polyhedron.
64 thePolyg : in Polygon3d;
65 thePolyh : in Polyhedron)
66 ---Purpose: Computes an interference between the Polygon and the
71 theLin : in Lin from gp;
72 thePolyh : Polyhedron)
73 ---Purpose: Computes an interference between the Straight Line and the
78 theLins : in Array1OfLin from Intf;
79 thePolyh : in Polyhedron)
80 ---Purpose: Computes an interference between the Straight Lines and
87 --------------- Optimisation : On Passe le Bnd_BoundSortBox
90 Create (thePolyg : in Polygon3d;
91 thePolyh : in Polyhedron;
92 theBoundSB : in out BoundSortBox from Bnd)
93 returns InterferencePolygonPolyhedron from Intf;
94 ---Purpose: Constructs and computes an interference between the Polygon
95 -- and the Polyhedron.
97 Create (theLin : in Lin from gp;
98 thePolyh : in Polyhedron;
99 theBoundSB : in out BoundSortBox from Bnd)
100 returns InterferencePolygonPolyhedron from Intf;
101 ---Purpose: Constructs and computes an interference between the
102 -- Straight Line and the Polyhedron.
104 Create (theLins : in Array1OfLin from Intf;
105 thePolyh : in Polyhedron;
106 theBoundSB : in out BoundSortBox from Bnd)
107 returns InterferencePolygonPolyhedron from Intf;
108 ---Purpose: Constructs and computes an interference between the
109 -- Straight Lines and the Polyhedron.
111 Perform (me : in out;
112 thePolyg : in Polygon3d;
113 thePolyh : in Polyhedron;
114 theBoundSB : in out BoundSortBox from Bnd)
115 ---Purpose: Computes an interference between the Polygon and the
119 Perform (me : in out;
120 theLin : in Lin from gp;
121 thePolyh : Polyhedron;
122 theBoundSB : in out BoundSortBox from Bnd)
123 ---Purpose: Computes an interference between the Straight Line and the
127 Perform (me : in out;
128 theLins : in Array1OfLin from Intf;
129 thePolyh : in Polyhedron;
130 theBoundSB : in out BoundSortBox from Bnd)
131 ---Purpose: Computes an interference between the Straight Lines and
137 Interference (me : in out;
138 thePolyg : in Polygon3d;
139 thePolyh : in Polyhedron;
140 theBoundSB : in out BoundSortBox from Bnd)
142 ---Purpose: Compares the boundings between the segment of <thePolyg> and
143 -- the facets of <thePolyh>.
150 Interference (me : in out;
151 thePolyg : in Polygon3d;
152 thePolyh : in Polyhedron)
154 ---Purpose: Compares the boundings between the segment of <thePolyg> and
155 -- the facets of <thePolyh>.
158 Intersect (me : in out;
159 BegO : in Pnt from gp;
160 EndO : in Pnt from gp;
161 Infinite : Boolean from Standard;
162 TTri : in Integer from Standard;
163 thePolyh : in Polyhedron)
165 ---Purpose: Computes the intersection between the segment <BegO><EndO>
166 -- and the triangle <TTri> of <thePolyh>.
168 Intersect (me : in out;
169 BegO : in Pnt from gp;
170 EndO : in Pnt from gp;
171 Infinite : Boolean from Standard;
172 TTri : in Integer from Standard;
173 thePolyh : in Polyhedron;
174 TriNormal: in XYZ from gp;
175 TriDp : in Real from Standard;
176 dBegTri : in Real from Standard;
177 dEndTri : in Real from Standard)
179 ---Purpose: Computes the intersection between the segment <BegO><EndO>
180 -- and the triangle <TTri> of <thePolyh>.
183 BeginOfClosedPolygon: Boolean from Standard;
184 iLin : Integer from Standard;
186 end InterferencePolygonPolyhedron;