File: BRepPrim_GWedge.hxx

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (229 lines) | stat: -rw-r--r-- 7,353 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _BRepPrim_GWedge_HeaderFile
#define _BRepPrim_GWedge_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <BRepPrim_Builder.hxx>
#include <gp_Ax2.hxx>
#include <Standard_Real.hxx>
#include <TopoDS_Shell.hxx>
#include <Standard_Boolean.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Wire.hxx>
#include <TopoDS_Face.hxx>
#include <BRepPrim_Direction.hxx>
class Standard_DomainError;
class Standard_OutOfRange;
class BRepPrim_Builder;
class gp_Ax2;
class TopoDS_Shell;
class TopoDS_Face;
class gp_Pln;
class TopoDS_Wire;
class TopoDS_Edge;
class gp_Lin;
class TopoDS_Vertex;
class gp_Pnt;


//! A wedge is defined by  :
//!
//! Axes : an Axis2 (coordinate system)
//!
//! YMin, YMax the  coordinates of the  ymin and ymax
//! rectangular faces parallel to the ZX plane (of the
//! coordinate systems)
//!
//! ZMin,ZMax,XMin,XMax the rectangular
//! left (YMin) face parallel to the Z and X axes.
//!
//! Z2Min,Z2Max,X2Min,X2Max the rectangular
//! right (YMax) face parallel to the Z and X axes.
//!
//! For a box Z2Min = ZMin, Z2Max = ZMax,
//! X2Min = XMin, X2Max = XMax
//!
//! The wedge can be open in the corresponding direction
//! of its Boolean myInfinite
class BRepPrim_GWedge 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! Creates a  GWedge  algorithm.   <Axes> is  the axis
  //! system for the primitive.
  //!
  //! XMin, YMin, ZMin are set to 0
  //! XMax, YMax, ZMax are set to dx, dy, dz
  //! Z2Min = ZMin
  //! Z2Max = ZMax
  //! X2Min = XMin
  //! X2Max = XMax
  //! The result is a box
  //! dx,dy,dz should be positive
  Standard_EXPORT BRepPrim_GWedge(const BRepPrim_Builder& B, const gp_Ax2& Axes, const Standard_Real dx, const Standard_Real dy, const Standard_Real dz);
  
  //! Creates  a GWedge  primitive. <Axes> is   the  axis
  //! system for the primitive.
  //!
  //! XMin, YMin, ZMin are set to 0
  //! XMax, YMax, ZMax are set to dx, dy, dz
  //! Z2Min = ZMin
  //! Z2Max = ZMax
  //! X2Min = ltx
  //! X2Max = ltx
  //! The result is a STEP right angular wedge
  //! dx,dy,dz should be positive
  //! ltx should not be negative
  Standard_EXPORT BRepPrim_GWedge(const BRepPrim_Builder& B, const gp_Ax2& Axes, const Standard_Real dx, const Standard_Real dy, const Standard_Real dz, const Standard_Real ltx);
  
  //! Create  a GWedge primitive.   <Axes>  is  the  axis
  //! system for the primitive.
  //!
  //! all the fields are set to the corresponding value
  //! XYZMax - XYZMin should be positive
  //! ZX2Max - ZX2Min should not be negative
  Standard_EXPORT BRepPrim_GWedge(const BRepPrim_Builder& B, const gp_Ax2& Axes, const Standard_Real xmin, const Standard_Real ymin, const Standard_Real zmin, const Standard_Real z2min, const Standard_Real x2min, const Standard_Real xmax, const Standard_Real ymax, const Standard_Real zmax, const Standard_Real z2max, const Standard_Real x2max);
  
  //! Returns the coordinates system from <me>.
  Standard_EXPORT   gp_Ax2 Axes()  const;
  
  //! Returns Xmin value from <me>.
  Standard_EXPORT   Standard_Real GetXMin()  const;
  
  //! Returns YMin value from <me>.
  Standard_EXPORT   Standard_Real GetYMin()  const;
  
  //! Returns ZMin value from <me>.
  Standard_EXPORT   Standard_Real GetZMin()  const;
  
  //! Returns Z2Min value from <me>.
  Standard_EXPORT   Standard_Real GetZ2Min()  const;
  
  //! Returns X2Min value from <me>.
  Standard_EXPORT   Standard_Real GetX2Min()  const;
  
  //! Returns XMax value from <me>.
  Standard_EXPORT   Standard_Real GetXMax()  const;
  
  //! Returns YMax value from <me>.
  Standard_EXPORT   Standard_Real GetYMax()  const;
  
  //! Returns ZMax value from <me>.
  Standard_EXPORT   Standard_Real GetZMax()  const;
  
  //! Returns Z2Max value from <me>.
  Standard_EXPORT   Standard_Real GetZ2Max()  const;
  
  //! Returns X2Max value from <me>.
  Standard_EXPORT   Standard_Real GetX2Max()  const;
  
  //! Opens <me> in <d1> direction. A face and its edges
  //! or vertices are said nonexistant.
  Standard_EXPORT   void Open (const BRepPrim_Direction d1) ;
  
  //! Closes   <me>  in <d1>  direction.  A face and its
  //! edges or vertices are said existant.
  Standard_EXPORT   void Close (const BRepPrim_Direction d1) ;
  
  //! Returns True if <me> is open in <d1> direction.
  Standard_EXPORT   Standard_Boolean IsInfinite (const BRepPrim_Direction d1)  const;
  
  //! Returns the Shell containing the Faces of <me>.
  Standard_EXPORT  const  TopoDS_Shell& Shell() ;
  
  //! Returns True if <me> has a Face in <d1> direction.
  Standard_EXPORT   Standard_Boolean HasFace (const BRepPrim_Direction d1)  const;
  
  //! Returns the Face of <me> located in <d1> direction.
  Standard_EXPORT  const  TopoDS_Face& Face (const BRepPrim_Direction d1) ;
  
  //! Returns the plane  of the Face  of <me> located in
  //! <d1> direction.
  Standard_EXPORT   gp_Pln Plane (const BRepPrim_Direction d1) ;
  
  //! Returns True if <me> has a Wire in <d1> direction.
  Standard_EXPORT   Standard_Boolean HasWire (const BRepPrim_Direction d1)  const;
  
  //! Returns the Wire of <me> located in <d1> direction.
  Standard_EXPORT  const  TopoDS_Wire& Wire (const BRepPrim_Direction d1) ;
  
  //! Returns True if <me> has an Edge in <d1><d2> direction.
  Standard_EXPORT   Standard_Boolean HasEdge (const BRepPrim_Direction d1, const BRepPrim_Direction d2)  const;
  
  //! Returns the Edge of <me> located in <d1><d2> direction.
  Standard_EXPORT  const  TopoDS_Edge& Edge (const BRepPrim_Direction d1, const BRepPrim_Direction d2) ;
  
  //! Returns the line of  the Edge of <me>  located  in
  //! <d1><d2> direction.
  Standard_EXPORT   gp_Lin Line (const BRepPrim_Direction d1, const BRepPrim_Direction d2) ;
  
  //! Returns True if <me> has a  Vertex in <d1><d2><d3>
  //! direction.
  Standard_EXPORT   Standard_Boolean HasVertex (const BRepPrim_Direction d1, const BRepPrim_Direction d2, const BRepPrim_Direction d3)  const;
  
  //! Returns the Vertex of <me> located in <d1><d2><d3>
  //! direction.
  Standard_EXPORT  const  TopoDS_Vertex& Vertex (const BRepPrim_Direction d1, const BRepPrim_Direction d2, const BRepPrim_Direction d3) ;
  
  //! Returns the point of the Vertex of <me> located in
  //! <d1><d2><d3> direction.
  Standard_EXPORT   gp_Pnt Point (const BRepPrim_Direction d1, const BRepPrim_Direction d2, const BRepPrim_Direction d3) ;




protected:





private:



  BRepPrim_Builder myBuilder;
  gp_Ax2 myAxes;
  Standard_Real XMin;
  Standard_Real XMax;
  Standard_Real YMin;
  Standard_Real YMax;
  Standard_Real ZMin;
  Standard_Real ZMax;
  Standard_Real Z2Min;
  Standard_Real Z2Max;
  Standard_Real X2Min;
  Standard_Real X2Max;
  TopoDS_Shell myShell;
  Standard_Boolean ShellBuilt;
  TopoDS_Vertex myVertices[8];
  Standard_Boolean VerticesBuilt[8];
  TopoDS_Edge myEdges[12];
  Standard_Boolean EdgesBuilt[12];
  TopoDS_Wire myWires[6];
  Standard_Boolean WiresBuilt[6];
  TopoDS_Face myFaces[6];
  Standard_Boolean FacesBuilt[6];
  Standard_Boolean myInfinite[6];


};







#endif // _BRepPrim_GWedge_HeaderFile