File indexing completed on 2026-09-22 08:59:17
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeUpgrade_ConvertCurve3dToBezier_HeaderFile
0018 #define _ShapeUpgrade_ConvertCurve3dToBezier_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Geom_Curve.hxx>
0024 #include <NCollection_Sequence.hxx>
0025 #include <NCollection_HSequence.hxx>
0026 #include <ShapeUpgrade_SplitCurve3d.hxx>
0027
0028
0029 class ShapeUpgrade_ConvertCurve3dToBezier : public ShapeUpgrade_SplitCurve3d
0030 {
0031
0032 public:
0033
0034 Standard_EXPORT ShapeUpgrade_ConvertCurve3dToBezier();
0035
0036
0037 void SetLineMode(const bool mode);
0038
0039
0040 bool GetLineMode() const;
0041
0042
0043 void SetCircleMode(const bool mode);
0044
0045
0046 bool GetCircleMode() const;
0047
0048
0049 void SetConicMode(const bool mode);
0050
0051
0052 bool GetConicMode() const;
0053
0054
0055
0056 Standard_EXPORT void Compute() override;
0057
0058
0059
0060 Standard_EXPORT void Build(const bool Segment) override;
0061
0062
0063 Standard_EXPORT occ::handle<NCollection_HSequence<double>> SplitParams() const;
0064
0065 DEFINE_STANDARD_RTTIEXT(ShapeUpgrade_ConvertCurve3dToBezier, ShapeUpgrade_SplitCurve3d)
0066
0067 private:
0068
0069
0070 Standard_EXPORT occ::handle<NCollection_HSequence<occ::handle<Geom_Curve>>> Segments() const;
0071
0072 occ::handle<NCollection_HSequence<occ::handle<Geom_Curve>>> mySegments;
0073 occ::handle<NCollection_HSequence<double>> mySplitParams;
0074 bool myLineMode;
0075 bool myCircleMode;
0076 bool myConicMode;
0077 };
0078
0079 #include <ShapeUpgrade_ConvertCurve3dToBezier.lxx>
0080
0081 #endif