File indexing completed on 2026-09-24 09:15:33
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _DrawTrSurf_HeaderFile
0018 #define _DrawTrSurf_HeaderFile
0019
0020 #include <Draw_Interpretor.hxx>
0021 #include <Geom_Geometry.hxx>
0022 #include <Geom_Surface.hxx>
0023 #include <Geom2d_Curve.hxx>
0024
0025 class Geom_BezierCurve;
0026 class Geom_BezierSurface;
0027 class Geom_BSplineCurve;
0028 class Geom_BSplineSurface;
0029 class Geom2d_BezierCurve;
0030 class Geom2d_BSplineCurve;
0031 class Poly_Polygon2D;
0032 class Poly_Polygon3D;
0033 class Poly_Triangulation;
0034 struct DrawTrSurf_Params;
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048 class DrawTrSurf
0049 {
0050 public:
0051 DEFINE_STANDARD_ALLOC
0052
0053
0054
0055 Standard_EXPORT static void Set(const char* const Name, const gp_Pnt& G);
0056
0057
0058
0059 Standard_EXPORT static void Set(const char* const Name, const gp_Pnt2d& G);
0060
0061
0062
0063
0064
0065 Standard_EXPORT static void Set(const char* const Name,
0066 const occ::handle<Geom_Geometry>& G,
0067 const bool isSenseMarker = true);
0068
0069 template <class T>
0070 static void Set(const char* const Name,
0071 const occ::handle<T>& Arg,
0072 typename opencascade::std::enable_if<
0073 opencascade::std::is_base_of<Geom_Geometry, T>::value>::type* = nullptr)
0074 {
0075 Set(Name, (const occ::handle<Geom_Geometry>&)Arg);
0076 }
0077
0078
0079
0080
0081
0082 Standard_EXPORT static void Set(const char* const Name,
0083 const occ::handle<Geom2d_Curve>& C,
0084 const bool isSenseMarker = true);
0085
0086 template <class T>
0087 static void Set(const char* const Name,
0088 const occ::handle<T>& Arg,
0089 typename opencascade::std::enable_if<
0090 opencascade::std::is_base_of<Geom2d_Curve, T>::value>::type* = nullptr)
0091 {
0092 Set(Name, (const occ::handle<Geom2d_Curve>&)Arg);
0093 }
0094
0095
0096
0097 Standard_EXPORT static void Set(const char* const Name, const occ::handle<Poly_Triangulation>& T);
0098
0099
0100
0101 Standard_EXPORT static void Set(const char* const Name, const occ::handle<Poly_Polygon3D>& P);
0102
0103
0104
0105 Standard_EXPORT static void Set(const char* const Name, const occ::handle<Poly_Polygon2D>& P);
0106
0107
0108 Standard_EXPORT static occ::handle<Geom_Geometry> Get(const char*& Name);
0109
0110
0111
0112 Standard_EXPORT static bool GetPoint(const char*& Name, gp_Pnt& P);
0113
0114
0115
0116 Standard_EXPORT static bool GetPoint2d(const char*& Name, gp_Pnt2d& P);
0117
0118
0119
0120 Standard_EXPORT static occ::handle<Geom_Curve> GetCurve(const char*& Name);
0121
0122
0123
0124 Standard_EXPORT static occ::handle<Geom_BezierCurve> GetBezierCurve(const char*& Name);
0125
0126
0127
0128 Standard_EXPORT static occ::handle<Geom_BSplineCurve> GetBSplineCurve(const char*& Name);
0129
0130
0131
0132 Standard_EXPORT static occ::handle<Geom2d_Curve> GetCurve2d(const char*& Name);
0133
0134
0135
0136 Standard_EXPORT static occ::handle<Geom2d_BezierCurve> GetBezierCurve2d(const char*& Name);
0137
0138
0139
0140 Standard_EXPORT static occ::handle<Geom2d_BSplineCurve> GetBSplineCurve2d(const char*& Name);
0141
0142
0143
0144 Standard_EXPORT static occ::handle<Geom_Surface> GetSurface(const char*& Name);
0145
0146
0147
0148 Standard_EXPORT static occ::handle<Geom_BezierSurface> GetBezierSurface(const char*& Name);
0149
0150
0151
0152 Standard_EXPORT static occ::handle<Geom_BSplineSurface> GetBSplineSurface(const char*& Name);
0153
0154
0155
0156 Standard_EXPORT static occ::handle<Poly_Triangulation> GetTriangulation(const char*& Name);
0157
0158
0159
0160 Standard_EXPORT static occ::handle<Poly_Polygon3D> GetPolygon3D(const char*& Name);
0161
0162
0163
0164 Standard_EXPORT static occ::handle<Poly_Polygon2D> GetPolygon2D(const char*& Name);
0165
0166
0167 Standard_EXPORT static DrawTrSurf_Params& Parameters();
0168
0169
0170 Standard_EXPORT static void BasicCommands(Draw_Interpretor& I);
0171 };
0172
0173 #endif