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

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

#include <Geom_Geometry.hxx>
#include <Standard_Real.hxx>
class gp_Pnt;


//! The abstract class Point describes the common
//! behavior of geometric points in 3D space.
//! The Geom package also provides the concrete class
//! Geom_CartesianPoint.
class Geom_Point : public Geom_Geometry
{

public:

  
  //! returns the Coordinates of <me>.
  Standard_EXPORT virtual   void Coord (Standard_Real& X, Standard_Real& Y, Standard_Real& Z)  const = 0;
  
  //! returns a non transient copy of <me>
  Standard_EXPORT virtual   gp_Pnt Pnt()  const = 0;
  
  //! returns the X coordinate of <me>.
  Standard_EXPORT virtual   Standard_Real X()  const = 0;
  
  //! returns  the Y coordinate of <me>.
  Standard_EXPORT virtual   Standard_Real Y()  const = 0;
  
  //! returns the Z coordinate of <me>.
  Standard_EXPORT virtual   Standard_Real Z()  const = 0;
  
  //! Computes the distance between <me> and <Other>.
  Standard_EXPORT   Standard_Real Distance (const Handle(Geom_Point)& Other)  const;
  
  //! Computes the square distance between <me> and <Other>.
  Standard_EXPORT   Standard_Real SquareDistance (const Handle(Geom_Point)& Other)  const;




  DEFINE_STANDARD_RTTI(Geom_Point)

protected:




private: 




};







#endif // _Geom_Point_HeaderFile
