// 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 _Geom2dConvert_HeaderFile #define _Geom2dConvert_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Handle_Geom2d_BSplineCurve_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Handle_Geom2d_Curve_HeaderFile #include #endif #ifndef _Convert_ParameterisationType_HeaderFile #include #endif #ifndef _Handle_TColGeom2d_HArray1OfBSplineCurve_HeaderFile #include #endif #ifndef _Handle_TColStd_HArray1OfInteger_HeaderFile #include #endif class Geom2d_BSplineCurve; class Geom2d_Curve; class TColGeom2d_Array1OfBSplineCurve; class TColStd_Array1OfReal; class TColGeom2d_HArray1OfBSplineCurve; class TColStd_HArray1OfInteger; class Geom2dConvert_BSplineCurveKnotSplitting; class Geom2dConvert_BSplineCurveToBezierCurve; class Geom2dConvert_CompCurveToBSplineCurve; class Geom2dConvert_ApproxCurve; //! This package provides an implementation of algorithmes to do
//! the conversion between equivalent geometric entities from
//! package Geom2d.
//! It gives the possibility :
//! . to obtain the B-spline representation of bounded curves.
//! . to split a B-spline curve into several B-spline curves
//! with some constraints of continuity,
//! . to convert a B-spline curve into several Bezier curves
//! or surfaces.
//! All the geometric entities used in this package are bounded.
//! References :
//! . Generating the Bezier Points of B-spline curves and surfaces
//! (Wolfgang Bohm) CAGD volume 13 number 6 november 1981
//! . On NURBS: A Survey (Leslie Piegl) IEEE Computer Graphics and
//! Application January 1991
//! . Curve and surface construction using rational B-splines
//! (Leslie Piegl and Wayne Tiller) CAD Volume 19 number 9 november
//! 1987
//! . A survey of curve and surface methods in CAGD (Wolfgang BOHM)
//! CAGD 1 1984
class Geom2dConvert { 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); } //! Raised if FromK1 = ToK2
Standard_EXPORT static Handle_Geom2d_BSplineCurve SplitBSplineCurve(const Handle(Geom2d_BSplineCurve)& C,const Standard_Integer FromK1,const Standard_Integer ToK2,const Standard_Boolean SameOrientation = Standard_True) ; //! Raised if FromU1 or ToU2 are out of the parametric bounds of the
//! curve (The tolerance criterion is ParametricTolerance).
//! Raised if Abs (FromU1 - ToU2) <= ParametricTolerance
//! Raised if ParametricTolerance < Resolution from gp.
Standard_EXPORT static Handle_Geom2d_BSplineCurve SplitBSplineCurve(const Handle(Geom2d_BSplineCurve)& C,const Standard_Real FromU1,const Standard_Real ToU2,const Standard_Real ParametricTolerance,const Standard_Boolean SameOrientation = Standard_True) ; Standard_EXPORT static Handle_Geom2d_BSplineCurve CurveToBSplineCurve(const Handle(Geom2d_Curve)& C,const Convert_ParameterisationType Parameterisation = Convert_TgtThetaOver2) ; //! This Method concatenates G1 the ArrayOfCurves as far
//! as it is possible.
//! ArrayOfCurves[0..N-1]
//! ArrayOfToler contains the biggest tolerance of the two
//! points shared by two consecutives curves.
//! Its dimension: [0..N-2]
//! ClosedTolerance indicates if the ArrayOfCurves is closed.
//! In this case ClosedTolerance contains the biggest tolerance
//! of the two points which are at the closure.
//! Otherwise its value is 0.0
Standard_EXPORT static void ConcatG1(TColGeom2d_Array1OfBSplineCurve& ArrayOfCurves,const TColStd_Array1OfReal& ArrayOfToler,Handle(TColGeom2d_HArray1OfBSplineCurve)& ArrayOfConcatenated,const Standard_Boolean ClosedFlag,const Standard_Real ClosedTolerance) ; //! This Method concatenates C1 the ArrayOfCurves as far
//! as it is possible.
//! ArrayOfCurves[0..N-1]
//! ArrayOfToler contains the biggest tolerance of the two
//! points shared by two consecutives curves.
//! Its dimension: [0..N-2]
//! ClosedTolerance indicates if the ArrayOfCurves is closed.
//! In this case ClosedTolerance contains the biggest tolerance
//! of the two points which are at the closure.
//! Otherwise its value is 0.0
//!
Standard_EXPORT static void ConcatC1(TColGeom2d_Array1OfBSplineCurve& ArrayOfCurves,const TColStd_Array1OfReal& ArrayOfToler,Handle(TColStd_HArray1OfInteger)& ArrayOfIndices,Handle(TColGeom2d_HArray1OfBSplineCurve)& ArrayOfConcatenated,const Standard_Boolean ClosedFlag,const Standard_Real ClosedTolerance) ; //! This Method concatenates C1 the ArrayOfCurves as far
//! as it is possible.
//! ArrayOfCurves[0..N-1]
//! ArrayOfToler contains the biggest tolerance of the two
//! points shared by two consecutives curves.
//! Its dimension: [0..N-2]
//! ClosedTolerance indicates if the ArrayOfCurves is closed.
//! In this case ClosedTolerance contains the biggest tolerance
//! of the two points which are at the closure.
//! Otherwise its value is 0.0
Standard_EXPORT static void ConcatC1(TColGeom2d_Array1OfBSplineCurve& ArrayOfCurves,const TColStd_Array1OfReal& ArrayOfToler,Handle(TColStd_HArray1OfInteger)& ArrayOfIndices,Handle(TColGeom2d_HArray1OfBSplineCurve)& ArrayOfConcatenated,const Standard_Boolean ClosedFlag,const Standard_Real ClosedTolerance,const Standard_Real AngularTolerance) ; //! This Method reduces as far as it is possible the
//! multiplicities of the knots of the BSpline BS.(keeping the geometry).
//! It returns a new BSpline which could still be C0.
//! tolerance is a geometrical tolerance
Standard_EXPORT static void C0BSplineToC1BSplineCurve(Handle(Geom2d_BSplineCurve)& BS,const Standard_Real Tolerance) ; //!This Method reduces as far as it is possible the
//! multiplicities of the knots of the BSpline BS.(keeping the geometry).
//! It returns an array of BSpline C1.
//! Tolerance is a geometrical tolerance
Standard_EXPORT static void C0BSplineToArrayOfC1BSplineCurve(const Handle(Geom2d_BSplineCurve)& BS,Handle(TColGeom2d_HArray1OfBSplineCurve)& tabBS,const Standard_Real Tolerance) ; //!This Method reduces as far as it is possible the
//! multiplicities of the knots of the BSpline BS.(keeping the geometry).
//! It returns an array of BSpline C1.
//! tolerance is a geometrical tolerance
Standard_EXPORT static void C0BSplineToArrayOfC1BSplineCurve(const Handle(Geom2d_BSplineCurve)& BS,Handle(TColGeom2d_HArray1OfBSplineCurve)& tabBS,const Standard_Real AngularTolerance,const Standard_Real Tolerance) ; protected: private: friend class Geom2dConvert_BSplineCurveKnotSplitting; friend class Geom2dConvert_BSplineCurveToBezierCurve; friend class Geom2dConvert_CompCurveToBSplineCurve; friend class Geom2dConvert_ApproxCurve; }; // other Inline functions and methods (like "C++: function call" methods) #endif