File indexing completed on 2026-10-04 09:15:55
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeExtend_ComplexCurve_HeaderFile
0018 #define _ShapeExtend_ComplexCurve_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Geom_Curve.hxx>
0024 #include <GeomAbs_Shape.hxx>
0025 class gp_Trsf;
0026
0027
0028
0029 class ShapeExtend_ComplexCurve : public Geom_Curve
0030 {
0031
0032 public:
0033
0034 Standard_EXPORT virtual int NbCurves() const = 0;
0035
0036
0037 Standard_EXPORT virtual const occ::handle<Geom_Curve>& Curve(const int index) const = 0;
0038
0039
0040
0041 Standard_EXPORT virtual int LocateParameter(const double U, double& UOut) const = 0;
0042
0043
0044
0045 Standard_EXPORT virtual double LocalToGlobal(const int index, const double Ulocal) const = 0;
0046
0047
0048 Standard_EXPORT void Transform(const gp_Trsf& T) override;
0049
0050
0051 double ReversedParameter(const double U) const override;
0052
0053
0054 double FirstParameter() const override;
0055
0056
0057 double LastParameter() const override;
0058
0059
0060 bool IsClosed() const override;
0061
0062
0063 bool IsPeriodic() const override;
0064
0065
0066 GeomAbs_Shape Continuity() const override;
0067
0068
0069 bool IsCN(const int N) const override;
0070
0071
0072
0073 Standard_EXPORT gp_Pnt EvalD0(const double U) const override;
0074
0075 Standard_EXPORT Geom_Curve::ResD1 EvalD1(const double U) const override;
0076
0077 Standard_EXPORT Geom_Curve::ResD2 EvalD2(const double U) const override;
0078
0079 Standard_EXPORT Geom_Curve::ResD3 EvalD3(const double U) const override;
0080
0081 Standard_EXPORT gp_Vec EvalDN(const double U, const int N) const override;
0082
0083
0084 Standard_EXPORT virtual double GetScaleFactor(const int ind) const = 0;
0085
0086
0087
0088 Standard_EXPORT bool CheckConnectivity(const double Preci);
0089
0090 DEFINE_STANDARD_RTTIEXT(ShapeExtend_ComplexCurve, Geom_Curve)
0091
0092 protected:
0093 Standard_EXPORT ShapeExtend_ComplexCurve();
0094
0095
0096 Standard_EXPORT void TransformDN(gp_Vec& V, const int ind, const int N) const;
0097
0098 bool myClosed;
0099 };
0100
0101 #include <ShapeExtend_ComplexCurve.lxx>
0102
0103 #endif