Back to index

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