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