// 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 _AppCont_Function_HeaderFile
#define _AppCont_Function_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
class gp_Pnt;
class gp_Vec;


//! deferred class describing a continous 3d function f(u)
//! This class must be provided by the user to use the
//! approximation algorithm FittingCurve.
class AppCont_Function 
{
public:

  DEFINE_STANDARD_ALLOC

  
  Standard_EXPORT virtual   void Delete() ;
Standard_EXPORT virtual ~AppCont_Function(){Delete() ; }
  
  //! returns the first parameter of the function.
  Standard_EXPORT virtual   Standard_Real FirstParameter()  const = 0;
  
  //! returns the last parameter of the function.
  Standard_EXPORT virtual   Standard_Real LastParameter()  const = 0;
  
  //! returns the point at parameter <U>.
  Standard_EXPORT virtual   gp_Pnt Value (const Standard_Real U)  const = 0;
  
  //! returns the point and the derivative values at
  //! the parameter <U>.
  Standard_EXPORT virtual   Standard_Boolean D1 (const Standard_Real U, gp_Pnt& P, gp_Vec& V)  const = 0;




protected:





private:





};







#endif // _AppCont_Function_HeaderFile
