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_Parabola_HeaderFile
0015 #define GeomBndLib_Parabola_HeaderFile
0016
0017 #include <Bnd_Box.hxx>
0018 #include <Geom_Parabola.hxx>
0019 #include <Standard.hxx>
0020 #include <Standard_DefineAlloc.hxx>
0021 #include <gp_Parab.hxx>
0022
0023
0024
0025
0026
0027
0028 class GeomBndLib_Parabola
0029 {
0030 public:
0031 DEFINE_STANDARD_ALLOC
0032
0033 GeomBndLib_Parabola(const occ::handle<Geom_Parabola>& theParabola)
0034 : myGeom(theParabola)
0035 {
0036 }
0037
0038 GeomBndLib_Parabola(const GeomBndLib_Parabola&) = delete;
0039 GeomBndLib_Parabola& operator=(const GeomBndLib_Parabola&) = delete;
0040 GeomBndLib_Parabola(GeomBndLib_Parabola&&) = delete;
0041 GeomBndLib_Parabola& operator=(GeomBndLib_Parabola&&) = delete;
0042
0043 const occ::handle<Geom_Parabola>& Geometry() const { return myGeom; }
0044
0045
0046 [[nodiscard]] Bnd_Box Box(double theU1, double theU2, double theTol) const
0047 {
0048 return Box(myGeom->Parab(), theU1, theU2, theTol);
0049 }
0050
0051
0052 [[nodiscard]] Bnd_Box Box(double theTol) const
0053 {
0054 return Box(myGeom->FirstParameter(), myGeom->LastParameter(), theTol);
0055 }
0056
0057
0058 [[nodiscard]] Bnd_Box BoxOptimal(double theU1, double theU2, double theTol) const
0059 {
0060 return Box(theU1, theU2, theTol);
0061 }
0062
0063
0064 [[nodiscard]] Standard_EXPORT static Bnd_Box Box(const gp_Parab& theParab,
0065 double theU1,
0066 double theU2,
0067 double theTol);
0068
0069 private:
0070 occ::handle<Geom_Parabola> myGeom;
0071 };
0072
0073 #endif