[geos-commits] r4186 - trunk/capi

Sandro Santilli strk at keybit.net
Tue Apr 19 09:27:01 PDT 2016


Author: strk
Date: 2016-04-19 09:27:01 -0700 (Tue, 19 Apr 2016)
New Revision: 4186

Modified:
   trunk/capi/geos_ts_c.cpp
Log:
Move CustomItemDistance defn some contexts higher

Modified: trunk/capi/geos_ts_c.cpp
===================================================================
--- trunk/capi/geos_ts_c.cpp	2016-04-19 16:26:54 UTC (rev 4185)
+++ trunk/capi/geos_ts_c.cpp	2016-04-19 16:27:01 UTC (rev 4186)
@@ -5956,29 +5956,30 @@
 {
 
     GEOSContextHandleInternal_t *handle = 0;
-    try
-    {
-        if (distancefn) {
-            struct CustomItemDistance : public ItemDistance {
-                CustomItemDistance(GEOSDistanceCallback p_distancefn, void* p_userdata)
-                        : m_distancefn(p_distancefn), m_userdata(p_userdata) {}
 
-                GEOSDistanceCallback m_distancefn;
-                void* m_userdata;
+		struct CustomItemDistance : public ItemDistance {
+				CustomItemDistance(GEOSDistanceCallback p_distancefn, void* p_userdata)
+								: m_distancefn(p_distancefn), m_userdata(p_userdata) {}
 
-                double distance(const ItemBoundable* item1, const ItemBoundable* item2) {
-                    const void* a = item1->getItem();
-                    const void* b = item2->getItem();
-                    double d;
+				GEOSDistanceCallback m_distancefn;
+				void* m_userdata;
 
-                    if (!m_distancefn(a, b, &d, m_userdata)) {
-                        throw std::runtime_error(std::string("Failed to compute distance."));
-                    }
+				double distance(const ItemBoundable* item1, const ItemBoundable* item2) {
+						const void* a = item1->getItem();
+						const void* b = item2->getItem();
+						double d;
 
-                    return d;
-                }
-            };
+						if (!m_distancefn(a, b, &d, m_userdata)) {
+								throw std::runtime_error(std::string("Failed to compute distance."));
+						}
 
+						return d;
+				}
+		};
+
+    try
+    {
+        if (distancefn) {
             CustomItemDistance itemDistance(distancefn, userdata);
             return tree->nearestNeighbour(itemEnvelope->getEnvelopeInternal(), item, &itemDistance);
         } else {



More information about the geos-commits mailing list