diff --git a/modules/mol/base/pymod/export_entity.cc b/modules/mol/base/pymod/export_entity.cc index c0b54781a2d85a1bcefa2a7695a21c66734c970d..bd2e97248f2ebd6ff6d0e253b1286d7581350637 100644 --- a/modules/mol/base/pymod/export_entity.cc +++ b/modules/mol/base/pymod/export_entity.cc @@ -225,7 +225,8 @@ void export_Entity() .def("EditXCS", &EntityHandle::EditXCS, arg("mode")=UNBUFFERED_EDIT) .def("EditICS", &EntityHandle::EditICS, arg("mode")=UNBUFFERED_EDIT) .def("RequestXCSEditor", &depr_request_xcs_editor, arg("mode")=UNBUFFERED_EDIT) - .def("RequestICSEditor", &depr_request_ics_editor, arg("mode")=UNBUFFERED_EDIT) + .def("RequestICSEditor", &depr_request_ics_editor, arg("mode")=UNBUFFERED_EDIT) + .def("GetHashCode", &EntityHandle::GetHashCode) .def(self==self) .def(self!=self) #if OST_NUMPY_SUPPORT_ENABLED diff --git a/modules/mol/base/src/entity_handle.cc b/modules/mol/base/src/entity_handle.cc index b17d23f0b12edf44e6d3e3581f50bd7c0a171b36..ade0c4524d17f4e0bd2360fb39fdbecbe711f549 100644 --- a/modules/mol/base/src/entity_handle.cc +++ b/modules/mol/base/src/entity_handle.cc @@ -388,4 +388,11 @@ EntityHandle EntityHandle::GetHandle() const { return *this; } + +unsigned long EntityHandle::GetHashCode() const +{ + this->CheckValidity(); + return reinterpret_cast<unsigned long>(Impl().get()); +} + }} // ns diff --git a/modules/mol/base/src/entity_handle.hh b/modules/mol/base/src/entity_handle.hh index 18383529adc27e7472876d44d104d0381d0d8af3..a85db21be815dbe2e4cd32b8075416931efc2ad6 100644 --- a/modules/mol/base/src/entity_handle.hh +++ b/modules/mol/base/src/entity_handle.hh @@ -272,6 +272,9 @@ public: /// /// Useful for templated code and duck-typing in Python EntityHandle GetHandle() const; + + unsigned long GetHashCode() const; + bool operator==(const EntityHandle& ref) const; bool operator!=(const EntityHandle& ref) const; };