Back to index

salome-geom  6.5.0
GEOMImpl_Fillet2dDriver.hxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 
00020 //  File   : GEOMImpl_Fillet2dDriver.ixx
00021 //  Module : GEOMImpl
00022 //
00023 #ifndef _GEOMImpl_Fillet2dDriver_HeaderFile
00024 #define _GEOMImpl_Fillet2dDriver_HeaderFile
00025 
00026 #ifndef _TColStd_SequenceOfExtendedString_HeaderFile
00027 #include <TColStd_SequenceOfExtendedString.hxx>
00028 #endif
00029 #ifndef _Standard_TypeMismatch_HeaderFile
00030 #include <Standard_TypeMismatch.hxx>
00031 #endif
00032 
00033 #ifndef _Standard_HeaderFile
00034 #include <Standard.hxx>
00035 #endif
00036 
00037 #ifndef _Standard_Macro_HeaderFile
00038 #include <Standard_Macro.hxx>
00039 #endif
00040 #ifndef _Standard_HeaderFile
00041 #include <Standard.hxx>
00042 #endif
00043 #ifndef _Standard_GUID_HeaderFile
00044 #include <Standard_GUID.hxx>
00045 #endif 
00046 
00047 #ifndef _Handle_TFunction_Driver_HeaderFile
00048 #include <Handle_TFunction_Driver.hxx>
00049 #endif
00050 
00051 class Standard_Transient;
00052 class Handle_Standard_Type;
00053 class Handle(TFunction_Driver);
00054 class GEOMImpl_Fillet2dDriver;
00055 
00056 Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(GEOMImpl_Fillet2dDriver);
00057 
00058 class Handle(GEOMImpl_Fillet2dDriver) : public Handle(TFunction_Driver) {
00059   public:
00060     inline void* operator new(size_t,void* anAddress) 
00061       {
00062         return anAddress;
00063       }
00064     inline void* operator new(size_t size) 
00065       { 
00066         return Standard::Allocate(size); 
00067       }
00068     inline void  operator delete(void *anAddress) 
00069       { 
00070         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
00071       }
00072 
00073     Handle(GEOMImpl_Fillet2dDriver)():Handle(TFunction_Driver)() {} 
00074     Handle(GEOMImpl_Fillet2dDriver)(const Handle(GEOMImpl_Fillet2dDriver)& aHandle) : Handle(TFunction_Driver)(aHandle) 
00075      {
00076      }
00077 
00078     Handle(GEOMImpl_Fillet2dDriver)(const GEOMImpl_Fillet2dDriver* anItem) : Handle(TFunction_Driver)((TFunction_Driver *)anItem) 
00079      {
00080      }
00081 
00082     Handle(GEOMImpl_Fillet2dDriver)& operator=(const Handle(GEOMImpl_Fillet2dDriver)& aHandle)
00083      {
00084       Assign(aHandle.Access());
00085       return *this;
00086      }
00087 
00088     Handle(GEOMImpl_Fillet2dDriver)& operator=(const GEOMImpl_Fillet2dDriver* anItem)
00089      {
00090       Assign((Standard_Transient *)anItem);
00091       return *this;
00092      }
00093 
00094     GEOMImpl_Fillet2dDriver* operator->() 
00095      {
00096       return (GEOMImpl_Fillet2dDriver *)ControlAccess();
00097      }
00098 
00099     GEOMImpl_Fillet2dDriver* operator->() const 
00100      {
00101       return (GEOMImpl_Fillet2dDriver *)ControlAccess();
00102      }
00103 
00104    Standard_EXPORT ~Handle(GEOMImpl_Fillet2dDriver)() {};
00105  
00106    Standard_EXPORT static const Handle(GEOMImpl_Fillet2dDriver) DownCast(const Handle(Standard_Transient)& AnObject);
00107 };
00108 
00109 #ifndef _TFunction_Driver_HeaderFile
00110 #include <TFunction_Driver.hxx>
00111 #endif
00112 #ifndef _TFunction_Logbook_HeaderFile
00113 #include <TFunction_Logbook.hxx>
00114 #endif
00115 #ifndef _Standard_CString_HeaderFile
00116 #include <Standard_CString.hxx>
00117 #endif
00118 
00119 class TColStd_SequenceOfExtendedString;
00120 
00121 
00122 class GEOMImpl_Fillet2dDriver : public TFunction_Driver {
00123 
00124 public:
00125 
00126     inline void* operator new(size_t,void* anAddress) 
00127       {
00128         return anAddress;
00129       }
00130     inline void* operator new(size_t size) 
00131       { 
00132         return Standard::Allocate(size); 
00133       }
00134     inline void  operator delete(void *anAddress) 
00135       { 
00136         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
00137       }
00138 
00139  // Methods PUBLIC
00140  // 
00141 Standard_EXPORT GEOMImpl_Fillet2dDriver();
00142 Standard_EXPORT virtual  Standard_Integer Execute(TFunction_Logbook& log) const; 
00143 Standard_EXPORT virtual void Validate(TFunction_Logbook&) const {}
00144 Standard_EXPORT Standard_Boolean MustExecute(const TFunction_Logbook&) const { return Standard_True; }
00145 Standard_EXPORT static const Standard_GUID& GetID();
00146 Standard_EXPORT ~GEOMImpl_Fillet2dDriver() {};
00147 
00148 
00149  // Type management
00150  //
00151 Standard_EXPORT friend Handle_Standard_Type& GEOMImpl_Fillet2dDriver_Type_();
00152 Standard_EXPORT const Handle(Standard_Type)& DynamicType() const  { return STANDARD_TYPE(GEOMImpl_Fillet2dDriver) ; }
00153 Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)& AType) const { return (STANDARD_TYPE(GEOMImpl_Fillet2dDriver) == AType || TFunction_Driver::IsKind(AType)); } 
00154 
00155 
00156 };
00157 
00158 #endif