File indexing completed on 2026-09-28 09:20:08
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef GeomBndLib_SurfaceOfExtrusion_HeaderFile
0015 #define GeomBndLib_SurfaceOfExtrusion_HeaderFile
0016
0017 #include <Bnd_Box.hxx>
0018 #include <Geom_SurfaceOfLinearExtrusion.hxx>
0019 #include <Standard.hxx>
0020 #include <Standard_DefineAlloc.hxx>
0021
0022
0023
0024
0025 class GeomBndLib_SurfaceOfExtrusion
0026 {
0027 public:
0028 DEFINE_STANDARD_ALLOC
0029
0030 GeomBndLib_SurfaceOfExtrusion(const occ::handle<Geom_SurfaceOfLinearExtrusion>& theSurf)
0031 : myGeom(theSurf)
0032 {
0033 }
0034
0035 GeomBndLib_SurfaceOfExtrusion(const GeomBndLib_SurfaceOfExtrusion&) = delete;
0036 GeomBndLib_SurfaceOfExtrusion& operator=(const GeomBndLib_SurfaceOfExtrusion&) = delete;
0037 GeomBndLib_SurfaceOfExtrusion(GeomBndLib_SurfaceOfExtrusion&&) = delete;
0038 GeomBndLib_SurfaceOfExtrusion& operator=(GeomBndLib_SurfaceOfExtrusion&&) = delete;
0039
0040 const occ::handle<Geom_SurfaceOfLinearExtrusion>& Geometry() const { return myGeom; }
0041
0042
0043 [[nodiscard]] Standard_EXPORT Bnd_Box Box(double theTol) const;
0044
0045
0046 [[nodiscard]] Standard_EXPORT Bnd_Box
0047 Box(double theUMin, double theUMax, double theVMin, double theVMax, double theTol) const;
0048
0049
0050 [[nodiscard]] Standard_EXPORT Bnd_Box
0051 BoxOptimal(double theUMin, double theUMax, double theVMin, double theVMax, double theTol) const;
0052
0053
0054 [[nodiscard]] Bnd_Box BoxOptimal(double theTol) const
0055 {
0056 double aU1 = 0., aU2 = 0., aV1 = 0., aV2 = 0.;
0057 myGeom->Bounds(aU1, aU2, aV1, aV2);
0058 return BoxOptimal(aU1, aU2, aV1, aV2, theTol);
0059 }
0060
0061 private:
0062 occ::handle<Geom_SurfaceOfLinearExtrusion> myGeom;
0063 };
0064
0065 #endif