[geos-commits] r3255 - in trunk: include/geos include/geos/algorithm include/geos/algorithm/distance include/geos/geom include/geos/geom/prep include/geos/geom/util include/geos/geomgraph include/geos/geomgraph/index include/geos/index/bintree include/geos/index/quadtree include/geos/index/strtree include/geos/index/sweepline include/geos/io include/geos/linearref include/geos/noding include/geos/noding/snapround include/geos/operation include/geos/operation/buffer include/geos/operation/distance include/geos/operation/linemerge include/geos/operation/overlay include/geos/operation/overlay/snap include/geos/operation/overlay/validate include/geos/operation/polygonize include/geos/operation/relate include/geos/operation/union include/geos/operation/valid include/geos/planargraph include/geos/precision include/geos/simplify include/geos/util src/geom src/operation/buffer tests/unit/capi tests/unit/geom tests/unit/io

svn_geos at osgeo.org svn_geos at osgeo.org
Tue Mar 1 12:56:10 EST 2011


Author: mloskot
Date: 2011-03-01 09:56:10 -0800 (Tue, 01 Mar 2011)
New Revision: 3255

Modified:
   trunk/include/geos/algorithm/BoundaryNodeRule.h
   trunk/include/geos/algorithm/CentralEndpointIntersector.h
   trunk/include/geos/algorithm/ConvexHull.h
   trunk/include/geos/algorithm/distance/DiscreteHausdorffDistance.h
   trunk/include/geos/geom/Coordinate.h
   trunk/include/geos/geom/Coordinate.inl
   trunk/include/geos/geom/CoordinateArraySequence.h
   trunk/include/geos/geom/CoordinateList.h
   trunk/include/geos/geom/CoordinateSequence.h
   trunk/include/geos/geom/CoordinateSequenceFilter.h
   trunk/include/geos/geom/Envelope.h
   trunk/include/geos/geom/Geometry.h
   trunk/include/geos/geom/GeometryList.h
   trunk/include/geos/geom/IntersectionMatrix.h
   trunk/include/geos/geom/prep/PreparedGeometry.h
   trunk/include/geos/geom/prep/PreparedGeometryFactory.h
   trunk/include/geos/geom/util/GeometryExtracter.h
   trunk/include/geos/geomgraph/Edge.h
   trunk/include/geos/geomgraph/EdgeIntersectionList.h
   trunk/include/geos/geomgraph/EdgeNodingValidator.h
   trunk/include/geos/geomgraph/EdgeRing.h
   trunk/include/geos/geomgraph/GeometryGraph.h
   trunk/include/geos/geomgraph/TopologyLocation.h
   trunk/include/geos/geomgraph/index/MonotoneChainEdge.h
   trunk/include/geos/geomgraph/index/SegmentIntersector.h
   trunk/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h
   trunk/include/geos/geomgraph/index/SimpleSweepLineIntersector.h
   trunk/include/geos/index/bintree/Bintree.h
   trunk/include/geos/index/quadtree/Node.h
   trunk/include/geos/index/quadtree/NodeBase.h
   trunk/include/geos/index/quadtree/Quadtree.h
   trunk/include/geos/index/strtree/AbstractSTRtree.h
   trunk/include/geos/index/strtree/STRtree.h
   trunk/include/geos/index/sweepline/SweepLineIndex.h
   trunk/include/geos/io/StringTokenizer.h
   trunk/include/geos/io/Writer.h
   trunk/include/geos/linearref/LengthIndexedLine.h
   trunk/include/geos/noding/BasicSegmentString.h
   trunk/include/geos/noding/MCIndexNoder.h
   trunk/include/geos/noding/NodableSegmentString.h
   trunk/include/geos/noding/NodedSegmentString.h
   trunk/include/geos/noding/ScaledNoder.h
   trunk/include/geos/noding/SegmentNodeList.h
   trunk/include/geos/noding/SegmentPointComparator.h
   trunk/include/geos/noding/SegmentString.h
   trunk/include/geos/noding/snapround/HotPixel.h
   trunk/include/geos/noding/snapround/MCIndexSnapRounder.h
   trunk/include/geos/operation/IsSimpleOp.h
   trunk/include/geos/operation/buffer/BufferParameters.h
   trunk/include/geos/operation/buffer/BufferSubgraph.h
   trunk/include/geos/operation/buffer/OffsetCurveSetBuilder.h
   trunk/include/geos/operation/distance/DistanceOp.h
   trunk/include/geos/operation/linemerge/EdgeString.h
   trunk/include/geos/operation/linemerge/LineSequencer.h
   trunk/include/geos/operation/overlay/ElevationMatrix.h
   trunk/include/geos/operation/overlay/ElevationMatrixCell.h
   trunk/include/geos/operation/overlay/LineBuilder.h
   trunk/include/geos/operation/overlay/PolygonBuilder.h
   trunk/include/geos/operation/overlay/snap/SnapOverlayOp.h
   trunk/include/geos/operation/overlay/validate/FuzzyPointLocator.h
   trunk/include/geos/operation/overlay/validate/OffsetPointGenerator.h
   trunk/include/geos/operation/overlay/validate/OverlayResultValidator.h
   trunk/include/geos/operation/polygonize/EdgeRing.h
   trunk/include/geos/operation/polygonize/PolygonizeGraph.h
   trunk/include/geos/operation/polygonize/Polygonizer.h
   trunk/include/geos/operation/relate/RelateComputer.h
   trunk/include/geos/operation/union/UnaryUnionOp.h
   trunk/include/geos/operation/valid/ConnectedInteriorTester.h
   trunk/include/geos/operation/valid/QuadtreeNestedRingTester.h
   trunk/include/geos/operation/valid/SimpleNestedRingTester.h
   trunk/include/geos/operation/valid/SweeplineNestedRingTester.h
   trunk/include/geos/planargraph/DirectedEdgeStar.h
   trunk/include/geos/planargraph/Edge.h
   trunk/include/geos/planargraph/Subgraph.h
   trunk/include/geos/precision/CommonBitsOp.h
   trunk/include/geos/profiler.h
   trunk/include/geos/simplify/DouglasPeuckerLineSimplifier.h
   trunk/include/geos/simplify/TaggedLineString.h
   trunk/include/geos/util/UnsupportedOperationException.h
   trunk/src/geom/Coordinate.cpp
   trunk/src/operation/buffer/BufferParameters.cpp
   trunk/tests/unit/capi/GEOSSharedPathsTest.cpp
   trunk/tests/unit/capi/GEOSisValidDetailTest.cpp
   trunk/tests/unit/geom/GeometryFactoryTest.cpp
   trunk/tests/unit/io/ByteOrderValuesTest.cpp
   trunk/tests/unit/io/WKBWriterTest.cpp
Log:
Fix DLL build using Visual C++: *) added missing exports; *) do not use static data members in inline methods - linker fails to find definition ; *) Clean up C4251 warning.

Modified: trunk/include/geos/algorithm/BoundaryNodeRule.h
===================================================================
--- trunk/include/geos/algorithm/BoundaryNodeRule.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/algorithm/BoundaryNodeRule.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,6 +20,8 @@
 #ifndef GEOS_ALGORITHM_BOUNDARYNODERULE_H
 #define GEOS_ALGORITHM_BOUNDARYNODERULE_H
 
+#include <geos/export.h>
+
 // Forward declarations
 // ...
 
@@ -46,7 +48,7 @@
  * @see operation::IsSimpleOp
  * @see algorithm::PointLocator
  */
