// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _ShapeConstruct_Curve_HeaderFile #define _ShapeConstruct_Curve_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_Geom_Curve_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Handle_Geom2d_Curve_HeaderFile #include #endif #ifndef _Handle_Geom_BSplineCurve_HeaderFile #include #endif #ifndef _Handle_Geom2d_BSplineCurve_HeaderFile #include #endif #ifndef _Handle_TColStd_HArray1OfReal_HeaderFile #include #endif class Geom_Curve; class gp_Pnt; class Geom2d_Curve; class gp_Pnt2d; class Geom_BSplineCurve; class Geom2d_BSplineCurve; class TColStd_HArray1OfReal; class TColStd_Array1OfReal; //! Adjusts curve to have start and end points at the given
//! points (currently works on lines and B-Splines only)
class ShapeConstruct_Curve { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Modifies a curve in order to make its bounds confused with
//! given points.
//! Works only on lines and B-Splines, returns True in this case,
//! else returns False.
//! For line considers both bounding points, for B-Splines only
//! specified.
//!
//! Warning : Does not check if curve should be reversed
Standard_EXPORT Standard_Boolean AdjustCurve(const Handle(Geom_Curve)& C3D,const gp_Pnt& P1,const gp_Pnt& P2,const Standard_Boolean take1 = Standard_True,const Standard_Boolean take2 = Standard_True) const; //! Modifies a curve in order to make its bounds confused with
//! given points.
//! Works only on lines and B-Splines.
Standard_EXPORT Standard_Boolean AdjustCurveSegment(const Handle(Geom_Curve)& C3D,const gp_Pnt& P1,const gp_Pnt& P2,const Standard_Real U1,const Standard_Real U2) const; //! Modifies a curve in order to make its bounds confused with
//! given points.
//! Works only on lines and B-Splines, returns True in this case,
//! else returns False.
//!
//! For line considers both bounding points, for B-Splines only
//! specified.
//!
//! Warning : Does not check if curve should be reversed
Standard_EXPORT Standard_Boolean AdjustCurve2d(const Handle(Geom2d_Curve)& C2D,const gp_Pnt2d& P1,const gp_Pnt2d& P2,const Standard_Boolean take1 = Standard_True,const Standard_Boolean take2 = Standard_True) const; //! Converts a curve of any type (only part from first to last)
//! to bspline. The method of conversion depends on the type
//! of original curve:
//! BSpline -> C.Segment(first,last)
//! Bezier and Line -> GeomConvert::CurveToBSplineCurve(C).Segment(first,last)
//! Conic and Other -> Approx_Curve3d(C[first,last],prec,C1,9,1000)
Standard_EXPORT Handle_Geom_BSplineCurve ConvertToBSpline(const Handle(Geom_Curve)& C,const Standard_Real first,const Standard_Real last,const Standard_Real prec) const; //! Converts a curve of any type (only part from first to last)
//! to bspline. The method of conversion depends on the type
//! of original curve:
//! BSpline -> C.Segment(first,last)
//! Bezier and Line -> GeomConvert::CurveToBSplineCurve(C).Segment(first,last)
//! Conic and Other -> Approx_Curve2d(C[first,last],prec,C1,9,1000)
Standard_EXPORT Handle_Geom2d_BSplineCurve ConvertToBSpline(const Handle(Geom2d_Curve)& C,const Standard_Real first,const Standard_Real last,const Standard_Real prec) const; Standard_EXPORT static Standard_Boolean FixKnots(Handle(TColStd_HArray1OfReal)& knots) ; //! Fix bspline knots to ensure that there is enough
//! gap between neighbouring values
//! Returns True if something fixed (by shifting knot)
Standard_EXPORT static Standard_Boolean FixKnots(TColStd_Array1OfReal& knots) ; protected: private: }; // other Inline functions and methods (like "C++: function call" methods) #endif