[geos-commits] r2770 - in trunk/source/headers/geos/algorithm: . distance locate

svn_geos at osgeo.org svn_geos at osgeo.org
Thu Dec 3 14:27:18 EST 2009


Author: mloskot
Date: 2009-12-03 14:27:18 -0500 (Thu, 03 Dec 2009)
New Revision: 2770

Modified:
   trunk/source/headers/geos/algorithm/RayCrossingCounter.h
   trunk/source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h
   trunk/source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h
Log:
Part 9 of larger changeset - source/headers/geos/algorithm:
* Declare noncopyable types as such explicitly (Ticket #304).
* Added Visual C++ pragmas.
* Tidy up.

Modified: trunk/source/headers/geos/algorithm/RayCrossingCounter.h
===================================================================
--- trunk/source/headers/geos/algorithm/RayCrossingCounter.h	2009-12-03 19:24:55 UTC (rev 2769)
+++ trunk/source/headers/geos/algorithm/RayCrossingCounter.h	2009-12-03 19:27:18 UTC (rev 2770)
@@ -72,9 +72,12 @@
 	int crossingCount;
 	
 	// true if the test point lies on an input segment
-	bool isPointOnSegment;
+    bool isPointOnSegment;
 
-protected:
+    // Declare type as noncopyable
+    RayCrossingCounter(const RayCrossingCounter& other);
+    RayCrossingCounter& operator=(const RayCrossingCounter& rhs);
+
 public:
 	/**
 	 * Determines the {@link Location} of a point in a ring.

Modified: trunk/source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h
===================================================================
--- trunk/source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h	2009-12-03 19:24:55 UTC (rev 2769)
+++ trunk/source/headers/geos/algorithm/distance/DiscreteHausdorffDistance.h	2009-12-03 19:27:18 UTC (rev 2770)
@@ -173,6 +173,10 @@
 		PointPairDistance minPtDist;
 		DistanceToPoint euclideanDist;
 		const geom::Geometry& geom;
+
+        // Declare type as noncopyable
+        MaxPointDistanceFilter(const MaxPointDistanceFilter& other);
+        MaxPointDistanceFilter& operator=(const MaxPointDistanceFilter& rhs);
 	};
 
 	class MaxDensifiedByFractionDistanceFilter
@@ -204,7 +208,10 @@
 		PointPairDistance minPtDist;
 		const geom::Geometry& geom;
 		std::size_t numSubSegs; // = 0;
-		
+
+        // Declare type as noncopyable
+        MaxDensifiedByFractionDistanceFilter(const MaxDensifiedByFractionDistanceFilter& other);
+        MaxDensifiedByFractionDistanceFilter& operator=(const MaxDensifiedByFractionDistanceFilter& rhs);
 	};
 
 private:
@@ -227,8 +234,11 @@
 	PointPairDistance ptDist;
 
 	/// Value of 0.0 indicates that no densification should take place
-	double densifyFrac; // = 0.0;
-	
+    double densifyFrac; // = 0.0;
+
+    // Declare type as noncopyable
+    DiscreteHausdorffDistance(const DiscreteHausdorffDistance& other);
+    DiscreteHausdorffDistance& operator=(const DiscreteHausdorffDistance& rhs);
 };
 
 

Modified: trunk/source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h
===================================================================
--- trunk/source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h	2009-12-03 19:24:55 UTC (rev 2769)
+++ trunk/source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h	2009-12-03 19:27:18 UTC (rev 2770)
@@ -97,8 +97,10 @@
 
 	void buildIndex( const geom::Geometry & g);
 
+    // Declare type as noncopyable
+    IndexedPointInAreaLocator(const IndexedPointInAreaLocator& other);
+    IndexedPointInAreaLocator& operator=(const IndexedPointInAreaLocator& rhs);
 
-protected:
 public:
 	/**
 	 * Creates a new locator for a given {@link Geometry}



More information about the geos-commits mailing list