//  File   : GEOM_Application.ixx
//  Module : GEOM

#include "GEOM_Application.jxx"

#ifndef _Standard_TypeMismatch_HeaderFile
#include <Standard_TypeMismatch.hxx>
#endif

GEOM_Application::~GEOM_Application() {}
 


Standard_EXPORT Handle_Standard_Type& GEOM_Application_Type_()
{

    static Handle_Standard_Type aType1 = STANDARD_TYPE(TDocStd_Application);
  if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TDocStd_Application);
  static Handle_Standard_Type aType2 = STANDARD_TYPE(CDF_Application);
  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(CDF_Application);
  static Handle_Standard_Type aType3 = STANDARD_TYPE(CDM_Application);
  if ( aType3.IsNull()) aType3 = STANDARD_TYPE(CDM_Application);
  static Handle_Standard_Type aType4 = STANDARD_TYPE(Standard_Transient);
  if ( aType4.IsNull()) aType4 = STANDARD_TYPE(Standard_Transient);
 

  static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,aType4,NULL};
  static Handle_Standard_Type _aType = new Standard_Type("GEOM_Application",
			                                 sizeof(GEOM_Application),
			                                 1,
			                                 (Standard_Address)_Ancestors,
			                                 (Standard_Address)NULL);

  return _aType;
}

// DownCast method
// allow safe downcasting


const Handle(GEOM_Application) Handle(GEOM_Application)::DownCast(const Handle(Standard_Transient)& AnObject)
{
  Handle(GEOM_Application) _anOtherObject;

  if (!AnObject.IsNull()) {
     if (AnObject->IsKind(STANDARD_TYPE(GEOM_Application))) {
       _anOtherObject = Handle(GEOM_Application)((Handle(GEOM_Application)&)AnObject);
     }
  }

  return _anOtherObject ;
}


const Handle(Standard_Type)& GEOM_Application::DynamicType() const 
{ 
  return STANDARD_TYPE(GEOM_Application) ; 
}
Standard_Boolean GEOM_Application::IsKind(const Handle(Standard_Type)& AType) const 
{ 
  return (STANDARD_TYPE(GEOM_Application) == AType || TDocStd_Application::IsKind(AType)); 
}
Handle_GEOM_Application::~Handle_GEOM_Application() {}
