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

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_IntSurf_LineOn2S.hxx>

#include <IntSurf_SequenceOfPntOn2S.hxx>
#include <MMgt_TShared.hxx>
#include <IntSurf_Allocator.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Real.hxx>
class Standard_OutOfRange;
class IntSurf_PntOn2S;



class IntSurf_LineOn2S : public MMgt_TShared
{

public:

  
  Standard_EXPORT IntSurf_LineOn2S(const IntSurf_Allocator& theAllocator = 0);
  
  //! Adds a point in the line.
      void Add (const IntSurf_PntOn2S& P) ;
  
  //! Returns the number of points in the line.
      Standard_Integer NbPoints()  const;
  
  //! Returns the point of range Index in the line.
     const  IntSurf_PntOn2S& Value (const Standard_Integer Index)  const;
  
  //! Reverses the order of points of the line.
      void Reverse() ;
  
  //! Keeps in <me> the points 1 to Index-1, and returns
  //! the items Index to the end.
  Standard_EXPORT   Handle(IntSurf_LineOn2S) Split (const Standard_Integer Index) ;
  
  //! Replaces the point of range Index in the line.
      void Value (const Standard_Integer Index, const IntSurf_PntOn2S& P) ;
  
  //! Sets the parametric coordinates on one of the surfaces
  //! of the point of range Index in the line.
      void SetUV (const Standard_Integer Index, const Standard_Boolean OnFirst, const Standard_Real U, const Standard_Real V) ;
  
      void Clear() ;
  
  Standard_EXPORT   void InsertBefore (const Standard_Integer I, const IntSurf_PntOn2S& P) ;
  
  Standard_EXPORT   void RemovePoint (const Standard_Integer I) ;




  DEFINE_STANDARD_RTTI(IntSurf_LineOn2S)

protected:




private: 


  IntSurf_SequenceOfPntOn2S mySeq;


};


#include <IntSurf_LineOn2S.lxx>





#endif // _IntSurf_LineOn2S_HeaderFile
