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

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

#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
class BRepFill_MultiLine;
class TColgp_Array1OfPnt;
class TColgp_Array1OfPnt2d;
class TColgp_Array1OfVec;
class TColgp_Array1OfVec2d;


//! private  class   used  to  instantiate the  continuous
//! approximations routines.
class BRepFill_MultiLineTool 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! returns the first parameter of the Line.
  Standard_EXPORT static   Standard_Real FirstParameter (const BRepFill_MultiLine& ML) ;
  
  //! returns the last parameter of the Line.
  Standard_EXPORT static   Standard_Real LastParameter (const BRepFill_MultiLine& ML) ;
  
  //! Returns the number of 2d points of a MLine
  Standard_EXPORT static   Standard_Integer NbP2d (const BRepFill_MultiLine& ML) ;
  
  //! Returns the number of 3d points of a MLine.
  Standard_EXPORT static   Standard_Integer NbP3d (const BRepFill_MultiLine& ML) ;
  
  //! returns the 3d points of the multipoint <MPointIndex>
  //! when only 3d points exist.
  Standard_EXPORT static   void Value (const BRepFill_MultiLine& ML, const Standard_Real U, TColgp_Array1OfPnt& tabPt) ;
  
  //! returns the 2d points of the multipoint <MPointIndex>
  //! when only 2d points exist.
  Standard_EXPORT static   void Value (const BRepFill_MultiLine& ML, const Standard_Real U, TColgp_Array1OfPnt2d& tabPt2d) ;
  
  //! returns the 3d and 2d points of the multipoint
  //! <MPointIndex>.
  Standard_EXPORT static   void Value (const BRepFill_MultiLine& ML, const Standard_Real U, TColgp_Array1OfPnt& tabPt, TColgp_Array1OfPnt2d& tabPt2d) ;
  
  //! returns the 3d derivative values of the multipoint
  //! <MPointIndex> when only 3d points exist.
  //! returns False if the derivative cannot be computed.
  Standard_EXPORT static   Standard_Boolean D1 (const BRepFill_MultiLine& ML, const Standard_Real U, TColgp_Array1OfVec& tabV) ;
  
  //! returns the 2d derivative values of the multipoint
  //! <MPointIndex> only when 2d points exist.
  //! returns False if the derivative cannot be computed.
  Standard_EXPORT static   Standard_Boolean D1 (const BRepFill_MultiLine& ML, const Standard_Real U, TColgp_Array1OfVec2d& tabV2d) ;
  
  //! returns the 3d and 2d derivative values of the
  //! multipoint <MPointIndex>.
  //! returns False if the derivative cannot be computed.
  Standard_EXPORT static   Standard_Boolean D1 (const BRepFill_MultiLine& ML, const Standard_Real U, TColgp_Array1OfVec& tabV, TColgp_Array1OfVec2d& tabV2d) ;




protected:





private:





};







#endif // _BRepFill_MultiLineTool_HeaderFile
