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

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

#include <Handle_IGESDimen_GeneralNote.hxx>
#include <Handle_IGESDimen_LeaderArrow.hxx>
#include <Handle_IGESData_IGESEntity.hxx>
#include <IGESData_IGESEntity.hxx>
#include <Standard_Integer.hxx>
#include <Handle_IGESGeom_CircularArc.hxx>
#include <Handle_IGESGeom_CompositeCurve.hxx>
class IGESDimen_GeneralNote;
class IGESDimen_LeaderArrow;
class IGESData_IGESEntity;
class IGESGeom_CircularArc;
class IGESGeom_CompositeCurve;


//! defines IGES Point Dimension, Type <220> Form <0>,
//! in package IGESDimen
//! A Point Dimension Entity consists of a leader, text, and
//! an optional circle or hexagon enclosing the text
//! IGES specs for this entity mention SimpleClosedPlanarCurve
//! Entity(106/63)which is not listed in LIST.Text In the sequel
//! we have ignored this & considered only the other two entity
//! for representing the hexagon or circle enclosing the text.
class IGESDimen_PointDimension : public IGESData_IGESEntity
{

public:

  
  Standard_EXPORT IGESDimen_PointDimension();
  
  Standard_EXPORT   void Init (const Handle(IGESDimen_GeneralNote)& aNote, const Handle(IGESDimen_LeaderArrow)& anArrow, const Handle(IGESData_IGESEntity)& aGeom) ;
  
  Standard_EXPORT   Handle(IGESDimen_GeneralNote) Note()  const;
  
  Standard_EXPORT   Handle(IGESDimen_LeaderArrow) LeaderArrow()  const;
  
  //! returns the type of geometric entity.
  //! 0 if no hexagon or circle encloses the text
  //! 1 if CircularArc
  //! 2 if CompositeCurve
  //! 3 otherwise
  Standard_EXPORT   Standard_Integer GeomCase()  const;
  
  //! returns the Geometry Entity, Null handle if GeomCase(me) .eq. 0
  Standard_EXPORT   Handle(IGESData_IGESEntity) Geom()  const;
  
  //! returns Null handle if GeomCase(me) .ne. 1
  Standard_EXPORT   Handle(IGESGeom_CircularArc) CircularArc()  const;
  
  //! returns Null handle if GeomCase(me) .ne. 2
  Standard_EXPORT   Handle(IGESGeom_CompositeCurve) CompositeCurve()  const;




  DEFINE_STANDARD_RTTI(IGESDimen_PointDimension)

protected:




private: 


  Handle(IGESDimen_GeneralNote) theNote;
  Handle(IGESDimen_LeaderArrow) theLeader;
  Handle(IGESData_IGESEntity) theGeom;


};







#endif // _IGESDimen_PointDimension_HeaderFile