-class BoundaryNodeRule {
+class GEOS_DLL BoundaryNodeRule {
 
 public:
 

Modified: trunk/include/geos/algorithm/CentralEndpointIntersector.h
===================================================================
--- trunk/include/geos/algorithm/CentralEndpointIntersector.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/algorithm/CentralEndpointIntersector.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,11 +20,17 @@
 #ifndef GEOS_ALGORITHM_CENTRALENDPOINTINTERSECTOR_H
 #define GEOS_ALGORITHM_CENTRALENDPOINTINTERSECTOR_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h>
 
 #include <string>
 #include <limits>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -54,7 +60,7 @@
  * @author Martin Davis
  * @version 1.8
  */
-class CentralEndpointIntersector {
+class GEOS_DLL CentralEndpointIntersector {
 
 public:	
 
@@ -140,14 +146,14 @@
 		}
 		return result;
 	}
-  
-
-
 };
 
 } // namespace geos::algorithm
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
 
 #endif // GEOS_ALGORITHM_CENTRALENDPOINTINTERSECTOR_H
 

Modified: trunk/include/geos/algorithm/ConvexHull.h
===================================================================
--- trunk/include/geos/algorithm/ConvexHull.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/algorithm/ConvexHull.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -23,6 +23,11 @@
 // FIXME: avoid using Cordinate:: typedefs to avoid full include
 #include <geos/geom/Coordinate.h>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -168,6 +173,10 @@
 } // namespace geos::algorithm
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #ifdef GEOS_INLINE
 # include "geos/algorithm/ConvexHull.inl"
 #endif

Modified: trunk/include/geos/algorithm/distance/DiscreteHausdorffDistance.h
===================================================================
--- trunk/include/geos/algorithm/distance/DiscreteHausdorffDistance.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/algorithm/distance/DiscreteHausdorffDistance.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,6 +20,7 @@
 #ifndef GEOS_ALGORITHM_DISTANCE_DISCRETEHAUSDORFFDISTANCE_H
 #define GEOS_ALGORITHM_DISTANCE_DISCRETEHAUSDORFFDISTANCE_H
 
+#include <geos/export.h>
 #include <geos/algorithm/distance/PointPairDistance.h> // for composition
 #include <geos/algorithm/distance/DistanceToPoint.h> // for composition
 #include <geos/util/IllegalArgumentException.h> // for inlines
@@ -31,6 +32,11 @@
 #include <cstddef>
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 namespace geos {
 	namespace algorithm {
 		//class RayCrossingCounter;
@@ -92,7 +98,7 @@
  *   HD(A, B) ~= 47.8
  * </pre>
  */
-class DiscreteHausdorffDistance
+class GEOS_DLL DiscreteHausdorffDistance
 {
 public:
 
@@ -241,12 +247,14 @@
     DiscreteHausdorffDistance& operator=(const DiscreteHausdorffDistance& rhs);
 };
 
-
-
 } // geos::algorithm::distance
 } // geos::algorithm
 } // geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_ALGORITHM_DISTANCE_DISCRETEHAUSDORFFDISTANCE_H
 
 /**********************************************************************

Modified: trunk/include/geos/geom/Coordinate.h
===================================================================
--- trunk/include/geos/geom/Coordinate.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/Coordinate.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -25,6 +25,11 @@
 #include <string>
 #include <limits>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 namespace geos {
 namespace geom { // geos.geom
 
@@ -155,6 +160,10 @@
 } // namespace geos.geom
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #ifdef GEOS_INLINE
 # include "geos/geom/Coordinate.inl"
 #endif

Modified: trunk/include/geos/geom/Coordinate.inl
===================================================================
--- trunk/include/geos/geom/Coordinate.inl	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/Coordinate.inl	2011-03-01 17:56:10 UTC (rev 3255)
@@ -34,12 +34,6 @@
 	z=DoubleNotANumber;
 }
 
-INLINE Coordinate&
-Coordinate::getNull()
-{
-	return nullCoord;
-}
-
 INLINE bool
 Coordinate::isNull() const
 {

Modified: trunk/include/geos/geom/CoordinateArraySequence.h
===================================================================
--- trunk/include/geos/geom/CoordinateArraySequence.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/CoordinateArraySequence.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -38,7 +38,7 @@
 class GEOS_DLL CoordinateArraySequence : public CoordinateSequence {
 public:
 
-        CoordinateArraySequence(const CoordinateArraySequence &cl);
+    CoordinateArraySequence(const CoordinateArraySequence &cl);
 
 	CoordinateSequence *clone() const;
 

Modified: trunk/include/geos/geom/CoordinateList.h
===================================================================
--- trunk/include/geos/geom/CoordinateList.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/CoordinateList.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -28,6 +28,11 @@
 #include <ostream> // for operator<<
 #include <memory> // for auto_ptr 
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom { 
@@ -157,8 +162,6 @@
 private:
 
 	std::list<Coordinate> coords;
-
-
 };
 
 inline
@@ -182,6 +185,9 @@
 } // namespace geos::geom
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
 
 #endif // ndef GEOS_GEOM_COORDINATELIST_H
 

Modified: trunk/include/geos/geom/CoordinateSequence.h
===================================================================
--- trunk/include/geos/geom/CoordinateSequence.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/CoordinateSequence.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -35,7 +35,6 @@
 	}
 }
 
-
 namespace geos {
 namespace geom { // geos::geom
 
@@ -70,17 +69,6 @@
 
 	typedef std::auto_ptr<CoordinateSequence> AutoPtr;
 
-	friend std::ostream& operator<< (std::ostream& os,
-		const CoordinateSequence& cs);
-
-	friend bool operator== (
-		const CoordinateSequence& seq1,
-		const CoordinateSequence& seq2);
-
-	friend bool operator!= (
-		const CoordinateSequence& seq1,
-		const CoordinateSequence& seq2);
-
 	virtual ~CoordinateSequence() {}
 
 	/** \brief
@@ -395,11 +383,11 @@
 
 };
 
-std::ostream& operator<< (std::ostream& os, const CoordinateSequence& cs);
+GEOS_DLL std::ostream& operator<< (std::ostream& os, const CoordinateSequence& cs);
 
-bool operator== (const CoordinateSequence& s1, const CoordinateSequence& s2);
+GEOS_DLL bool operator== (const CoordinateSequence& s1, const CoordinateSequence& s2);
 
-bool operator!= (const CoordinateSequence& s1, const CoordinateSequence& s2);
+GEOS_DLL bool operator!= (const CoordinateSequence& s1, const CoordinateSequence& s2);
 
 } // namespace geos::geom
 } // namespace geos

Modified: trunk/include/geos/geom/CoordinateSequenceFilter.h
===================================================================
--- trunk/include/geos/geom/CoordinateSequenceFilter.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/CoordinateSequenceFilter.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,6 +20,7 @@
 #ifndef GEOS_GEOM_COORDINATESEQUENCEFILTER_H
 #define GEOS_GEOM_COORDINATESEQUENCEFILTER_H
 
+#include <geos/export.h>
 #include <geos/inline.h>
 
 #include <cassert>
@@ -55,7 +56,7 @@
  * @author Martin Davis
  *
  */
-class CoordinateSequenceFilter {
+class GEOS_DLL CoordinateSequenceFilter {
 
 public:
 

Modified: trunk/include/geos/geom/Envelope.h
===================================================================
--- trunk/include/geos/geom/Envelope.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/Envelope.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -489,7 +489,7 @@
 };
 
 /// Checks if two Envelopes are equal (2D only check)
-bool operator==(const Envelope& a, const Envelope& b);
+GEOS_DLL bool operator==(const Envelope& a, const Envelope& b);
 
 } // namespace geos::geom
 } // namespace geos

Modified: trunk/include/geos/geom/Geometry.h
===================================================================
--- trunk/include/geos/geom/Geometry.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/Geometry.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -171,8 +171,6 @@
 
 	friend class GeometryFactory;
 
-	friend std::ostream& operator<< (std::ostream& os, const Geometry& geom);
-
 	/// A vector of const Geometry pointers
 	typedef std::vector<const Geometry *> ConstVect;
 
