File indexing completed on 2026-09-28 09:20:07
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef GeomBndLib_Parabola2d_HeaderFile
0015 #define GeomBndLib_Parabola2d_HeaderFile
0016
0017 #include <Bnd_Box2d.hxx>
0018 #include <Geom2d_Parabola.hxx>
0019 #include <Standard.hxx>
0020 #include <Standard_DefineAlloc.hxx>
0021 #include <gp_Parab2d.hxx>
0022
0023
0024
0025
0026
0027
0028 class GeomBndLib_Parabola2d
0029 {
0030 public:
0031 DEFINE_STANDARD_ALLOC
0032
0033 GeomBndLib_Parabola2d(const occ::handle<Geom2d_Parabola>& theParabola)
0034 : myGeom(theParabola)
0035 {
0036 }
0037
0038 GeomBndLib_Parabola2d(const GeomBndLib_Parabola2d&) = delete;
0039 GeomBndLib_Parabola2d& operator=(const GeomBndLib_Parabola2d&) = delete;
0040 GeomBndLib_Parabola2d(GeomBndLib_Parabola2d&&) = delete;
0041 GeomBndLib_Parabola2d& operator=(GeomBndLib_Parabola2d&&) = delete;
0042
0043 const occ::handle<Geom2d_Parabola>& Geometry() const { return myGeom; }
0044
0045
0046 [[nodiscard]] Bnd_Box2d Box(double theU1, double theU2, double theTol) const
0047 {
0048 return Box(myGeom->Parab2d(), theU1, theU2, theTol);
0049 }
0050
0051
0052 [[nodiscard]] Bnd_Box2d Box(double theTol) const
0053 {
0054 return Box(myGeom->FirstParameter(), myGeom->LastParameter(), theTol);
0055 }
0056
0057
0058 [[nodiscard]] Bnd_Box2d BoxOptimal(double theU1, double theU2, double theTol) const
0059 {
0060 return Box(theU1, theU2, theTol);
0061 }
0062
0063
0064 [[nodiscard]] Standard_EXPORT static Bnd_Box2d Box(const gp_Parab2d& theParab,
0065 double theU1,
0066 double theU2,
0067 double theTol);
0068
0069 private:
0070 occ::handle<Geom2d_Parabola> myGeom;
0071 };
0072
0073 #endif