]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Porting to OCCT 7.8.0
authorjfa <jfa@opencascade.com>
Mon, 15 Jan 2024 13:35:35 +0000 (13:35 +0000)
committerjfa <jfa@opencascade.com>
Mon, 15 Jan 2024 13:35:35 +0000 (13:35 +0000)
src/DDS/DDS.h
src/DDS/DDS_DicItem.h
src/OCCViewer/OCCViewer_VService.h
src/SVTK/SVTK_Hash.h

index c678aa002a722ff2a5fc5b67545a4b2625fe234d..bcd657483fbaeaf9761c797ddb16f35885d52c22 100644 (file)
@@ -24,7 +24,6 @@
 #define DDS_H
 
 #include <TCollection_AsciiString.hxx>
-#include <NCollection_DefineDataMap.hxx>
 
 #define UNIT_SYSTEM_SI "SI"
 
index 0e4e27fa3944c3b48fbc6909926cd888c8ee885b..80e6a8594c5e7d1f89005db1834b475eaebef952 100644 (file)
@@ -33,7 +33,7 @@
 #include <TColStd_HArray1OfExtendedString.hxx>
 
 #include <NCollection_DataMap.hxx>
-#include <NCollection_DefineIndexedDataMap.hxx>
+#include <NCollection_IndexedDataMap.hxx>
 
 #include <TColStd_MapOfReal.hxx>
 #include <TColStd_SequenceOfInteger.hxx>
index b72ae1c060fb5cf980f8ab354c2bb8aab4a0ba5f..dc45788a70a1d9d393d801a6d9b92f1d16b2accd 100644 (file)
@@ -28,7 +28,6 @@
 #include <V3d_Viewer.hxx>
 #include <Standard_Boolean.hxx>
 #include <Standard_CString.hxx>
-#include <Standard_ExtString.hxx>
 #include <V3d_TypeOfOrientation.hxx>
 
 #include <QWidget>
index 081ddbf794660dc8930a046b68ed45212c441fc6..a6e258ff494d0248a1405258642cbdc865213d7e 100644 (file)
 #include <vtkType.h>
 #include <limits>
 
+#include <Basics_OCCTVersion.hxx>
+
 typedef std::vector<Standard_Integer> SVTK_ListOfInteger;
 typedef std::vector<vtkIdType> SVTK_ListOfVtk;
 
+#if OCC_VERSION_LARGE < 0x07080000
 class SVTK_Hasher {
 
 public:
@@ -90,6 +93,59 @@ struct svtkIdHasher
   }
 };
 
+#else
+
+class SVTK_Hasher {
+
+public:
+  size_t operator()(const std::vector<Standard_Integer> ids) const
+  {
+    Standard_Integer seed = (Standard_Integer)ids.size();
+    for ( Standard_Integer v : ids )
+      seed ^= v + 0x9e3779b9 + ( seed << 6 ) + ( seed >> 2 );
+    return (size_t)(seed & IntegerLast());
+  }
+
+  bool operator()(const SVTK_ListOfInteger& theKey1,
+                  const SVTK_ListOfInteger& theKey2) const
+  {
+    return theKey1 == theKey2;
+  }
+};
+
+class SVTK_vtkHasher {
+
+public:
+  size_t operator()(const std::vector<vtkIdType> ids) const
+  {
+    vtkIdType seed = (vtkIdType)ids.size();
+    for ( vtkIdType v : ids )
+      seed ^= v + 0x9e3779b97f4a7c15 + ( seed << 6 ) + ( seed >> 2 );
+    return (size_t)(seed & (std::numeric_limits<vtkIdType>::max)());
+  }
+
+  bool operator()(const SVTK_ListOfVtk& theKey1,
+                  const SVTK_ListOfVtk& theKey2) const
+  {
+    return theKey1 == theKey2;
+  }
+};
+
+struct svtkIdHasher
+{
+  size_t operator()(const vtkIdType theValue) const
+  {
+    return (size_t)(theValue & (std::numeric_limits<vtkIdType>::max)());
+  }
+
+  bool operator()(const vtkIdType& id1, const vtkIdType& id2) const
+  {
+    return id1 == id2;
+  }
+};
+
+#endif // OCC_VERSION_LARGE < 0x07080000
+
 typedef NCollection_IndexedMap<SVTK_ListOfInteger,SVTK_Hasher> SVTK_IndexedMapOfIds;
 typedef NCollection_IndexedMap<SVTK_ListOfVtk, SVTK_vtkHasher> SVTK_IndexedMapOfVtkIds;
 typedef NCollection_Map< vtkIdType, svtkIdHasher > SVTK_TVtkIDsMap;