@@ -861,7 +859,7 @@
 /// Write the Well-known Binary representation of this Geometry
 /// as an HEX string to the given output stream
 ///
-std::ostream& operator<< (std::ostream& os, const Geometry& geom);
+GEOS_DLL std::ostream& operator<< (std::ostream& os, const Geometry& geom);
 
 struct GEOS_DLL GeometryGreaterThen {
 	bool operator()(const Geometry *first, const Geometry *second);

Modified: trunk/include/geos/geom/GeometryList.h
===================================================================
--- trunk/include/geos/geom/GeometryList.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/GeometryList.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -26,6 +26,11 @@
 #include <memory> // for auto_ptr
 #include <vector> 
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 namespace geos {
 namespace geom { // geos.geom
 
@@ -66,14 +71,16 @@
 	std::vector<Geometry*> geoms;
 
 	GeometryList();
-
 	~GeometryList();
-
 };
 
 } // namespace geos.geom
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_GEOM_GEOMETRYLIST_H
 
 /**********************************************************************

Modified: trunk/include/geos/geom/IntersectionMatrix.h
===================================================================
--- trunk/include/geos/geom/IntersectionMatrix.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/IntersectionMatrix.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -373,7 +373,7 @@
 	
 }; // class IntersectionMatrix
 
-std::ostream& operator<< (std::ostream&os, const IntersectionMatrix& im);
+GEOS_DLL std::ostream& operator<< (std::ostream&os, const IntersectionMatrix& im);
 
 
 } // namespace geos::geom

Modified: trunk/include/geos/geom/prep/PreparedGeometry.h
===================================================================
--- trunk/include/geos/geom/prep/PreparedGeometry.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/prep/PreparedGeometry.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,6 +20,7 @@
 #ifndef GEOS_GEOM_PREP_PREPAREDGEOMETRY_H
 #define GEOS_GEOM_PREP_PREPAREDGEOMETRY_H
 
+#include <geos/export.h>
 
 // Forward declarations
 namespace geos {
@@ -50,7 +51,7 @@
  * they optimize.
  * 
  */
-class PreparedGeometry {
+class GEOS_DLL PreparedGeometry {
 public:
 	virtual ~PreparedGeometry() {};
 	

Modified: trunk/include/geos/geom/prep/PreparedGeometryFactory.h
===================================================================
--- trunk/include/geos/geom/prep/PreparedGeometryFactory.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/prep/PreparedGeometryFactory.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -21,6 +21,7 @@
 #ifndef GEOS_GEOM_PREP_PREPAREDGEOMETRYFACTORY_H
 #define GEOS_GEOM_PREP_PREPAREDGEOMETRYFACTORY_H
 
+#include <geos/export.h>
 #include <geos/geom/prep/PreparedGeometry.h>
 
 namespace geos {
@@ -49,7 +50,7 @@
  * @author Martin Davis
  *
  */
-class PreparedGeometryFactory
+class GEOS_DLL PreparedGeometryFactory
 {
 public:
 

Modified: trunk/include/geos/geom/util/GeometryExtracter.h
===================================================================
--- trunk/include/geos/geom/util/GeometryExtracter.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geom/util/GeometryExtracter.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -35,7 +35,7 @@
 /**
  * Extracts the components of a given type from a {@link Geometry}.
  */
-class GeometryExtracter {
+class GEOS_DLL GeometryExtracter {
 
 public:
 

Modified: trunk/include/geos/geomgraph/Edge.h
===================================================================
--- trunk/include/geos/geomgraph/Edge.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geomgraph/Edge.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -33,6 +33,11 @@
 
 #include <geos/inline.h>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -244,6 +249,10 @@
 } // namespace geos.geomgraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 //#ifdef GEOS_INLINE
 //# include "geos/geomgraph/Edge.inl"
 //#endif

Modified: trunk/include/geos/geomgraph/EdgeIntersectionList.h
===================================================================
--- trunk/include/geos/geomgraph/EdgeIntersectionList.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geomgraph/EdgeIntersectionList.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -32,6 +32,11 @@
 
 #include <geos/inline.h>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -105,6 +110,10 @@
 } // namespace geos.geomgraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 //#ifdef GEOS_INLINE
 //# include "geos/geomgraph/EdgeIntersectionList.inl"
 //#endif

Modified: trunk/include/geos/geomgraph/EdgeNodingValidator.h
===================================================================
--- trunk/include/geos/geomgraph/EdgeNodingValidator.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geomgraph/EdgeNodingValidator.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -29,6 +29,11 @@
 
 #include <geos/inline.h>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -104,6 +109,10 @@
 } // namespace geos.geomgraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 //#ifdef GEOS_INLINE
 //# include "geos/geomgraph/EdgeNodingValidator.inl"
 //#endif

Modified: trunk/include/geos/geomgraph/EdgeRing.h
===================================================================
--- trunk/include/geos/geomgraph/EdgeRing.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geomgraph/EdgeRing.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -31,6 +31,10 @@
 #include <cassert> // for testInvariant
 #include <iosfwd> // for operator<<
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
 
 // Forward declarations
 namespace geos {
@@ -198,6 +202,10 @@
 } // namespace geos.geomgraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 //#ifdef GEOS_INLINE
 //# include "geos/geomgraph/EdgeRing.inl"
 //#endif

Modified: trunk/include/geos/geomgraph/GeometryGraph.h
===================================================================
--- trunk/include/geos/geomgraph/GeometryGraph.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geomgraph/GeometryGraph.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -34,6 +34,11 @@
 
 #include <geos/inline.h>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -232,6 +237,10 @@
 } // namespace geos.geomgraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #ifdef GEOS_INLINE
 # include "geos/geomgraph/GeometryGraph.inl"
 #endif

Modified: trunk/include/geos/geomgraph/TopologyLocation.h
===================================================================
--- trunk/include/geos/geomgraph/TopologyLocation.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geomgraph/TopologyLocation.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -28,6 +28,11 @@
 #include <vector>
 #include <string>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 namespace geos {
 namespace geomgraph { // geos.geomgraph
 
@@ -137,6 +142,10 @@
 //# include "geos/geomgraph/TopologyLocation.inl"
 //#endif
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ifndef GEOS_GEOMGRAPH_TOPOLOGYLOCATION_H
 
 /**********************************************************************

Modified: trunk/include/geos/geomgraph/index/MonotoneChainEdge.h
===================================================================
--- trunk/include/geos/geomgraph/index/MonotoneChainEdge.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geomgraph/index/MonotoneChainEdge.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -17,10 +17,14 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_MONOTONECHAINEDGE_H
 #define GEOS_GEOMGRAPH_INDEX_MONOTONECHAINEDGE_H
 
-
 #include <geos/export.h>
 #include <geos/geom/Envelope.h> // for composition
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -71,14 +75,16 @@
 		SegmentIntersector &ei);
 };
 
-
-
 } // namespace geos.geomgraph.index
 } // namespace geos.geomgraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
 #endif
 
+#endif
+
 /**********************************************************************
  * $Log$
  * Revision 1.1  2006/03/14 12:55:55  strk

Modified: trunk/include/geos/geomgraph/index/SegmentIntersector.h
===================================================================
--- trunk/include/geos/geomgraph/index/SegmentIntersector.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geomgraph/index/SegmentIntersector.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -17,12 +17,16 @@
 #ifndef GEOS_GEOMGRAPH_INDEX_SEGMENTINTERSECTOR_H
 #define GEOS_GEOMGRAPH_INDEX_SEGMENTINTERSECTOR_H
 
-
 #include <geos/export.h>
 #include <vector>
 
 #include <geos/geom/Coordinate.h> // for composition
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace algorithm {
@@ -122,13 +126,16 @@
 
 };
 
-
 } // namespace geos.geomgraph.index
 } // namespace geos.geomgraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
 #endif
 
+#endif
+
 /**********************************************************************
  * $Log$
  * Revision 1.1  2006/03/14 12:55:55  strk

Modified: trunk/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h
===================================================================
--- trunk/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -22,6 +22,11 @@
 
 #include <geos/geomgraph/index/EdgeSetIntersector.h> // for inheritance
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geomgraph {
@@ -84,12 +89,14 @@
 			SegmentIntersector *si);
 };
 
-
-
 } // namespace geos.geomgraph.index
 } // namespace geos.geomgraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_GEOMGRAPH_INDEX_SIMPLEMCSWEEPLINEINTERSECTOR_H
 
 /**********************************************************************

Modified: trunk/include/geos/geomgraph/index/SimpleSweepLineIntersector.h
===================================================================
--- trunk/include/geos/geomgraph/index/SimpleSweepLineIntersector.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/geomgraph/index/SimpleSweepLineIntersector.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -22,6 +22,11 @@
 
 #include <geos/geomgraph/index/EdgeSetIntersector.h> // for inheritance
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geomgraph {
@@ -81,13 +86,14 @@
 			SegmentIntersector *si);
 };
 
-
-
-
 } // namespace geos.geomgraph.index
 } // namespace geos.geomgraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_GEOMGRAPH_INDEX_SIMPLESWEEPLINEINTERSECTOR_H
 
 /**********************************************************************

Modified: trunk/include/geos/index/bintree/Bintree.h
===================================================================
--- trunk/include/geos/index/bintree/Bintree.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/index/bintree/Bintree.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -19,6 +19,11 @@
 #include <geos/export.h>
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace index { 
@@ -118,6 +123,10 @@
 } // namespace geos::index
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_IDX_BINTREE_BINTREE_H
 
 /**********************************************************************

Modified: trunk/include/geos/index/quadtree/Node.h
===================================================================
--- trunk/include/geos/index/quadtree/Node.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/index/quadtree/Node.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -28,6 +28,11 @@
 #include <string>
 #include <memory>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -126,6 +131,10 @@
 } // namespace geos::index
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_IDX_QUADTREE_NODE_H
 
 /**********************************************************************

Modified: trunk/include/geos/index/quadtree/NodeBase.h
===================================================================
--- trunk/include/geos/index/quadtree/NodeBase.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/index/quadtree/NodeBase.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -24,6 +24,11 @@
 #include <vector>
 #include <string>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -147,6 +152,10 @@
 } // namespace geos::index
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_IDX_QUADTREE_NODEBASE_H
 
 /**********************************************************************

Modified: trunk/include/geos/index/quadtree/Quadtree.h
===================================================================
--- trunk/include/geos/index/quadtree/Quadtree.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/index/quadtree/Quadtree.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -27,6 +27,11 @@
 #include <vector>
 #include <string>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -180,11 +185,14 @@
 
 };
 
-
 } // namespace geos::index::quadtree
 } // namespace geos::index
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_IDX_QUADTREE_QUADTREE_H
 
 /**********************************************************************

Modified: trunk/include/geos/index/strtree/AbstractSTRtree.h
===================================================================
--- trunk/include/geos/index/strtree/AbstractSTRtree.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/index/strtree/AbstractSTRtree.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -164,7 +164,7 @@
 	 * subclasses of AbstractSTRtree have different implementations of
 	 * bounds. 
 	 */
-	class IntersectsOp {
+	class GEOS_DLL IntersectsOp {
 		public:
 			/**
 			 * For STRtrees, the bounds will be Envelopes; for

Modified: trunk/include/geos/index/strtree/STRtree.h
===================================================================
--- trunk/include/geos/index/strtree/STRtree.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/index/strtree/STRtree.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -21,7 +21,6 @@
 #define GEOS_INDEX_STRTREE_STRTREE_H
 
 #include <geos/export.h>
-
 #include <geos/index/strtree/AbstractSTRtree.h> // for inheritance
 #include <geos/index/SpatialIndex.h> // for inheritance
 #include <geos/geom/Envelope.h> // for inlines
@@ -42,7 +41,6 @@
 	}
 }
 
-
 namespace geos {
 namespace index { // geos::index
 namespace strtree { // geos::index::strtree
@@ -68,7 +66,7 @@
 using AbstractSTRtree::query;
 
 private:
-	class STRIntersectsOp: public AbstractSTRtree::IntersectsOp {
+	class GEOS_DLL STRIntersectsOp: public AbstractSTRtree::IntersectsOp {
 		public:
 			bool intersects(const void* aBounds, const void* bBounds);
 	};

Modified: trunk/include/geos/index/sweepline/SweepLineIndex.h
===================================================================
--- trunk/include/geos/index/sweepline/SweepLineIndex.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/index/sweepline/SweepLineIndex.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,6 +20,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace index { 
@@ -74,11 +79,14 @@
 			SweepLineOverlapAction *action);
 };
 
-
 } // namespace geos:index:sweepline
 } // namespace geos:index
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_INDEX_SWEEPLINE_SWEEPLINEINDEX_H
 
 /**********************************************************************

Modified: trunk/include/geos/io/StringTokenizer.h
===================================================================
--- trunk/include/geos/io/StringTokenizer.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/io/StringTokenizer.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -25,6 +25,11 @@
 
 #include <string>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 namespace geos {
 namespace io {
 
@@ -57,6 +62,10 @@
 } // namespace io
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // #ifndef GEOS_IO_STRINGTOKENIZER_H
 
 /**********************************************************************

Modified: trunk/include/geos/io/Writer.h
===================================================================
--- trunk/include/geos/io/Writer.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/io/Writer.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -25,6 +25,11 @@
 
 #include <string>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 namespace geos {
 namespace io {
 
@@ -41,6 +46,10 @@
 } // namespace geos::io
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // #ifndef GEOS_IO_WRITER_H
 
 /**********************************************************************

Modified: trunk/include/geos/linearref/LengthIndexedLine.h
===================================================================
--- trunk/include/geos/linearref/LengthIndexedLine.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/linearref/LengthIndexedLine.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -21,6 +21,7 @@
 #ifndef GEOS_LINEARREF_LENGTHINDEXEDLINE_H
 #define GEOS_LINEARREF_LENGTHINDEXEDLINE_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h>
 #include <geos/geom/Geometry.h>
 #include <geos/linearref/LinearLocation.h>
@@ -41,7 +42,7 @@
  * themselves) are supported.
  */
 
-class LengthIndexedLine
+class GEOS_DLL LengthIndexedLine
 {
 private:
 	const geom::Geometry *linearGeom;

Modified: trunk/include/geos/noding/BasicSegmentString.h
===================================================================
--- trunk/include/geos/noding/BasicSegmentString.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/noding/BasicSegmentString.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,6 +20,7 @@
 #ifndef GEOS_NODING_BASICSEGMENTSTRING_H
 #define GEOS_NODING_BASICSEGMENTSTRING_H
 
+#include <geos/export.h>
 #include <geos/noding/SegmentString.h> // for inheritance
 #include <geos/geom/CoordinateSequence.h> // for inlines (size())
 
@@ -47,7 +48,7 @@
  * for preserving topological or parentage information.
  * All noded substrings are initialized with the same context object.
  */
-class BasicSegmentString : public SegmentString {
+class GEOS_DLL BasicSegmentString : public SegmentString {
 
 public:
 

Modified: trunk/include/geos/noding/MCIndexNoder.h
===================================================================
--- trunk/include/geos/noding/MCIndexNoder.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/noding/MCIndexNoder.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -32,6 +32,11 @@
 #include <vector>
 #include <iostream>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -114,6 +119,10 @@
 } // namespace geos.noding
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #ifdef GEOS_INLINE
 # include <geos/noding/MCIndexNoder.inl>
 #endif

Modified: trunk/include/geos/noding/NodableSegmentString.h
===================================================================
--- trunk/include/geos/noding/NodableSegmentString.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/noding/NodableSegmentString.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -17,6 +17,7 @@
 #ifndef GEOS_NODING_NODABLESEGMENTSTRING_H
 #define GEOS_NODING_NODABLESEGMENTSTRING_H
 
+#include <geos/export.h>
 #include <geos/noding/SegmentString.h> // for inheritance
 
 namespace geos {
@@ -34,7 +35,7 @@
  * 
  * @author Martin Davis
  */
-class NodableSegmentString : public SegmentString 
+class GEOS_DLL NodableSegmentString : public SegmentString 
 {
 private:
 protected:

Modified: trunk/include/geos/noding/NodedSegmentString.h
===================================================================
--- trunk/include/geos/noding/NodedSegmentString.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/noding/NodedSegmentString.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -23,6 +23,7 @@
 #ifndef GEOS_NODING_NODEDSEGMENTSTRING_H
 #define GEOS_NODING_NODEDSEGMENTSTRING_H
 
+#include <geos/export.h>
 #include <geos/noding/NodableSegmentString.h> // for inheritance
 #include <geos/geom/CoordinateSequence.h> // for inlines
 #include <geos/algorithm/LineIntersector.h>
@@ -54,7 +55,7 @@
  * All noded substrings are initialized with the same context object.
  *
  */
-class NodedSegmentString : public NodableSegmentString 
+class GEOS_DLL NodedSegmentString : public NodableSegmentString 
 {
 public:
 

Modified: trunk/include/geos/noding/ScaledNoder.h
===================================================================
--- trunk/include/geos/noding/ScaledNoder.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/noding/ScaledNoder.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -30,6 +30,11 @@
 //#include <geos/geom/CoordinateFilter.h> // for inheritance
 #include <geos/util.h>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -120,6 +125,9 @@
 } // namespace geos.noding
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
 
 //#ifdef GEOS_INLINE
 //# include "geos/noding/ScaledNoder.inl"

Modified: trunk/include/geos/noding/SegmentNodeList.h
===================================================================
--- trunk/include/geos/noding/SegmentNodeList.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/noding/SegmentNodeList.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -31,6 +31,11 @@
 
 #include <geos/noding/SegmentNode.h> // for composition
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -187,6 +192,10 @@
 } // namespace geos::noding
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 //#ifdef GEOS_INLINE
 //# include "geos/noding/SegmentNodeList.inl"
 //#endif

Modified: trunk/include/geos/noding/SegmentPointComparator.h
===================================================================
--- trunk/include/geos/noding/SegmentPointComparator.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/noding/SegmentPointComparator.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -19,6 +19,7 @@
 #ifndef GEOS_NODING_SEGMENTPOINTCOMPARATOR_H
 #define GEOS_NODING_SEGMENTPOINTCOMPARATOR_H
 
+#include <geos/export.h>
 #include <geos/geom/Coordinate.h>
 
 namespace geos {
@@ -34,7 +35,7 @@
  * of exact coordinates lying on the segment.
  *
  */
-class SegmentPointComparator {
+class GEOS_DLL SegmentPointComparator {
 
 public:
 

Modified: trunk/include/geos/noding/SegmentString.h
===================================================================
--- trunk/include/geos/noding/SegmentString.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/noding/SegmentString.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -21,9 +21,7 @@
 #define GEOS_NODING_SEGMENTSTRING_H
 
 #include <geos/export.h>
-
 #include <geos/noding/SegmentNodeList.h>
-
 #include <geos/inline.h>
 
 #include <vector>

Modified: trunk/include/geos/noding/snapround/HotPixel.h
===================================================================
--- trunk/include/geos/noding/snapround/HotPixel.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/noding/snapround/HotPixel.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -27,6 +27,11 @@
 #include <geos/geom/Coordinate.h> // for composition
 #include <geos/geom/Envelope.h> // for auto_ptr
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -193,12 +198,14 @@
 
 };
 
-
-
 } // namespace geos::noding::snapround
 } // namespace geos::noding
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #ifdef GEOS_INLINE
 # include "geos/noding/snapround/HotPixel.inl"
 #endif

Modified: trunk/include/geos/noding/snapround/MCIndexSnapRounder.h
===================================================================
--- trunk/include/geos/noding/snapround/MCIndexSnapRounder.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/noding/snapround/MCIndexSnapRounder.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -22,14 +22,18 @@
 
 #include <geos/export.h>
 
-#include <vector>
-
-#include <geos/inline.h>
-
 #include <geos/noding/Noder.h> // for inheritance
 #include <geos/algorithm/LineIntersector.h> // for composition
 #include <geos/geom/Coordinate.h> // for use in vector
+#include <geos/inline.h>
 
+#include <vector>
+
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -140,11 +144,14 @@
     MCIndexSnapRounder& operator=(const MCIndexSnapRounder& rhs);
 };
 
-
 } // namespace geos::noding::snapround
 } // namespace geos::noding
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #ifdef GEOS_INLINE
 # include <geos/noding/snapround/MCIndexSnapRounder.inl>
 #endif

Modified: trunk/include/geos/operation/IsSimpleOp.h
===================================================================
--- trunk/include/geos/operation/IsSimpleOp.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/IsSimpleOp.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -22,13 +22,17 @@
 #ifndef GEOS_OPERATION_ISSIMPLEOP_H
 #define GEOS_OPERATION_ISSIMPLEOP_H
 
-
 #include <geos/export.h>
 #include <geos/geom/Coordinate.h> // for dtor visibility by auto_ptr (compos)
 
 #include <map>
 #include <memory> // for auto_ptr
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace algorithm {
@@ -209,8 +213,12 @@
 } // namespace geos.operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
 #endif
 
+#endif
+
 /**********************************************************************
  * $Log$
  * Revision 1.2  2006/03/15 18:59:33  strk

Modified: trunk/include/geos/operation/buffer/BufferParameters.h
===================================================================
--- trunk/include/geos/operation/buffer/BufferParameters.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/buffer/BufferParameters.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,12 +20,19 @@
 #ifndef GEOS_OP_BUFFER_BUFFERPARAMETERS_H
 #define GEOS_OP_BUFFER_BUFFERPARAMETERS_H
 
+#include <geos/export.h>
+
 //#include <vector>
 
 //#include <geos/algorithm/LineIntersector.h> // for composition
 //#include <geos/geom/Coordinate.h> // for composition
 //#include <geos/geom/LineSegment.h> // for composition
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -48,7 +55,7 @@
  * describe how a buffer should be constructed.
  *
  */
-class BufferParameters
+class GEOS_DLL BufferParameters
 {
 
 public:
@@ -96,13 +103,7 @@
 	static const double DEFAULT_MITRE_LIMIT; // 5.0 (in .cpp file)
 
 	/// Creates a default set of parameters
-	BufferParameters()
-		:
-		quadrantSegments(DEFAULT_QUADRANT_SEGMENTS),
-		endCapStyle(CAP_ROUND),
-		joinStyle(JOIN_ROUND),
-		mitreLimit(DEFAULT_MITRE_LIMIT)
-	{}
+	BufferParameters();
 
 	/// Creates a set of parameters with the given quadrantSegments value.
 	//
@@ -258,11 +259,13 @@
 	double mitreLimit;
 };
 
-
-
 } // namespace geos::operation::buffer
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_BUFFER_BUFFERPARAMETERS_H
 

Modified: trunk/include/geos/operation/buffer/BufferSubgraph.h
===================================================================
--- trunk/include/geos/operation/buffer/BufferSubgraph.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/buffer/BufferSubgraph.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -22,10 +22,15 @@
 
 #include <geos/export.h>
 
+#include <geos/operation/buffer/RightmostEdgeFinder.h> // for composition
+
 #include <vector>
 #include <set>
 
-#include <geos/operation/buffer/RightmostEdgeFinder.h> // for composition
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
 
 // Forward declarations
 namespace geos {
@@ -186,6 +191,10 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_BUFFER_BUFFERSUBGRAPH_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/buffer/OffsetCurveSetBuilder.h
===================================================================
--- trunk/include/geos/operation/buffer/OffsetCurveSetBuilder.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/buffer/OffsetCurveSetBuilder.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -25,6 +25,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -198,12 +203,14 @@
 
 };
 
-
-
 } // namespace geos::operation::buffer
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_BUFFER_OFFSETCURVESETBUILDER_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/distance/DistanceOp.h
===================================================================
--- trunk/include/geos/operation/distance/DistanceOp.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/distance/DistanceOp.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -26,6 +26,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom { 
@@ -266,6 +271,10 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_OP_DISTANCE_DISTANCEOP_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/linemerge/EdgeString.h
===================================================================
--- trunk/include/geos/operation/linemerge/EdgeString.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/linemerge/EdgeString.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -25,6 +25,11 @@
 #include <geos/export.h>
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations 
 namespace geos {
 	namespace geom { 
@@ -39,7 +44,6 @@
 	}
 }
 
-
 namespace geos {
 namespace operation { // geos::operation
 namespace linemerge { // geos::operation::linemerge
@@ -80,6 +84,10 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_OP_LINEMERGE_EDGESTRING_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/linemerge/LineSequencer.h
===================================================================
--- trunk/include/geos/operation/linemerge/LineSequencer.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/linemerge/LineSequencer.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -31,6 +31,11 @@
 #include <list>
 #include <memory> // for auto_ptr
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations 
 namespace geos {
 	namespace geom { 
@@ -271,14 +276,16 @@
 		if (release) return sequencedGeometry.release();
 		else return sequencedGeometry.get();
 	}
-
-
 };
 
 } // namespace geos::operation::linemerge
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_OP_LINEMERGE_LINESEQUENCER_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/overlay/ElevationMatrix.h
===================================================================
--- trunk/include/geos/operation/overlay/ElevationMatrix.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/overlay/ElevationMatrix.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -22,13 +22,18 @@
 
 #include <geos/export.h>
 
-#include <vector>
-#include <string>
-
 #include <geos/geom/CoordinateFilter.h> // for inheritance 
 #include <geos/geom/Envelope.h> // for composition
 #include <geos/operation/overlay/ElevationMatrixCell.h> // for composition
 
+#include <vector>
+#include <string>
+
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -99,11 +104,14 @@
 	std::vector<ElevationMatrixCell>cells;
 };
 
-
 } // namespace geos::operation::overlay
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_OVERLAY_ELEVATIONMATRIX_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/overlay/ElevationMatrixCell.h
===================================================================
--- trunk/include/geos/operation/overlay/ElevationMatrixCell.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/overlay/ElevationMatrixCell.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -24,6 +24,11 @@
 
 #include <set>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -54,6 +59,10 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_OVERLAY_ELEVATIONMATRIXCELL_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/overlay/LineBuilder.h
===================================================================
--- trunk/include/geos/operation/overlay/LineBuilder.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/overlay/LineBuilder.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -26,6 +26,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -125,11 +130,14 @@
 	void propagateZ(geom::CoordinateSequence *cs);
 };
 
-
 } // namespace geos::operation::overlay
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_OVERLAY_LINEBUILDER_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/overlay/PolygonBuilder.h
===================================================================
--- trunk/include/geos/operation/overlay/PolygonBuilder.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/overlay/PolygonBuilder.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -24,6 +24,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -193,12 +198,14 @@
 
 };
 
-
-
 } // namespace geos::operation::overlay
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_OVERLAY_POLYGONBUILDER_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/overlay/snap/SnapOverlayOp.h
===================================================================
--- trunk/include/geos/operation/overlay/snap/SnapOverlayOp.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/overlay/snap/SnapOverlayOp.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -25,6 +25,11 @@
 
 #include <memory> // for auto_ptr
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -125,12 +130,15 @@
     SnapOverlayOp& operator=(const SnapOverlayOp& rhs);
 };
  
