From b502307ee2a26c211b899e29cf1fcc5c3c613bd8 Mon Sep 17 00:00:00 2001
From: Gabriel Studer <gabriel.studer@unibas.ch>
Date: Wed, 12 Jun 2019 12:03:36 +0200
Subject: [PATCH] Update Spatial organizer if necessary when doint a FindWithin

---
 modules/mol/base/src/impl/entity_impl.cc | 3 ++-
 modules/mol/base/src/impl/entity_impl.hh | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/modules/mol/base/src/impl/entity_impl.cc b/modules/mol/base/src/impl/entity_impl.cc
index 937a63213..2eeaf86cd 100644
--- a/modules/mol/base/src/impl/entity_impl.cc
+++ b/modules/mol/base/src/impl/entity_impl.cc
@@ -812,8 +812,9 @@ TorsionImplP EntityImpl::FindTorsion(const AtomImplPtr& a1,
   return TorsionImplP();
 }
 
-AtomImplList EntityImpl::FindWithin(const geom::Vec3& pos, Real radius) const
+AtomImplList EntityImpl::FindWithin(const geom::Vec3& pos, Real radius)
 {
+  this->UpdateOrganizerIfNeeded();
   SpatialAtomOrganizer::ItemList alist = atom_organizer_.FindWithin(pos,radius);
   return alist;
 }
diff --git a/modules/mol/base/src/impl/entity_impl.hh b/modules/mol/base/src/impl/entity_impl.hh
index 5033bd55e..7a1e3a303 100644
--- a/modules/mol/base/src/impl/entity_impl.hh
+++ b/modules/mol/base/src/impl/entity_impl.hh
@@ -160,7 +160,7 @@ public:
   
   void UpdateOrganizer();
   
-  AtomImplList FindWithin(const geom::Vec3& pos, Real radius) const;
+  AtomImplList FindWithin(const geom::Vec3& pos, Real radius);
   // use query flag defaults
   EntityView Select(const EntityHandle& h, const Query& q) const;
   // override query flag defaults with given flags
-- 
GitLab