File indexing completed on 2026-09-19 09:27:28
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BRepPrim_GWedge_HeaderFile
0018 #define _BRepPrim_GWedge_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <BRepPrim_Builder.hxx>
0025 #include <gp_Ax2.hxx>
0026 #include <TopoDS_Shell.hxx>
0027 #include <Standard_Boolean.hxx>
0028 #include <TopoDS_Vertex.hxx>
0029 #include <TopoDS_Edge.hxx>
0030 #include <TopoDS_Wire.hxx>
0031 #include <TopoDS_Face.hxx>
0032 #include <BRepPrim_Direction.hxx>
0033 class gp_Pln;
0034 class gp_Lin;
0035 class gp_Pnt;
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056 class BRepPrim_GWedge
0057 {
0058 public:
0059 DEFINE_STANDARD_ALLOC
0060
0061
0062 Standard_EXPORT BRepPrim_GWedge();
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075 Standard_EXPORT BRepPrim_GWedge(const BRepPrim_Builder& B,
0076 const gp_Ax2& Axes,
0077 const double dx,
0078 const double dy,
0079 const double dz);
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093 Standard_EXPORT BRepPrim_GWedge(const BRepPrim_Builder& B,
0094 const gp_Ax2& Axes,
0095 const double dx,
0096 const double dy,
0097 const double dz,
0098 const double ltx);
0099
0100
0101
0102
0103
0104
0105
0106 Standard_EXPORT BRepPrim_GWedge(const BRepPrim_Builder& B,
0107 const gp_Ax2& Axes,
0108 const double xmin,
0109 const double ymin,
0110 const double zmin,
0111 const double z2min,
0112 const double x2min,
0113 const double xmax,
0114 const double ymax,
0115 const double zmax,
0116 const double z2max,
0117 const double x2max);
0118
0119
0120 Standard_EXPORT gp_Ax2 Axes() const;
0121
0122
0123 Standard_EXPORT double GetXMin() const;
0124
0125
0126 Standard_EXPORT double GetYMin() const;
0127
0128
0129 Standard_EXPORT double GetZMin() const;
0130
0131
0132 Standard_EXPORT double GetZ2Min() const;
0133
0134
0135 Standard_EXPORT double GetX2Min() const;
0136
0137
0138 Standard_EXPORT double GetXMax() const;
0139
0140
0141 Standard_EXPORT double GetYMax() const;
0142
0143
0144 Standard_EXPORT double GetZMax() const;
0145
0146
0147 Standard_EXPORT double GetZ2Max() const;
0148
0149
0150 Standard_EXPORT double GetX2Max() const;
0151
0152
0153
0154 Standard_EXPORT void Open(const BRepPrim_Direction d1);
0155
0156
0157
0158 Standard_EXPORT void Close(const BRepPrim_Direction d1);
0159
0160
0161 Standard_EXPORT bool IsInfinite(const BRepPrim_Direction d1) const;
0162
0163
0164 Standard_EXPORT const TopoDS_Shell& Shell();
0165
0166
0167 Standard_EXPORT bool HasFace(const BRepPrim_Direction d1) const;
0168
0169
0170 Standard_EXPORT const TopoDS_Face& Face(const BRepPrim_Direction d1);
0171
0172
0173
0174 Standard_EXPORT gp_Pln Plane(const BRepPrim_Direction d1);
0175
0176
0177 Standard_EXPORT bool HasWire(const BRepPrim_Direction d1) const;
0178
0179
0180 Standard_EXPORT const TopoDS_Wire& Wire(const BRepPrim_Direction d1);
0181
0182
0183 Standard_EXPORT bool HasEdge(const BRepPrim_Direction d1, const BRepPrim_Direction d2) const;
0184
0185
0186 Standard_EXPORT const TopoDS_Edge& Edge(const BRepPrim_Direction d1, const BRepPrim_Direction d2);
0187
0188
0189
0190 Standard_EXPORT gp_Lin Line(const BRepPrim_Direction d1, const BRepPrim_Direction d2);
0191
0192
0193
0194 Standard_EXPORT bool HasVertex(const BRepPrim_Direction d1,
0195 const BRepPrim_Direction d2,
0196 const BRepPrim_Direction d3) const;
0197
0198
0199
0200 Standard_EXPORT const TopoDS_Vertex& Vertex(const BRepPrim_Direction d1,
0201 const BRepPrim_Direction d2,
0202 const BRepPrim_Direction d3);
0203
0204
0205
0206 Standard_EXPORT gp_Pnt Point(const BRepPrim_Direction d1,
0207 const BRepPrim_Direction d2,
0208 const BRepPrim_Direction d3);
0209
0210
0211
0212 Standard_EXPORT bool IsDegeneratedShape();
0213
0214 private:
0215 BRepPrim_Builder myBuilder;
0216 gp_Ax2 myAxes;
0217 double XMin;
0218 double XMax;
0219 double YMin;
0220 double YMax;
0221 double ZMin;
0222 double ZMax;
0223 double Z2Min;
0224 double Z2Max;
0225 double X2Min;
0226 double X2Max;
0227 TopoDS_Shell myShell;
0228 bool ShellBuilt;
0229 TopoDS_Vertex myVertices[8];
0230 bool VerticesBuilt[8];
0231 TopoDS_Edge myEdges[12];
0232 bool EdgesBuilt[12];
0233 TopoDS_Wire myWires[6];
0234 bool WiresBuilt[6];
0235 TopoDS_Face myFaces[6];
0236 bool FacesBuilt[6];
0237 bool myInfinite[6];
0238 };
0239
0240 #endif