-
 } // namespace geos::operation::overlay::snap
 } // namespace geos::operation::overlay
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_OVERLAY_SNAP_SNAPOVERLAYOP_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/overlay/validate/FuzzyPointLocator.h
===================================================================
--- trunk/include/geos/operation/overlay/validate/FuzzyPointLocator.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/overlay/validate/FuzzyPointLocator.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,6 +20,7 @@
 #ifndef GEOS_OP_OVERLAY_FUZZYPOINTLOCATOR_H
 #define GEOS_OP_OVERLAY_FUZZYPOINTLOCATOR_H
 
+#include <geos/export.h>
 #include <geos/algorithm/PointLocator.h> // for composition
 #include <geos/geom/Geometry.h> // for auto_ptr visibility of dtor
 #include <geos/geom/Location.h> // for Location::Value enum
@@ -27,6 +28,11 @@
 #include <vector>
 #include <memory> // for auto_ptr
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -50,7 +56,7 @@
  * it is considered to be on the Boundary; otherwise,
  * whether it is Interior or Exterior is determined directly.
  */
-class FuzzyPointLocator {
+class GEOS_DLL FuzzyPointLocator {
 
 public:
 
@@ -87,6 +93,10 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_OVERLAY_FUZZYPOINTLOCATOR_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/overlay/validate/OffsetPointGenerator.h
===================================================================
--- trunk/include/geos/operation/overlay/validate/OffsetPointGenerator.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/overlay/validate/OffsetPointGenerator.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,6 +20,7 @@
 #ifndef GEOS_OP_OVERLAY_OFFSETPOINTGENERATOR_H
 #define GEOS_OP_OVERLAY_OFFSETPOINTGENERATOR_H
 
+#include <geos/export.h>
 #include <geos/algorithm/PointLocator.h> // for composition
 #include <geos/geom/Geometry.h> // for auto_ptr visibility of dtor
 #include <geos/geom/MultiPoint.h> // for auto_ptr visibility of dtor
@@ -28,6 +29,11 @@
 #include <vector>
 #include <memory> // for auto_ptr
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -45,7 +51,7 @@
 
 /// Generates points offset from both sides of all segments in a geometry
 //
-class OffsetPointGenerator {
+class GEOS_DLL OffsetPointGenerator {
 
 public:
 
@@ -77,6 +83,10 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_OVERLAY_OFFSETPOINTGENERATOR_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/overlay/validate/OverlayResultValidator.h
===================================================================
--- trunk/include/geos/operation/overlay/validate/OverlayResultValidator.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/overlay/validate/OverlayResultValidator.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -20,12 +20,18 @@
 #ifndef GEOS_OP_OVERLAY_OVERLAYRESULTVALIDATOR_H
 #define GEOS_OP_OVERLAY_OVERLAYRESULTVALIDATOR_H
 
+#include <geos/export.h>
 #include <geos/operation/overlay/OverlayOp.h> // for OpCode enum
 #include <geos/operation/overlay/validate/FuzzyPointLocator.h> // composition
 #include <geos/geom/Location.h> // for Location::Value type
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -56,7 +62,7 @@
  *
  * @see OverlayOp
  */
-class OverlayResultValidator {
+class GEOS_DLL OverlayResultValidator {
 
 public:
 
@@ -121,6 +127,10 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_OP_OVERLAY_OVERLAYRESULTVALIDATOR_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/polygonize/EdgeRing.h
===================================================================
--- trunk/include/geos/operation/polygonize/EdgeRing.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/polygonize/EdgeRing.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -26,6 +26,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom { 
@@ -200,6 +205,10 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_OP_POLYGONIZE_EDGERING_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/polygonize/PolygonizeGraph.h
===================================================================
--- trunk/include/geos/operation/polygonize/PolygonizeGraph.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/polygonize/PolygonizeGraph.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -18,7 +18,6 @@
  *
  **********************************************************************/
 
-
 #ifndef GEOS_OP_POLYGONIZE_POLYGONIZEGRAPH_H
 #define GEOS_OP_POLYGONIZE_POLYGONIZEGRAPH_H
 
@@ -28,6 +27,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom { 
@@ -218,6 +222,10 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_OP_POLYGONIZE_POLYGONIZEGRAPH_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/polygonize/Polygonizer.h
===================================================================
--- trunk/include/geos/operation/polygonize/Polygonizer.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/polygonize/Polygonizer.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -76,7 +76,7 @@
 	/**
 	 * Add every linear element in a geometry into the polygonizer graph.
 	 */
-	class LineStringAdder: public geom::GeometryComponentFilter {
+	class GEOS_DLL LineStringAdder: public geom::GeometryComponentFilter {
 	public:
 		Polygonizer *pol;
 		LineStringAdder(Polygonizer *p);

Modified: trunk/include/geos/operation/relate/RelateComputer.h
===================================================================
--- trunk/include/geos/operation/relate/RelateComputer.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/relate/RelateComputer.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -29,6 +29,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -112,6 +117,10 @@
 } // namespace geos:operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_OP_RELATE_RELATECOMPUTER_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/union/UnaryUnionOp.h
===================================================================
--- trunk/include/geos/operation/union/UnaryUnionOp.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/union/UnaryUnionOp.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -31,6 +31,11 @@
 #include <geos/geom/util/GeometryExtracter.h>
 #include <geos/operation/overlay/snap/SnapIfNeededOverlayOp.h>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
     namespace geom {
@@ -212,4 +217,8 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
 #endif
+
+#endif

Modified: trunk/include/geos/operation/valid/ConnectedInteriorTester.h
===================================================================
--- trunk/include/geos/operation/valid/ConnectedInteriorTester.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/valid/ConnectedInteriorTester.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -27,6 +27,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -133,11 +138,14 @@
     ConnectedInteriorTester& operator=(const ConnectedInteriorTester& rhs);
 };
 
-
 } // namespace geos::operation::valid
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_OP_CONNECTEDINTERIORTESTER_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/valid/QuadtreeNestedRingTester.h
===================================================================
--- trunk/include/geos/operation/valid/QuadtreeNestedRingTester.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/valid/QuadtreeNestedRingTester.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -27,6 +27,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -92,6 +97,10 @@
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_OP_QUADTREENESTEDRINGTESTER_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/valid/SimpleNestedRingTester.h
===================================================================
--- trunk/include/geos/operation/valid/SimpleNestedRingTester.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/valid/SimpleNestedRingTester.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -25,6 +25,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -79,11 +84,14 @@
 	bool isNonNested();
 };
 
-
 } // namespace geos.operation.valid
 } // namespace geos.operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_OP_SIMPLENESTEDRINGTESTER_H
 
 /**********************************************************************

Modified: trunk/include/geos/operation/valid/SweeplineNestedRingTester.h
===================================================================
--- trunk/include/geos/operation/valid/SweeplineNestedRingTester.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/operation/valid/SweeplineNestedRingTester.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -22,13 +22,18 @@
 #define GEOS_OP_SWEEPLINENESTEDRINGTESTER_H
 
 #include <geos/export.h>
-#include <vector>
-
 #include <geos/geom/Envelope.h> // for inline
 //#include <geos/indexSweepline.h> // for inline and inheritance 
 #include <geos/index/sweepline/SweepLineOverlapAction.h> // for inheritance
 #include <geos/index/sweepline/SweepLineIndex.h> // for inlines
 
+#include <vector>
+
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -104,11 +109,14 @@
 	};
 };
 
-
 } // namespace geos::operation::valid
 } // namespace geos::operation
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_OP_SWEEPLINENESTEDRINGTESTER_H
 
 /**********************************************************************

Modified: trunk/include/geos/planargraph/DirectedEdgeStar.h
===================================================================
--- trunk/include/geos/planargraph/DirectedEdgeStar.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/planargraph/DirectedEdgeStar.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -21,6 +21,11 @@
 
 #include <vector>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -128,10 +133,13 @@
 	DirectedEdge* getNextEdge(DirectedEdge *dirEdge);
 };
 
-
 } // namespace geos::planargraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H
 
 /**********************************************************************

Modified: trunk/include/geos/planargraph/Edge.h
===================================================================
--- trunk/include/geos/planargraph/Edge.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/planargraph/Edge.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -25,6 +25,11 @@
 #include <set> // for typedefs
 #include <iosfwd> // ostream
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace planargraph { 
@@ -132,14 +137,16 @@
 /// Print a Edge
 std::ostream& operator<<(std::ostream& os, const Edge& n); 
 
-
-
 /// For backward compatibility
 //typedef Edge planarEdge;
 
 } // namespace geos::planargraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_PLANARGRAPH_EDGE_H
 
 /**********************************************************************

Modified: trunk/include/geos/planargraph/Subgraph.h
===================================================================
--- trunk/include/geos/planargraph/Subgraph.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/planargraph/Subgraph.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -22,6 +22,11 @@
 
 #include <vector> 
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace planargraph { 
@@ -142,10 +147,13 @@
     Subgraph& operator=(const Subgraph& rhs);
 };
 
-
 } // namespace geos::planargraph
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_PLANARGRAPH_SUBGRAPH_H
 
 /**********************************************************************

Modified: trunk/include/geos/precision/CommonBitsOp.h
===================================================================
--- trunk/include/geos/precision/CommonBitsOp.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/precision/CommonBitsOp.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -22,6 +22,11 @@
 #include <vector>
 #include <memory>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 namespace geos {
 	namespace geom {
 		class Geometry;
@@ -160,10 +165,13 @@
 			geom::Geometry *result);
 };
 
-
 } // namespace geos.precision
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_PRECISION_COMMONBITSOP_H
 
 /**********************************************************************

Modified: trunk/include/geos/profiler.h
===================================================================
--- trunk/include/geos/profiler.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/profiler.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -48,6 +48,11 @@
 #define PROFILE 0
 #endif
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 namespace geos {
 namespace util {
 
@@ -179,6 +184,10 @@
 } // namespace geos::util
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // ndef GEOS_PROFILER_H
 
 /**********************************************************************

Modified: trunk/include/geos/simplify/DouglasPeuckerLineSimplifier.h
===================================================================
--- trunk/include/geos/simplify/DouglasPeuckerLineSimplifier.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/simplify/DouglasPeuckerLineSimplifier.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -24,6 +24,11 @@
 #include <vector>
 #include <memory> // for auto_ptr
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -91,6 +96,10 @@
 } // namespace geos::simplify
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_SIMPLIFY_DOUBGLASPEUCKERLINESIMPLIFIER_H
 
 /**********************************************************************

Modified: trunk/include/geos/simplify/TaggedLineString.h
===================================================================
--- trunk/include/geos/simplify/TaggedLineString.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/simplify/TaggedLineString.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -30,6 +30,11 @@
 #include <vector>
 #include <memory>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
+#endif
+
 // Forward declarations
 namespace geos {
 	namespace geom {
@@ -120,6 +125,10 @@
 } // namespace geos::simplify
 } // namespace geos
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif // GEOS_SIMPLIFY_TAGGEDLINESTRING_H
 
 /**********************************************************************

Modified: trunk/include/geos/util/UnsupportedOperationException.h
===================================================================
--- trunk/include/geos/util/UnsupportedOperationException.h	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/include/geos/util/UnsupportedOperationException.h	2011-03-01 17:56:10 UTC (rev 3255)
@@ -34,7 +34,7 @@
  * This exception is thrown - for example - when requesting the
  * X or Y member of an empty Point
  */
-class UnsupportedOperationException: public GEOSException {
+class GEOS_DLL UnsupportedOperationException: public GEOSException {
 public:
 	UnsupportedOperationException()
 		:

Modified: trunk/src/geom/Coordinate.cpp
===================================================================
--- trunk/src/geom/Coordinate.cpp	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/src/geom/Coordinate.cpp	2011-03-01 17:56:10 UTC (rev 3255)
@@ -30,6 +30,12 @@
 
 Coordinate Coordinate::nullCoord=Coordinate(DoubleNotANumber,DoubleNotANumber,DoubleNotANumber);
 
+Coordinate&
+Coordinate::getNull()
+{
+	return nullCoord;
+}
+
 string
 Coordinate::toString() const
 {

Modified: trunk/src/operation/buffer/BufferParameters.cpp
===================================================================
--- trunk/src/operation/buffer/BufferParameters.cpp	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/src/operation/buffer/BufferParameters.cpp	2011-03-01 17:56:10 UTC (rev 3255)
@@ -35,6 +35,15 @@
 const double BufferParameters::DEFAULT_MITRE_LIMIT = 5.0;
 
 // public
+BufferParameters::BufferParameters()
+    :
+    quadrantSegments(DEFAULT_QUADRANT_SEGMENTS),
+    endCapStyle(CAP_ROUND),
+    joinStyle(JOIN_ROUND),
+    mitreLimit(DEFAULT_MITRE_LIMIT)
+{}
+
+// public
 BufferParameters::BufferParameters(int quadrantSegments)
 	:
 	quadrantSegments(DEFAULT_QUADRANT_SEGMENTS),

Modified: trunk/tests/unit/capi/GEOSSharedPathsTest.cpp
===================================================================
--- trunk/tests/unit/capi/GEOSSharedPathsTest.cpp	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/tests/unit/capi/GEOSSharedPathsTest.cpp	2011-03-01 17:56:10 UTC (rev 3255)
@@ -111,8 +111,8 @@
 "POLYGON((-8.1111111 60,-8.16875525879031 59.4147290339516,-8.33947250246614 58.8519497029047,-8.61670226309236 58.3332893009412,-8.98979075644036 57.8786796564404,-9.44440040094119 57.5055911630924,-9.96306080290473 57.2283614024661,-10.5258401339516 57.0576441587903,-11.1111111 57,-11.6963820660484 57.0576441587903,-12.2591613970953 57.2283614024661,-12.7778217990588 57.5055911630924,-13.2324314435596 57.8786796564404,-13.6055199369076 58.3332893009412,-13.8827496975339 58.8519497029047,-14.0534669412097 59.4147290339516,-14.1111111 60,-14.0534669412097 60.5852709660484,-13.8827496975339 61.1480502970953,-13.6055199369076 61.6667106990588,-13.2324314435597 62.1213203435596,-12.7778217990588 62.4944088369076,-12.2591613970953 62.7716385975339,-11.6963820660484 62.9423558412097,-11.1111111 63,-10.5258401339516 62.9423558412097,-9.96306080290474 62.7716385975339,-9.4444004009412 62.4944088369076,-8.98979075644036 62.1213203435596,-8.61670226309237 61.6667106990588,-8.33947250
 246614 61.1480502970953,-8.16875525879031 60.5852709660484,-8.1111111 60))"
         );
 
-        ensure(geom1_);
-        ensure(geom2_);
+        ensure(0 != geom1_);
+        ensure(0 != geom2_);
 
         geom3_ = GEOSSharedPaths(geom1_, geom2_);
 

Modified: trunk/tests/unit/capi/GEOSisValidDetailTest.cpp
===================================================================
--- trunk/tests/unit/capi/GEOSisValidDetailTest.cpp	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/tests/unit/capi/GEOSisValidDetailTest.cpp	2011-03-01 17:56:10 UTC (rev 3255)
@@ -103,6 +103,7 @@
     void object::test<3>()
     {
       geom_ = GEOSGeomFromWKT("LINESTRING(0 0, 10 0, NaN -5)");
+      ensure(0 != geom_);
       int r = GEOSisValidDetail(geom_, 0, &reason_, &loc_);
       ensure_equals(r, 0); // invalid
       ensure_equals(std::string(reason_), std::string("Invalid Coordinate"));

Modified: trunk/tests/unit/geom/GeometryFactoryTest.cpp
===================================================================
--- trunk/tests/unit/geom/GeometryFactoryTest.cpp	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/tests/unit/geom/GeometryFactoryTest.cpp	2011-03-01 17:56:10 UTC (rev 3255)
@@ -761,7 +761,7 @@
 		ensure( geo != 0 );
 
 		LinearRingPtr hole = dynamic_cast<LinearRingPtr>(geo);
-		ensure( hole );
+		ensure( hole != 0 );
 		ensure( hole->isRing() );
 		ensure_equals( hole->getNumPoints(), interiorSize );
 
@@ -1268,10 +1268,10 @@
 		vec.push_back(geo);
 
 		// Factory creates copy of the vec collection
-		GeometryAutoPtr go = factory_.buildGeometry(vec.begin(), vec.end());
-		ensure( go.get() );
-		ensure_equals( go->getGeometryTypeId(), geos::geom::GEOS_MULTIPOINT );
-		ensure_equals( go->getNumGeometries(), size );
+		GeometryAutoPtr g = factory_.buildGeometry(vec.begin(), vec.end());
+		ensure( g.get() != 0 );
+		ensure_equals( g->getGeometryTypeId(), geos::geom::GEOS_MULTIPOINT );
+		ensure_equals( g->getNumGeometries(), size );
 
 		// FREE MEMORY
 		PointVect::const_iterator it;

Modified: trunk/tests/unit/io/ByteOrderValuesTest.cpp
===================================================================
--- trunk/tests/unit/io/ByteOrderValuesTest.cpp	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/tests/unit/io/ByteOrderValuesTest.cpp	2011-03-01 17:56:10 UTC (rev 3255)
@@ -50,10 +50,10 @@
 		ensure("putInt big endian[3]", buf[3] == 1);
 
 		out = ByteOrderValues::getInt(buf,
-				ByteOrderValues::ENDIAN_BIG);
+				geos::io::ByteOrderValues::ENDIAN_BIG);
 		ensure_equals("getInt big endian", out, in);
 
-		ByteOrderValues::putInt(1, buf, ByteOrderValues::ENDIAN_LITTLE);
+		ByteOrderValues::putInt(1, buf, geos::io::ByteOrderValues::ENDIAN_LITTLE);
 		ensure("putInt little endian[0]", buf[0] == 1);
 		ensure("putInt little endian[1]", buf[1] == 0);
 		ensure("putInt little endian[2]", buf[2] == 0);

Modified: trunk/tests/unit/io/WKBWriterTest.cpp
===================================================================
--- trunk/tests/unit/io/WKBWriterTest.cpp	2011-03-01 17:53:10 UTC (rev 3254)
+++ trunk/tests/unit/io/WKBWriterTest.cpp	2011-03-01 17:56:10 UTC (rev 3255)
@@ -76,7 +76,7 @@
             ensure( geom->getCoordinateDimension() == 2 );
             ensure( geom->getCoordinate()->x == -117.0 );
             ensure( geom->getCoordinate()->y == 33.0 );
-            ensure( ISNAN(geom->getCoordinate()->z) );
+            ensure( ISNAN(geom->getCoordinate()->z) != 0 );
 
             delete geom;
     }
@@ -128,7 +128,7 @@
             ensure( geom->getCoordinateDimension() == 2 );
             ensure( geom->getCoordinate()->x == -117.0 );
             ensure( geom->getCoordinate()->y == 33.0 );
-            ensure( ISNAN(geom->getCoordinate()->z) );
+            ensure( ISNAN(geom->getCoordinate()->z) != 0);
 
             delete geom;
     }



More information about the geos-commits mailing list