Salome HOME
[bos #40619][CEA] Add Fuzzy parameter to partition and boolean operators
[modules/geom.git] / src / GEOMImpl / GEOMImpl_BooleanDriver.hxx
index 410c12aaf9452678405c1457eb33eaf5eeeca810..e9c412e5c54d0df6161b8ac97e22e97e458d6dcf 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 #ifndef _GEOMImpl_BooleanDriver_HeaderFile
 #define _GEOMImpl_BooleanDriver_HeaderFile
 
-#ifndef _TColStd_SequenceOfExtendedString_HeaderFile
-#include <TColStd_SequenceOfExtendedString.hxx>
-#endif
-#ifndef _Standard_TypeMismatch_HeaderFile
-#include <Standard_TypeMismatch.hxx>
-#endif
-
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_GUID_HeaderFile
-#include <Standard_GUID.hxx>
-#endif 
-
-#ifndef _TopoDS_Shape_HeaderFile
 #include <TopoDS_Shape.hxx>
-#endif
-
 
-class Standard_Transient;
-class Handle_Standard_Type;
-class Handle(TFunction_Driver);
-class GEOMImpl_BooleanDriver;
+#include <GEOM_BaseDriver.hxx>
 
-
-
-#ifndef _TFunction_Driver_HeaderFile
-#include <TFunction_Driver.hxx>
-#endif
-#ifndef _TFunction_Logbook_HeaderFile
-#include <TFunction_Logbook.hxx>
-#endif
-#ifndef _Standard_CString_HeaderFile
-#include <Standard_CString.hxx>
-#endif
-
-class TColStd_SequenceOfExtendedString;
-
-
-#include "GEOM_BaseDriver.hxx"
-
-DEFINE_STANDARD_HANDLE( GEOMImpl_BooleanDriver, GEOM_BaseDriver );
+DEFINE_STANDARD_HANDLE( GEOMImpl_BooleanDriver, GEOM_BaseDriver )
 
 class GEOMImpl_BooleanDriver : public GEOM_BaseDriver {
 
 public:
 
- // Methods PUBLIC
- // 
-Standard_EXPORT GEOMImpl_BooleanDriver();
-Standard_EXPORT virtual  Standard_Integer Execute(TFunction_Logbook& log) const; 
-Standard_EXPORT virtual void Validate(TFunction_Logbook&) const {}
-Standard_EXPORT Standard_Boolean MustExecute(const TFunction_Logbook&) const { return Standard_True; }
-Standard_EXPORT static const Standard_GUID& GetID();
-Standard_EXPORT ~GEOMImpl_BooleanDriver() {};
+  Standard_EXPORT GEOMImpl_BooleanDriver();
+  Standard_EXPORT virtual Standard_Integer Execute(Handle(TFunction_Logbook)& log) const;
+  Standard_EXPORT virtual void Validate(Handle(TFunction_Logbook)&) const {}
+  Standard_EXPORT Standard_Boolean MustExecute(const Handle(TFunction_Logbook)&) const { return Standard_True; }
+  Standard_EXPORT static const Standard_GUID& GetID();
+  Standard_EXPORT ~GEOMImpl_BooleanDriver() {};
 
-Standard_EXPORT virtual bool GetCreationInformation(std::string&             theOperationName,
-                                                    std::vector<GEOM_Param>& params);
+  Standard_EXPORT virtual bool GetCreationInformation(std::string&             theOperationName,
+                                                      std::vector<GEOM_Param>& params);
 
 private:
 
   TopoDS_Shape performOperation(const TopoDS_Shape theShape1,
                                 const TopoDS_Shape theShape2,
-                                const Standard_Integer theType) const;
+                                const Standard_Integer theType,
+                                const Standard_Real theFuzzyParam) const;
+
+  TopoDS_Shape makeCompoundShellFromFaces(const TopoDS_Shape theShape) const;
 
-DEFINE_STANDARD_RTTI( GEOMImpl_BooleanDriver )
+  DEFINE_STANDARD_RTTIEXT(GEOMImpl_BooleanDriver,GEOM_BaseDriver)
 };
 
 #endif