Move global methods needed for NCollection_DataMap< TopoDS_Shape, * >
to class SMESHDS_Hasher in order not to clash with the same global definitions
- typedef NCollection_DataMap< TopoDS_Shape, THypList > ShapeToHypothesis;
+ typedef NCollection_DataMap< TopoDS_Shape, THypList, SMESHDS_Hasher > ShapeToHypothesis;
/*
* This method needed for instance NCollection_DataMap with TopoDS_Shape as key
*/
-
-inline Standard_Boolean IsEqual(const TopoDS_Shape& S1,
- const TopoDS_Shape& S2)
+struct SMESHDS_Hasher
{
- return S1.IsSame(S2);
-}
-
+ static inline Standard_Boolean IsEqual(const TopoDS_Shape& S1,
+ const TopoDS_Shape& S2)
+ {
+ return S1.IsSame(S2);
+ }
+ static inline Standard_Integer HashCode(const TopoDS_Shape& S,
+ const Standard_Integer Upper)
+ {
+ return ::HashCode( S, Upper);
+ }
+};
-#endif
+#endif
class SMESHDS_GroupBase;
class DownIdType;
-class SMESHDS_EXPORT SMESHDS_Mesh:public SMDS_Mesh{
+class SMESHDS_EXPORT SMESHDS_Mesh : public SMDS_Mesh
+{
public:
SMESHDS_Mesh(int theMeshID, bool theIsEmbeddedMode);
bool IsEmbeddedMode();
it->second->AddNode( aNode ); // add aNode to submesh
}
- /*int HashCode( const TopoDS_Shape& S, const Standard_Integer theUpper ) const
- {
- return S.HashCode(2147483647);
- }*/
-
typedef std::list<const SMESHDS_Hypothesis*> THypList;
- typedef NCollection_DataMap< TopoDS_Shape, THypList > ShapeToHypothesis;
+ typedef NCollection_DataMap< TopoDS_Shape, THypList, SMESHDS_Hasher > ShapeToHypothesis;
ShapeToHypothesis myShapeToHypothesis;