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

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _Standard_Address_HeaderFile
#include <Standard_Address.hxx>
#endif
#ifndef _Handle_BRepApprox_ApproxLine_HeaderFile
#include <Handle_BRepApprox_ApproxLine.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Approx_Status_HeaderFile
#include <Approx_Status.hxx>
#endif
class BRepApprox_ApproxLine;
class ApproxInt_SvSurfaces;
class TColgp_Array1OfPnt;
class TColgp_Array1OfPnt2d;
class TColgp_Array1OfVec;
class TColgp_Array1OfVec2d;



class BRepApprox_TheMultiLineOfApprox  {
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); 
  }

  
  Standard_EXPORT   BRepApprox_TheMultiLineOfApprox(const Handle(BRepApprox_ApproxLine)& line,const Standard_Address PtrSvSurfaces,const Standard_Integer NbP3d,const Standard_Integer NbP2d,const Standard_Real xo,const Standard_Real ax,const Standard_Real yo,const Standard_Real ay,const Standard_Real zo,const Standard_Real az,const Standard_Real u1o,const Standard_Real a1u,const Standard_Real v1o,const Standard_Real a1v,const Standard_Real u2o,const Standard_Real a2u,const Standard_Real v2o,const Standard_Real a2v,const Standard_Boolean P2DOnFirst,const Standard_Integer IndMin = 0,const Standard_Integer IndMax = 0);
  
  Standard_EXPORT   BRepApprox_TheMultiLineOfApprox(const Handle(BRepApprox_ApproxLine)& line,const Standard_Integer NbP3d,const Standard_Integer NbP2d,const Standard_Real xo,const Standard_Real ax,const Standard_Real yo,const Standard_Real ay,const Standard_Real zo,const Standard_Real az,const Standard_Real u1o,const Standard_Real a1u,const Standard_Real v1o,const Standard_Real a1v,const Standard_Real u2o,const Standard_Real a2u,const Standard_Real v2o,const Standard_Real a2v,const Standard_Boolean P2DOnFirst,const Standard_Integer IndMin = 0,const Standard_Integer IndMax = 0);
  
  Standard_EXPORT     Standard_Integer FirstPoint() const;
  
  Standard_EXPORT     Standard_Integer LastPoint() const;
  
  Standard_EXPORT     Standard_Integer NbP2d() const;
  
  Standard_EXPORT     Standard_Integer NbP3d() const;
  
  Standard_EXPORT     Approx_Status WhatStatus() const;
  
  Standard_EXPORT     void Value(const Standard_Integer MPointIndex,TColgp_Array1OfPnt& tabPt) const;
  
  Standard_EXPORT     void Value(const Standard_Integer MPointIndex,TColgp_Array1OfPnt2d& tabPt2d) const;
  
  Standard_EXPORT     void Value(const Standard_Integer MPointIndex,TColgp_Array1OfPnt& tabPt,TColgp_Array1OfPnt2d& tabPt2d) const;
  
  Standard_EXPORT     Standard_Boolean Tangency(const Standard_Integer MPointIndex,TColgp_Array1OfVec& tabV) const;
  
  Standard_EXPORT     Standard_Boolean Tangency(const Standard_Integer MPointIndex,TColgp_Array1OfVec2d& tabV2d) const;
  
  Standard_EXPORT     Standard_Boolean Tangency(const Standard_Integer MPointIndex,TColgp_Array1OfVec& tabV,TColgp_Array1OfVec2d& tabV2d) const;
  
  Standard_EXPORT     BRepApprox_TheMultiLineOfApprox MakeMLBetween(const Standard_Integer Low,const Standard_Integer High,const Standard_Integer NbPointsToInsert) const;





protected:





private:



Standard_Address PtrOnmySvSurfaces;
Handle_BRepApprox_ApproxLine myLine;
Standard_Integer indicemin;
Standard_Integer indicemax;
Standard_Integer nbp3d;
Standard_Integer nbp2d;
Standard_Boolean p2donfirst;
Standard_Real Xo;
Standard_Real Ax;
Standard_Real Yo;
Standard_Real Ay;
Standard_Real Zo;
Standard_Real Az;
Standard_Real U1o;
Standard_Real A1u;
Standard_Real V1o;
Standard_Real A1v;
Standard_Real U2o;
Standard_Real A2u;
Standard_Real V2o;
Standard_Real A2v;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif
