From ff84c1a294ada95da9fd4495213add974e8345c3 Mon Sep 17 00:00:00 2001 From: mgomiero Date: Mon, 25 Apr 2022 10:51:00 +0200 Subject: [PATCH 1/3] Add editInput on Queries to allow query reusability --- Ponca/src/SpatialPartitioning/query.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Ponca/src/SpatialPartitioning/query.h b/Ponca/src/SpatialPartitioning/query.h index d16e182ef..e26398391 100644 --- a/Ponca/src/SpatialPartitioning/query.h +++ b/Ponca/src/SpatialPartitioning/query.h @@ -66,7 +66,11 @@ struct OUT_TYPE##PointQuery : Query, \ inline QueryInput(InputType input) : m_input(input) {} inline const InputType &input() const { return m_input; } - + protected: + /// \brief Edit the input (queries need to be restarted for good behavior) + ///Usefull to avoid query reallocation between different request + inline void editInput(InputType input) { m_input = input; } + private: /// Index of the queried point const InputType m_input; From 8626a600c982b64e3fefac7137243a222e4e84aa Mon Sep 17 00:00:00 2001 From: mgomiero Date: Mon, 25 Apr 2022 15:34:03 +0200 Subject: [PATCH 2/3] Correction PullRequest --- Ponca/src/SpatialPartitioning/query.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ponca/src/SpatialPartitioning/query.h b/Ponca/src/SpatialPartitioning/query.h index e26398391..eb9227b61 100644 --- a/Ponca/src/SpatialPartitioning/query.h +++ b/Ponca/src/SpatialPartitioning/query.h @@ -68,8 +68,8 @@ struct OUT_TYPE##PointQuery : Query, \ inline const InputType &input() const { return m_input; } protected: /// \brief Edit the input (queries need to be restarted for good behavior) - ///Usefull to avoid query reallocation between different request - inline void editInput(InputType input) { m_input = input; } + ///Usefull to avoid query reallocation between different requests + inline void editInput(const InputType& input) { m_input = input; } private: /// Index of the queried point From 7b81b2bf0f1d53f34480d884a9d95542101d6a8e Mon Sep 17 00:00:00 2001 From: mgomiero Date: Mon, 25 Apr 2022 15:51:21 +0200 Subject: [PATCH 3/3] Comment modification PR --- Ponca/src/SpatialPartitioning/query.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Ponca/src/SpatialPartitioning/query.h b/Ponca/src/SpatialPartitioning/query.h index eb9227b61..71e19beb8 100644 --- a/Ponca/src/SpatialPartitioning/query.h +++ b/Ponca/src/SpatialPartitioning/query.h @@ -67,8 +67,10 @@ struct OUT_TYPE##PointQuery : Query, \ inline const InputType &input() const { return m_input; } protected: - /// \brief Edit the input (queries need to be restarted for good behavior) - ///Usefull to avoid query reallocation between different requests + /// \brief Edit the input + /// Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. + /// Simplest way to avoid this is to restart the iteration on the query. + /// Usefull to avoid query reallocation between different requests inline void editInput(const InputType& input) { m_input = input; } private: