X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOMImpl%2FGEOMImpl_BooleanDriver.hxx;h=e6e1d2dab6bb306a478c6b06da8e769708fcf6fe;hb=e653d307b7137557dd19536fed88ac904f2f344e;hp=72163fbf8edd8c9276fe8c05b9727d86e0d99de8;hpb=d3dd282390888d7dc091ba2c2ffe7923bd7458e6;p=modules%2Fgeom.git diff --git a/src/GEOMImpl/GEOMImpl_BooleanDriver.hxx b/src/GEOMImpl/GEOMImpl_BooleanDriver.hxx index 72163fbf8..e6e1d2dab 100644 --- a/src/GEOMImpl/GEOMImpl_BooleanDriver.hxx +++ b/src/GEOMImpl/GEOMImpl_BooleanDriver.hxx @@ -1,6 +1,28 @@ +// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + // File : GEOMImpl_BooleanDriver.ixx // Module : GEOMImpl - +// #ifndef _GEOMImpl_BooleanDriver_HeaderFile #define _GEOMImpl_BooleanDriver_HeaderFile @@ -25,67 +47,17 @@ #include #endif -#ifndef _Handle_TFunction_Driver_HeaderFile -#include +#ifndef _TopoDS_Shape_HeaderFile +#include #endif + class Standard_Transient; class Handle_Standard_Type; class Handle(TFunction_Driver); class GEOMImpl_BooleanDriver; -Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(GEOMImpl_BooleanDriver); - -class Handle(GEOMImpl_BooleanDriver) : public Handle(TFunction_Driver) { - public: - inline void* operator new(size_t,void* anAddress) - { - return anAddress; - } - inline void* operator new(size_t size) - { - return Standard::Allocate(size); - } - inline void operator delete(void *anAddress) - { - if (anAddress) Standard::Free((Standard_Address&)anAddress); - } - - Handle(GEOMImpl_BooleanDriver)():Handle(TFunction_Driver)() {} - Handle(GEOMImpl_BooleanDriver)(const Handle(GEOMImpl_BooleanDriver)& aHandle) : Handle(TFunction_Driver)(aHandle) - { - } - - Handle(GEOMImpl_BooleanDriver)(const GEOMImpl_BooleanDriver* anItem) : Handle(TFunction_Driver)((TFunction_Driver *)anItem) - { - } - - Handle(GEOMImpl_BooleanDriver)& operator=(const Handle(GEOMImpl_BooleanDriver)& aHandle) - { - Assign(aHandle.Access()); - return *this; - } - - Handle(GEOMImpl_BooleanDriver)& operator=(const GEOMImpl_BooleanDriver* anItem) - { - Assign((Standard_Transient *)anItem); - return *this; - } - - GEOMImpl_BooleanDriver* operator->() - { - return (GEOMImpl_BooleanDriver *)ControlAccess(); - } - - GEOMImpl_BooleanDriver* operator->() const - { - return (GEOMImpl_BooleanDriver *)ControlAccess(); - } - - Standard_EXPORT ~Handle(GEOMImpl_BooleanDriver)() {}; - - Standard_EXPORT static const Handle(GEOMImpl_BooleanDriver) DownCast(const Handle(Standard_Transient)& AnObject); -}; + #ifndef _TFunction_Driver_HeaderFile #include @@ -100,22 +72,13 @@ class Handle(GEOMImpl_BooleanDriver) : public Handle(TFunction_Driver) { class TColStd_SequenceOfExtendedString; -class GEOMImpl_BooleanDriver : public TFunction_Driver { +#include "GEOM_BaseDriver.hxx" -public: +DEFINE_STANDARD_HANDLE( GEOMImpl_BooleanDriver, GEOM_BaseDriver ); - inline void* operator new(size_t,void* anAddress) - { - return anAddress; - } - inline void* operator new(size_t size) - { - return Standard::Allocate(size); - } - inline void operator delete(void *anAddress) - { - if (anAddress) Standard::Free((Standard_Address&)anAddress); - } +class GEOMImpl_BooleanDriver : public GEOM_BaseDriver { + +public: // Methods PUBLIC // @@ -126,14 +89,16 @@ Standard_EXPORT Standard_Boolean MustExecute(const TFunction_Logbook&) const { r Standard_EXPORT static const Standard_GUID& GetID(); Standard_EXPORT ~GEOMImpl_BooleanDriver() {}; +Standard_EXPORT virtual bool GetCreationInformation(std::string& theOperationName, + std::vector& params); - // Type management - // -Standard_EXPORT friend Handle_Standard_Type& GEOMImpl_BooleanDriver_Type_(); -Standard_EXPORT const Handle(Standard_Type)& DynamicType() const { return STANDARD_TYPE(GEOMImpl_BooleanDriver) ; } -Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)& AType) const { return (STANDARD_TYPE(GEOMImpl_BooleanDriver) == AType || TFunction_Driver::IsKind(AType)); } +private: + TopoDS_Shape performOperation(const TopoDS_Shape theShape1, + const TopoDS_Shape theShape2, + const Standard_Integer theType) const; +DEFINE_STANDARD_RTTI( GEOMImpl_BooleanDriver ) }; #endif