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