File indexing completed on 2026-09-25 09:19:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BRepPrim_Revolution_HeaderFile
0018 #define _BRepPrim_Revolution_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <BRepPrim_OneAxis.hxx>
0025 #include <Standard_Real.hxx>
0026 class Geom_Curve;
0027 class Geom2d_Curve;
0028 class gp_Ax2;
0029 class TopoDS_Face;
0030 class TopoDS_Edge;
0031 class gp_Pnt2d;
0032
0033
0034
0035 class BRepPrim_Revolution : public BRepPrim_OneAxis
0036 {
0037 public:
0038 DEFINE_STANDARD_ALLOC
0039
0040
0041
0042
0043 Standard_EXPORT BRepPrim_Revolution(const gp_Ax2& A,
0044 const double VMin,
0045 const double VMax,
0046 const occ::handle<Geom_Curve>& M,
0047 const occ::handle<Geom2d_Curve>& PM);
0048
0049
0050
0051 Standard_EXPORT TopoDS_Face MakeEmptyLateralFace() const override;
0052
0053
0054
0055
0056 Standard_EXPORT TopoDS_Edge MakeEmptyMeridianEdge(const double Ang) const override;
0057
0058
0059
0060 Standard_EXPORT gp_Pnt2d MeridianValue(const double V) const override;
0061
0062
0063
0064
0065 Standard_EXPORT void SetMeridianPCurve(TopoDS_Edge& E, const TopoDS_Face& F) const override;
0066
0067 protected:
0068
0069
0070 Standard_EXPORT BRepPrim_Revolution(const gp_Ax2& A, const double VMin, const double VMax);
0071
0072 Standard_EXPORT void Meridian(const occ::handle<Geom_Curve>& M,
0073 const occ::handle<Geom2d_Curve>& PM);
0074
0075 private:
0076 occ::handle<Geom_Curve> myMeridian;
0077 occ::handle<Geom2d_Curve> myPMeridian;
0078 };
0079
0080 #endif