// 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 _Law_Function_HeaderFile #define _Law_Function_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_Law_Function_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _GeomAbs_Shape_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif class Standard_OutOfRange; class TColStd_Array1OfReal; //! Root class for evolution laws.
class Law_Function : public MMgt_TShared { public: Standard_EXPORT virtual GeomAbs_Shape Continuity() const = 0; //! Returns the number of intervals for continuity
//! . May be one if Continuity(me) >=
Standard_EXPORT virtual Standard_Integer NbIntervals(const GeomAbs_Shape S) const = 0; //! Stores in the parameters bounding the intervals
//! of continuity .
//!
//! The array must provide enough room to accomodate
//! for the parameters. i.e. T.Length() > NbIntervals()
Standard_EXPORT virtual void Intervals(TColStd_Array1OfReal& T,const GeomAbs_Shape S) const = 0; //! Returns the value of the function at the point of parameter X.
Standard_EXPORT virtual Standard_Real Value(const Standard_Real X) = 0; //! Returns the value F and the first derivative D of the
//! function at the point of parameter X.
Standard_EXPORT virtual void D1(const Standard_Real X,Standard_Real& F,Standard_Real& D) = 0; //! Returns the value, first and seconde derivatives
//! at parameter X.
Standard_EXPORT virtual void D2(const Standard_Real X,Standard_Real& F,Standard_Real& D,Standard_Real& D2) = 0; //! Returns a law equivalent of between
//! parameters and . is used to
//! test for 3d points confusion.
//! It is usfule to determines the derivatives
//! in these values and if
//! the Law is not Cn.
Standard_EXPORT virtual Handle_Law_Function Trim(const Standard_Real PFirst,const Standard_Real PLast,const Standard_Real Tol) const = 0; //! Returns the parametric bounds of the function.
Standard_EXPORT virtual void Bounds(Standard_Real& PFirst,Standard_Real& PLast) = 0; DEFINE_STANDARD_RTTI(Law_Function) protected: private: }; // other Inline functions and methods (like "C++: function call" methods) #endif