// 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 _AppParCurves_MultiBSpCurve_HeaderFile #define _AppParCurves_MultiBSpCurve_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Handle_TColStd_HArray1OfReal_HeaderFile #include #endif #ifndef _Handle_TColStd_HArray1OfInteger_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _AppParCurves_MultiCurve_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_OStream_HeaderFile #include #endif class TColStd_HArray1OfReal; class TColStd_HArray1OfInteger; class Standard_OutOfRange; class Standard_DimensionError; class Standard_ConstructionError; class AppParCurves_Array1OfMultiPoint; class TColStd_Array1OfReal; class TColStd_Array1OfInteger; class AppParCurves_MultiCurve; class gp_Pnt; class gp_Pnt2d; class gp_Vec; class gp_Vec2d; //! This class describes a MultiBSpCurve approximating a Multiline.
//! Just as a Multiline is a set of a given number of lines, a MultiBSpCurve is a set
//! of a specified number of bsplines defined by:
//! - A specified number of MultiPoints - the poles of a specified number of curves
//! - The degree of approximation identical for each of the specified number of curves.
class AppParCurves_MultiBSpCurve : public AppParCurves_MultiCurve { 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); } //! returns an indefinite MultiBSpCurve.
Standard_EXPORT AppParCurves_MultiBSpCurve(); //! creates a MultiBSpCurve, describing BSpline curves all
//! containing the same number of MultiPoint.
//! An exception is raised if Degree < 0.
Standard_EXPORT AppParCurves_MultiBSpCurve(const Standard_Integer NbPol); //! creates a MultiBSpCurve, describing BSpline curves all
//! containing the same number of MultiPoint.
//! Each MultiPoint must have NbCurves Poles.
Standard_EXPORT AppParCurves_MultiBSpCurve(const AppParCurves_Array1OfMultiPoint& tabMU,const TColStd_Array1OfReal& Knots,const TColStd_Array1OfInteger& Mults); //! creates a MultiBSpCurve, describing BSpline
//! curves, taking control points from .
Standard_EXPORT AppParCurves_MultiBSpCurve(const AppParCurves_MultiCurve& SC,const TColStd_Array1OfReal& Knots,const TColStd_Array1OfInteger& Mults); //! Knots of the multiBSpCurve are assigned to .
Standard_EXPORT void SetKnots(const TColStd_Array1OfReal& theKnots) ; //! Multiplicities of the multiBSpCurve are assigned
//! to .
Standard_EXPORT void SetMultiplicities(const TColStd_Array1OfInteger& theMults) ; //! Returns an array of Reals containing
//! the multiplicities of curves resulting from the approximation.
Standard_EXPORT const TColStd_Array1OfReal& Knots() const; //! Returns an array of Reals containing the
//! multiplicities of curves resulting from the approximation.
Standard_EXPORT const TColStd_Array1OfInteger& Multiplicities() const; //! returns the degree of the curve(s).
Standard_EXPORT virtual Standard_Integer Degree() const; //! returns the value of the point with a parameter U
//! on the BSpline curve number CuIndex.
//! An exception is raised if CuIndex <0 or > NbCurves.
//! An exception is raised if the curve dimension is 2d.
Standard_EXPORT virtual void Value(const Standard_Integer CuIndex,const Standard_Real U,gp_Pnt& Pt) const; //! returns the value of the point with a parameter U
//! on the BSpline curve number CuIndex.
//! An exception is raised if CuIndex <0 or > NbCurves.
//! An exception is raised if the curve dimension is 3d.
Standard_EXPORT virtual void Value(const Standard_Integer CuIndex,const Standard_Real U,gp_Pnt2d& Pt) const; //! returns the value of the point with a parameter U
//! on the BSpline curve number CuIndex.
//! An exception is raised if CuIndex <0 or > NbCurves.
//! An exception is raised if the curve dimension is 3d.
Standard_EXPORT virtual void D1(const Standard_Integer CuIndex,const Standard_Real U,gp_Pnt& Pt,gp_Vec& V1) const; //! returns the value of the point with a parameter U
//! on the BSpline curve number CuIndex.
//! An exception is raised if CuIndex <0 or > NbCurves.
//! An exception is raised if the curve dimension is 2d.
Standard_EXPORT virtual void D1(const Standard_Integer CuIndex,const Standard_Real U,gp_Pnt2d& Pt,gp_Vec2d& V1) const; //! returns the value of the point with a parameter U
//! on the BSpline curve number CuIndex.
//! An exception is raised if CuIndex <0 or > NbCurves.
//! An exception is raised if the curve dimension is 3d.
Standard_EXPORT virtual void D2(const Standard_Integer CuIndex,const Standard_Real U,gp_Pnt& Pt,gp_Vec& V1,gp_Vec& V2) const; //! returns the value of the point with a parameter U
//! on the BSpline curve number CuIndex.
//! An exception is raised if CuIndex <0 or > NbCurves.
//! An exception is raised if the curve dimension is 2d.
Standard_EXPORT virtual void D2(const Standard_Integer CuIndex,const Standard_Real U,gp_Pnt2d& Pt,gp_Vec2d& V1,gp_Vec2d& V2) const; //! Prints on the stream o information on the current
//! state of the object.
//! Is used to redefine the operator <<.
Standard_EXPORT virtual void Dump(Standard_OStream& o) const; protected: private: Handle_TColStd_HArray1OfReal myknots; Handle_TColStd_HArray1OfInteger mymults; Standard_Integer myDegree; }; // other Inline functions and methods (like "C++: function call" methods) #endif