1 -- Created on: 1991-09-18
2 -- Created by: Christophe MARION
3 -- Copyright (c) 1991-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 class GWedge from BRepPrim
20 ---Purpose: A wedge is defined by :
22 -- Axes : an Axis2 (coordinate system)
24 -- YMin, YMax the coordinates of the ymin and ymax
25 -- rectangular faces parallel to the ZX plane (of the
26 -- coordinate systems)
28 -- ZMin,ZMax,XMin,XMax the rectangular
29 -- left (YMin) face parallel to the Z and X axes.
31 -- Z2Min,Z2Max,X2Min,X2Max the rectangular
32 -- right (YMax) face parallel to the Z and X axes.
34 -- For a box Z2Min = ZMin, Z2Max = ZMax,
35 -- X2Min = XMin, X2Max = XMax
37 -- The wedge can be open in the corresponding direction
38 -- of its Boolean myInfinite
43 Direction from BRepPrim,
61 Create(B : Builder from BRepPrim; Axes : Ax2 from gp; dx, dy, dz : Real)
62 returns GWedge from BRepPrim
63 ---Purpose: Creates a GWedge algorithm. <Axes> is the axis
64 -- system for the primitive.
66 -- XMin, YMin, ZMin are set to 0
67 -- XMax, YMax, ZMax are set to dx, dy, dz
72 -- The result is a box
73 -- dx,dy,dz should be positive
76 Create(B : Builder from BRepPrim; Axes : Ax2 from gp; dx, dy, dz, ltx : Real)
77 returns GWedge from BRepPrim
78 ---Purpose: Creates a GWedge primitive. <Axes> is the axis
79 -- system for the primitive.
81 -- XMin, YMin, ZMin are set to 0
82 -- XMax, YMax, ZMax are set to dx, dy, dz
87 -- The result is a STEP right angular wedge
88 -- dx,dy,dz should be positive
89 -- ltx should not be negative
92 Create(B : Builder from BRepPrim; Axes : Ax2 from gp; xmin, ymin, zmin, z2min, x2min,
93 xmax, ymax, zmax, z2max, x2max : Real)
94 returns GWedge from BRepPrim
95 ---Purpose: Create a GWedge primitive. <Axes> is the axis
96 -- system for the primitive.
98 -- all the fields are set to the corresponding value
99 -- XYZMax - XYZMin should be positive
100 -- ZX2Max - ZX2Min should not be negative
103 Axes(me) returns Ax2 from gp
104 ---Purpose: Returns the coordinates system from <me>.
107 GetXMin(me) returns Real
108 ---Purpose: Returns Xmin value from <me>.
111 GetYMin(me) returns Real
112 ---Purpose: Returns YMin value from <me>.
115 GetZMin(me) returns Real
116 ---Purpose: Returns ZMin value from <me>.
119 GetZ2Min(me) returns Real
120 ---Purpose: Returns Z2Min value from <me>.
123 GetX2Min(me) returns Real
124 ---Purpose: Returns X2Min value from <me>.
127 GetXMax(me) returns Real
128 ---Purpose: Returns XMax value from <me>.
131 GetYMax(me) returns Real
132 ---Purpose: Returns YMax value from <me>.
135 GetZMax(me) returns Real
136 ---Purpose: Returns ZMax value from <me>.
139 GetZ2Max(me) returns Real
140 ---Purpose: Returns Z2Max value from <me>.
143 GetX2Max(me) returns Real
144 ---Purpose: Returns X2Max value from <me>.
147 Open(me : in out; d1 : Direction from BRepPrim)
148 ---Purpose: Opens <me> in <d1> direction. A face and its edges
149 -- or vertices are said nonexistant.
153 Close(me : in out; d1 : Direction from BRepPrim)
154 ---Purpose: Closes <me> in <d1> direction. A face and its
155 -- edges or vertices are said existant.
159 IsInfinite(me; d1 : Direction from BRepPrim)
160 ---Purpose: Returns True if <me> is open in <d1> direction.
163 Shell(me : in out) returns Shell from TopoDS
164 ---Purpose: Returns the Shell containing the Faces of <me>.
166 ---C++: return const &
169 HasFace(me; d1 : Direction from BRepPrim)
170 ---Purpose: Returns True if <me> has a Face in <d1> direction.
173 Face(me : in out; d1 : Direction from BRepPrim) returns Face from TopoDS
174 ---Purpose: Returns the Face of <me> located in <d1> direction.
176 ---C++: return const &
180 Plane(me : in out; d1 : Direction from BRepPrim) returns Pln from gp
181 ---Purpose: Returns the plane of the Face of <me> located in
186 HasWire(me; d1 : Direction from BRepPrim)
187 ---Purpose: Returns True if <me> has a Wire in <d1> direction.
190 Wire(me : in out; d1 : Direction from BRepPrim) returns Wire from TopoDS
191 ---Purpose: Returns the Wire of <me> located in <d1> direction.
193 ---C++: return const &
197 HasEdge(me; d1, d2 : Direction from BRepPrim)
198 ---Purpose: Returns True if <me> has an Edge in <d1><d2> direction.
201 Edge(me : in out; d1, d2 : Direction from BRepPrim) returns Edge from TopoDS
202 ---Purpose: Returns the Edge of <me> located in <d1><d2> direction.
204 ---C++: return const &
208 Line(me : in out; d1, d2 : Direction from BRepPrim) returns Lin from gp
209 ---Purpose: Returns the line of the Edge of <me> located in
210 -- <d1><d2> direction.
214 HasVertex(me; d1, d2, d3 : Direction from BRepPrim)
215 ---Purpose: Returns True if <me> has a Vertex in <d1><d2><d3>
219 Vertex(me : in out; d1, d2, d3 : Direction from BRepPrim)
220 returns Vertex from TopoDS
221 ---Purpose: Returns the Vertex of <me> located in <d1><d2><d3>
224 ---C++: return const &
228 Point(me : in out; d1, d2, d3 : Direction from BRepPrim)
230 ---Purpose: Returns the point of the Vertex of <me> located in
231 -- <d1><d2><d3> direction.
236 myBuilder : Builder from BRepPrim;
238 myAxes : Ax2 from gp;
252 myShell : Shell from TopoDS;
253 ShellBuilt : Boolean;
255 myVertices : Vertex from TopoDS [8];
256 -- 0 : xmin ymin zmin
257 -- 1 : xmax ymin zmin
258 -- 2 : xmin ymax zmin
259 -- 3 : xmax ymax zmin
260 -- 4 : xmin ymin zmax
261 -- 5 : xmax ymin zmax
262 -- 6 : xmin ymax zmax
263 -- 7 : xmax ymax zmax
264 VerticesBuilt : Boolean [8];
266 myEdges : Edge from TopoDS [12];
279 EdgesBuilt : Boolean [12];
281 myWires : Wire from TopoDS [6];
288 WiresBuilt : Boolean [6];
290 myFaces : Face from TopoDS [6];
297 FacesBuilt : Boolean [6];
299 myInfinite : Boolean[6];