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

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

#include <Standard_Real.hxx>
#include <BRep_CurveRepresentation.hxx>
class TopLoc_Location;
class gp_Pnt;


//! Root   class    for    the    geometric     curves
//! representation. Contains a range.
//! Contains a first and a last parameter.
class BRep_GCurve : public BRep_CurveRepresentation
{

public:

  
      void SetRange (const Standard_Real First, const Standard_Real Last) ;
  
      void Range (Standard_Real& First, Standard_Real& Last)  const;
  
      Standard_Real First()  const;
  
      Standard_Real Last()  const;
  
      void First (const Standard_Real F) ;
  
      void Last (const Standard_Real L) ;
  
  //! Computes the point at parameter U.
  Standard_EXPORT virtual   void D0 (const Standard_Real U, gp_Pnt& P)  const = 0;
  
  //! Recomputes any derived data after a modification.
  //! This is called when the range is modified.
  Standard_EXPORT virtual   void Update() ;




  DEFINE_STANDARD_RTTI(BRep_GCurve)

protected:

  
  Standard_EXPORT BRep_GCurve(const TopLoc_Location& L, const Standard_Real First, const Standard_Real Last);



private: 


  Standard_Real myFirst;
  Standard_Real myLast;


};


#include <BRep_GCurve.lxx>





#endif // _BRep_GCurve_HeaderFile
