// 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_Curve3D_HeaderFile
#define _BRep_Curve3D_HeaderFile

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

#include <Handle_Geom_Curve.hxx>
#include <BRep_GCurve.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_BRep_CurveRepresentation.hxx>
class Geom_Curve;
class TopLoc_Location;
class gp_Pnt;
class BRep_CurveRepresentation;


//! Representation of a curve by a 3D curve.
class BRep_Curve3D : public BRep_GCurve
{

public:

  
  Standard_EXPORT BRep_Curve3D(const Handle(Geom_Curve)& C, const TopLoc_Location& L);
  
  //! Computes the point at parameter U.
  Standard_EXPORT   void D0 (const Standard_Real U, gp_Pnt& P)  const;
  
  //! Returns True.
  Standard_EXPORT virtual   Standard_Boolean IsCurve3D()  const;
  
  Standard_EXPORT virtual  const  Handle(Geom_Curve)& Curve3D()  const;
  
  Standard_EXPORT virtual   void Curve3D (const Handle(Geom_Curve)& C) ;
  
  //! Return a copy of this representation.
  Standard_EXPORT   Handle(BRep_CurveRepresentation) Copy()  const;




  DEFINE_STANDARD_RTTI(BRep_Curve3D)

protected:




private: 


  Handle(Geom_Curve) myCurve;


};







#endif // _BRep_Curve3D_HeaderFile
