$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r57655 - in sandbox/ggl/other/comparison_star_comb: . cgal common geos ggl gtl terralib
From: barend.gehrels_at_[hidden]
Date: 2009-11-14 13:00:09
Author: barendgehrels
Date: 2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
New Revision: 57655
URL: http://svn.boost.org/trac/boost/changeset/57655
Log:
Added comparison of intersections/unions based on a star and a comb-shape
Added:
   sandbox/ggl/other/comparison_star_comb/
   sandbox/ggl/other/comparison_star_comb/Makefile   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/cgal/
   sandbox/ggl/other/comparison_star_comb/cgal/Makefile   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/cgal/cgal_starcomb.cpp   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/cgal/cgal_starcomb.vcproj   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/common/
   sandbox/ggl/other/comparison_star_comb/common/starcomb.hpp   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/geos/
   sandbox/ggl/other/comparison_star_comb/geos/Makefile   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/geos/geos_starcomb.cpp   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/geos/geos_starcomb.vcproj   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/ggl/
   sandbox/ggl/other/comparison_star_comb/ggl/Makefile   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/ggl/ggl_starcomb.cpp   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/ggl/ggl_starcomb.vcproj   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/gtl/
   sandbox/ggl/other/comparison_star_comb/gtl/Makefile   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/gtl/gtl_starcomb.cpp   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/gtl/gtl_starcomb.vcproj   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/starcomb.sln   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/terralib/
   sandbox/ggl/other/comparison_star_comb/terralib/Makefile   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/terralib/terralib_starcomb.cpp   (contents, props changed)
   sandbox/ggl/other/comparison_star_comb/terralib/terralib_starcomb.vcproj   (contents, props changed)
Added: sandbox/ggl/other/comparison_star_comb/Makefile
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/Makefile	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,8 @@
+all:
+	cd cgal; $(MAKE)
+	cd geos; $(MAKE)
+	cd gpc; $(MAKE)
+	cd ggl; $(MAKE)
+	cd gtl; $(MAKE)
+	cd terralib; $(MAKE)
+
Added: sandbox/ggl/other/comparison_star_comb/cgal/Makefile
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/cgal/Makefile	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,29 @@
+# Modify these paths for other locations
+
+SRC = /c/svn/ggl/other/comparison_star_comb
+
+CGAL = ../../CGAL-3.4
+
+CXX = gcc -O3 
+FLAGS = -I$(CGAL)/include -I$(SRC)/common
+
+OBJS = MP_Float.o assertions.o cgal_starcomb.o
+	
+RELEASE = ../release
+
+
+all: $(RELEASE)/cgal_starcomb 
+
+$(RELEASE)/cgal_starcomb: $(OBJS)
+	$(CXX) $(FLAGS) $(OBJS) -o $(RELEASE)/cgal_starcomb -lstdc++
+	
+cgal_starcomb.o: $(SRC)/cgal/cgal_starcomb.cpp $(SRC)/common/starcomb.hpp
+	$(CXX) -c $(FLAGS) $(SRC)/cgal/cgal_starcomb.cpp
+
+
+MP_Float.o: $(CGAL)/src/CGAL/MP_Float.cpp
+	$(CXX) -c $(FLAGS) $(CGAL)/src/CGAL/MP_Float.cpp
+	
+assertions.o: $(CGAL)/src/CGAL/assertions.cpp
+	$(CXX) -c $(FLAGS) $(CGAL)/src/CGAL/assertions.cpp
+
Added: sandbox/ggl/other/comparison_star_comb/cgal/cgal_starcomb.cpp
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/cgal/cgal_starcomb.cpp	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,118 @@
+// Generic Geometry Library - Star Comb Overlay Comparisons
+//
+// Copyright Barend Gehrels, 2009, Geodan Holding B.V. Amsterdam, the Netherlands.
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+
+#include "../common/starcomb.hpp"
+
+#include <CGAL/basic.h>
+
+
+#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
+#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
+#include <CGAL/Cartesian.h>
+
+#include <CGAL/Polygon_2.h>
+
+#include <CGAL/ch_graham_andrew.h>
+#include <CGAL/Boolean_set_operations_2.h>
+#include <CGAL/intersections.h>
+#include <CGAL/centroid.h>
+
+
+#ifdef CGAL_USE_GMP
+   #include <CGAL/Gmpq.h>
+#endif
+
+#include <CGAL/MP_Float.h>
+#include <CGAL/Quotient.h>
+
+
+
+// Define the kernel.
+// NOTE: this is also very important for perfomance
+// Besides that, intersections might crash in some situations for some kernels...
+
+//typedef CGAL::Cartesian<float> K; // -> nearly all polygons are invalid for intersection
+typedef CGAL::Exact_predicates_inexact_constructions_kernel K; // fastest, + only K that compiles for MinGW
+//typedef CGAL::Cartesian<double> K; // slower
+//typedef CGAL::Exact_predicates_exact_constructions_kernel K;
+//typedef CGAL::Cartesian<CGAL::Gmpq> K;
+//typedef CGAL::Cartesian<CGAL::Quotient<CGAL::MP_Float> > K; // slowest
+
+
+
+template <typename Polygon, typename Point>
+void add(Polygon& polygon, double x, double y, int)
+{
+    polygon.push_back(Point(x, y));
+}
+
+
+int main(int argc, char** argv)
+{
+    try
+    {
+        bool do_union;
+        int testcount, starcount, combcount;
+        double factor1, factor2;
+        parse(argc, argv, testcount, starcount, combcount, factor1, factor2, do_union);
+
+        typedef K::Point_2 point_type;
+        typedef CGAL::Polygon_2<K> polygon_type;
+        typedef CGAL::Polygon_with_holes_2<K> holey_polygon_type;
+
+        polygon_type star, comb;
+        make_star(star, add<polygon_type, point_type>,
+                starcount, factor1, factor2, 0.0, false, -1.0);
+        make_comb(comb, add<polygon_type, point_type>,
+                combcount, false, false);
+
+        double area = 0;
+        boost::timer t;
+        for (int i = 0; i < testcount; i++)
+        {
+            if (do_union)
+            {
+                holey_polygon_type result;
+                CGAL::join(star, comb, result);
+                area += CGAL::to_double(result.outer_boundary().area());
+
+                for (holey_polygon_type::Hole_const_iterator hit
+                    = result.holes_begin();
+                    hit != result.holes_end();
+                    ++hit)
+                {
+                    area += CGAL::to_double(hit->area());
+                }
+            }
+            else
+            {
+                std::list<holey_polygon_type> result;
+                CGAL::intersection(star, comb, std::back_inserter(result));
+
+                for (std::list<holey_polygon_type>::const_iterator it
+                    = result.begin();
+                    it != result.end();
+                    ++it)
+                {
+                    area += CGAL::to_double(it->outer_boundary().area());
+                }
+            }
+        }
+        report("CGAL", area, t);
+    }
+    catch(std::exception const& e)
+    {
+        std::cout << "CGAL: " << e.what() << std::endl;
+    }
+    catch(...)
+    {
+        std::cout << "CGAL exception..." << std::endl;
+    }
+
+    return 0;
+}
Added: sandbox/ggl/other/comparison_star_comb/cgal/cgal_starcomb.vcproj
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/cgal/cgal_starcomb.vcproj	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="cgal_starcomb"
+	ProjectGUID="{431BCA9E-8AD4-4B78-BC1E-7EF1C08F7ED7}"
+	RootNamespace="cgal_starcomb"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)\cgal"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories=".;"C:\MinGW\msys\home\barend\CGAL-3.4\include""
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;CGAL_NO_AUTOLINK_CGAL;BOOST_ALL_NO_LIB"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="0"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="kernel32.lib $(NoInherit)"
+				OutputFile="$(OutDir)\2005\$(ProjectName).exe"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)\cgal\2005"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="0"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				WholeProgramOptimization="false"
+				AdditionalIncludeDirectories=".;"C:\MinGW\msys\home\barend\CGAL-3.4\include""
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;NOMINMAX;WIN32_LEAN_AND_MEAN;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;BOOST_DISABLE_ASSERTS;BOOST_ALL_NO_LIB;CGAL_NO_AUTOLINK_CGAL"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="0"
+				WarningLevel="0"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="kernel32.lib $(NoInherit)"
+				OutputFile="$(OutDir)\2005\$(ProjectName).exe"
+				GenerateManifest="false"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\cgal_starcomb.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\common\shapelib-1.2.10\dbfopen.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\common\shapelib-1.2.10\shpopen.cpp"
+				>
+			</File>
+			<Filter
+				Name="CGAL"
+				>
+				<File
+					RelativePath="..\..\..\..\..\..\..\..\..\..\MinGW\msys\home\barend\CGAL-3.4\src\CGAL\assertions.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\..\..\..\..\..\..\MinGW\msys\home\barend\CGAL-3.4\src\CGAL\MP_Float.cpp"
+					>
+				</File>
+			</Filter>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Added: sandbox/ggl/other/comparison_star_comb/common/starcomb.hpp
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/common/starcomb.hpp	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,156 @@
+// Generic Geometry Library - Star Comb Overlay Comparisons
+//
+// Copyright Barend Gehrels, 2009, Geodan Holding B.V. Amsterdam, the Netherlands.
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef COMPARE_STARCOMB_HPP_INCLUDED
+#define COMPARE_STARCOMB_HPP_INCLUDED
+
+#include <iostream>
+#include <string>
+#include <vector>
+
+#include <boost/timer.hpp>
+#include <boost/tuple/tuple.hpp>
+#include <boost/math/constants/constants.hpp>
+
+
+template <typename Polygon, typename AddFunctor>
+inline void make_star(Polygon& polygon, AddFunctor functor,
+            int count, double factor1, double factor2,
+            double offset = 0.0,
+            bool close = true,
+            double orientation = 1.0)
+{
+    // Create star
+    double cx = 25.0;
+    double cy = 25.0;
+
+    double dx = 50.0;
+    double dy = 50.0;
+
+    double a1 = factor1 * 0.5 * dx;
+    double b1 = factor1 * 0.5 * dy;
+    double a2 = factor2 * 0.5 * dx;
+    double b2 = factor2 * 0.5 * dy;
+
+    double delta = orientation * boost::math::constants::pi<double>() * 2.0 / (count - 1);
+    double angle = offset * delta;
+    double x0, y0;
+    bool first = true;
+    for (int i = 0; i < count - 1; i++, angle += delta)
+    {
+        bool even = i % 2 == 0;
+        double x = cx + (even ? a1 : a2) * sin(angle);
+        double y = cy + (even ? b1 : b2) * cos(angle);
+        functor(polygon, x, y, i);
+        if (first)
+        {
+            x0 = x;
+            y0 = y;
+            first = false;
+        }
+
+    }
+    if (close)
+    {
+        functor(polygon, x0, y0, count);
+    }
+}
+
+template <typename Vector>
+void ccw_pushback(Vector& vector, double x, double y, int)
+{
+    vector.push_back(boost::make_tuple<double, double>(x, y));
+}
+
+template <typename Polygon, typename AddFunctor>
+inline void make_comb(Polygon& polygon, AddFunctor functor,
+            int count, 
+            bool close = true,
+            bool clockwise = true)
+{
+    int n = 0;
+
+    if (! clockwise)
+    {
+        typedef boost::tuple<double, double>  tup;
+        typedef std::vector<tup> vec;
+        vec v;
+
+        // Create in clockwise order
+        make_comb(v, ccw_pushback<vec>, count, close, true);
+
+        // Add in reverse
+        for (std::vector<boost::tuple<double, double> >::const_reverse_iterator 
+            it = v.rbegin(); it != v.rend(); ++it)
+        {
+            functor(polygon, it->get<0>(), it->get<1>(), n++);
+        }
+        return;
+    }
+
+    // Create comb
+    functor(polygon, 25.0, 0.0, n++);
+    functor(polygon, 0.0, 25.0, n++);
+    functor(polygon, 25.0, 50.0, n++);
+    
+    // Function parameters
+    double diff = (25.0 / (count - 0.5)) / 2.0;
+
+    double b1 = -25.0;
+    double b2 = 25.0 - diff * 2.0;
+
+    double x1 = 50.0, x2 = 25.0;
+
+    for (int i = 0; i < count - 1; i++)
+    {
+        functor(polygon, x1, (x1 + b1), n++); x1 -= diff;
+        functor(polygon, x1, (x1 + b1), n++); x1 -= diff;
+        functor(polygon, x2, (x2 + b2), n++); x2 -= diff;
+        functor(polygon, x2, (x2 + b2), n++); x2 -= diff;
+    }
+    functor(polygon, x1, (x1 + b1), n++);
+
+    if (close)
+    {
+        functor(polygon, 25.0, 0.0, 4);
+    }
+}
+
+
+inline int parse(int argc, char** argv, int& testcount, 
+            int& starcount, int& combcount, 
+            double& factor1, double& factor2,
+            bool& do_union)
+{
+    testcount = argc > 1 ? atol(argv[1]) : 1;
+    starcount = argc > 2 ? atol(argv[2]) : 101;
+    do_union = argc > 3 && (atol(argv[3]) == 1);
+
+    combcount = starcount - 1;
+    factor1 = 1.1;
+    factor2 = 0.2;
+
+
+    // Currently cannot be specified
+    //combcount  = argc > 3 ? atol(argv[3]) : starcount - 1;
+    //factor1 = argc > 4 ? atof(argv[4]) : 1.1;
+    //factor2 = argc > 5 ? atof(argv[5]) : 0.2;
+    return 3;
+}
+
+
+inline void report(std::string const& name, double area, boost::timer& t)
+{
+    std::cout
+        << name << ":"
+        << " area: " << area
+        << " speed: " << t.elapsed()
+        << std::endl;
+}
+
+#endif // COMPARE_STARCOMB_HPP_INCLUDED
+
Added: sandbox/ggl/other/comparison_star_comb/geos/Makefile
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/geos/Makefile	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,853 @@
+# Modify these paths for other locations
+
+SRC = /c/svn/ggl/other/comparison_star_comb
+SRC_GEOS = ../../geos-3.1.1/source
+
+
+CXX = gcc -O3 -w
+CXXFLAGS = -I$(SRC_GEOS)/headers -I../common
+
+GEOS_CXXFLAGS = -I$(SRC_GEOS)/headers 
+
+RELEASE = ../release
+
+all: $(RELEASE)/geos_starcomb 
+
+OBJS = inlines.o \
+	AbstractNode.o \
+	AbstractSTRtree.o \
+	Assert.o \
+	Bintree.o \
+	BufferBuilder.o \
+	BufferOp.o \
+	BufferSubgraph.o \
+	ByteOrderDataInStream.o \
+	ByteOrderValues.o \
+	CentroidArea.o \
+	CentroidLine.o \
+	CentroidPoint.o \
+	CGAlgorithms.o \
+	CommonBits.o \
+	CommonBitsOp.o \
+	CommonBitsRemover.o \
+	ConnectedElementLocationFilter.o \
+	ConnectedElementPointFilter.o \
+	ConnectedInteriorTester.o \
+	ConnectedSubgraphFinder.o \
+	ConsistentAreaTester.o \
+	ConvexHull.o \
+	Coordinate.o \
+	CoordinateArraySequence.o \
+	CoordinateArraySequenceFactory.o \
+	CoordinateOperation.o \
+	CoordinateSequence.o \
+	Depth.o \
+	Dimension.o \
+	DirectedEdge.o DirectedEdge2.o \
+	DirectedEdgeStar.o DirectedEdgeStar2.o \
+	DistanceOp.o \
+	DoubleBits.o \
+	DouglasPeuckerLineSimplifier.o \
+	DouglasPeuckerSimplifier.o \
+	Edge.o Edge2.o \
+	EdgeEnd.o \
+	EdgeEndBuilder.o \
+	EdgeEndBundle.o \
+	EdgeEndBundleStar.o \
+	EdgeEndStar.o \
+	EdgeIntersection.o \
+	EdgeIntersectionList.o \
+	EdgeList.o \
+	EdgeNodingValidator.o \
+	EdgeRing.o EdgeRing2.o \
+	EdgeSetNoder.o \
+	EdgeString.o \
+	ElevationMatrix.o \
+	ElevationMatrixCell.o \
+	EnhancedPrecisionOp.o \
+	Envelope.o \
+	FastNodingValidator.o \
+	FuzzyPointLocator.o \
+	GeometricShapeFactory.o \
+	Geometry.o \
+	GeometryCollection.o \
+	GeometryComponentFilter.o \
+	GeometryEditor.o \
+	GeometryFactory.o \
+	GeometryGraph.o \
+	GeometryGraphOperation.o \
+	GeometryLocation.o \
+	GeometrySnapper.o \
+	GeometryTransformer.o \
+	GraphComponent.o \
+	HCoordinate.o \
+	HotPixel.o \
+	InteriorPointArea.o \
+	InteriorPointLine.o \
+	InteriorPointPoint.o \
+	IntersectionAdder.o \
+	IntersectionFinderAdder.o \
+	IntersectionMatrix.o \
+	Interval.o Interval2.o \
+	IntervalSize.o \
+	IsSimpleOp.o \
+	IsValidOp.o \
+	ItemBoundable.o \
+	IteratedNoder.o \
+	Key.o Key2.o \
+	Label.o \
+	LinearRing.o \
+	LineBuilder.o \
+	LineIntersector.o \
+	LineMergeDirectedEdge.o \
+	LineMergeEdge.o \
+	LineMergeGraph.o \
+	LineMerger.o \
+	LineSegment.o \
+	LineSegmentIndex.o \
+	LineSequencer.o \
+	LineString.o \
+	LineStringSnapper.o \
+	Location.o \
+	math.o \
+	MaximalEdgeRing.o \
+	MCIndexNoder.o \
+	MCIndexPointSnapper.o \
+	MCIndexSnapRounder.o \
+	MCPointInRing.o \
+	MinimalEdgeRing.o \
+	MinimumDiameter.o \
+	MonotoneChain.o \
+	MonotoneChainBuilder.o \
+	MonotoneChainEdge.o \
+	MonotoneChainIndexer.o \
+	MonotoneChainOverlapAction.o \
+	MonotoneChainSelectAction.o \
+	MultiLineString.o \
+	MultiPoint.o \
+	MultiPolygon.o \
+	Node.o Node1.o Node2.o Node3.o \
+	NodeBase.o NodeBase2.o \
+	NodeFactory.o \
+	NodeMap.o NodeMap2.o \
+	NodingValidator.o \
+	NotRepresentableException.o \
+	Octant.o \
+	OffsetCurveBuilder.o \
+	OffsetCurveSetBuilder.o \
+	OffsetPointGenerator.o \
+	OverlayNodeFactory.o \
+	OverlayOp.o \
+	OverlayResultValidator.o \
+	ParseException.o \
+	PlanarGraph.o PlanarGraph2.o \
+	Point.o \
+	PointBuilder.o \
+	PointLocator.o \
+	Polygon.o \
+	PolygonBuilder.o \
+	PolygonizeDirectedEdge.o \
+	PolygonizeEdge.o \
+	PolygonizeGraph.o \
+	Polygonizer.o \
+	Position.o \
+	PrecisionModel.o \
+	Profiler.o \
+	Quadrant.o \
+	Quadtree.o \
+	QuadtreeNestedRingTester.o \
+	RectangleContains.o \
+	RectangleIntersects.o \
+	RelateComputer.o \
+	RelateNode.o \
+	RelateNodeFactory.o \
+	RelateNodeGraph.o \
+	RelateOp.o \
+	RepeatedPointTester.o \
+	RightmostEdgeFinder.o \
+	RobustDeterminant.o \
+	Root.o Root2.o \
+	ScaledNoder.o \
+	SegmentIntersectionTester.o \
+	SegmentIntersector.o \
+	SegmentNode.o \
+	SegmentNodeList.o \
+	SegmentString.o \
+	ShortCircuitedGeometryVisitor.o \
+	SimpleEdgeSetIntersector.o \
+	SimpleGeometryPrecisionReducer.o \
+	SimpleMCSweepLineIntersector.o \
+	SimpleNestedRingTester.o \
+	SimpleNoder.o \
+	SimplePointInAreaLocator.o \
+	SimplePointInRing.o \
+	SimpleSnapRounder.o \
+	SimpleSweepLineIntersector.o \
+	SingleInteriorIntersectionFinder.o \
+	SIRtree.o \
+	SIRtreePointInRing.o \
+	StringTokenizer.o \
+	STRtree.o \
+	SubGraph.o \
+	SubgraphDepthLocater.o \
+	SweepLineEvent.o SweepLineEvent2.o \
+	SweepLineIndex.o \
+	SweepLineInterval.o \
+	SweeplineNestedRingTester.o \
+	SweepLineSegment.o \
+	TaggedLineSegment.o \
+	TaggedLinesSimplifier.o \
+	TaggedLineString.o \
+	TaggedLineStringSimplifier.o \
+	TopologyLocation.o \
+	TopologyPreservingSimplifier.o \
+	TopologyValidationError.o \
+	Triangle.o \
+	Unload.o \
+	WKBReader.o \
+	WKBWriter.o \
+	WKTReader.o \
+	WKTWriter.o \
+	Writer.o
+	
+	
+	
+	
+$(RELEASE)/geos_starcomb: $(OBJS) geos_starcomb.o 
+	$(CXX) $(CXXFLAGS) $(OBJS) geos_starcomb.o  -o $(RELEASE)/geos_starcomb -lstdc++
+	
+geos_starcomb.o: $(SRC)/geos/geos_starcomb.cpp $(SRC)/common/starcomb.hpp
+	$(CXX) -c $(CXXFLAGS) $(SRC)/geos/geos_starcomb.cpp
+
+
+inlines.o: $(SRC_GEOS)/inlines.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/inlines.cpp
+	
+DirectedEdge.o: $(SRC_GEOS)/planargraph/DirectedEdge.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/planargraph/DirectedEdge.cpp
+	
+DirectedEdgeStar.o: $(SRC_GEOS)/planargraph/DirectedEdgeStar.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/planargraph/DirectedEdgeStar.cpp
+	
+Edge.o: $(SRC_GEOS)/planargraph/Edge.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/planargraph/Edge.cpp
+	
+Node.o: $(SRC_GEOS)/planargraph/Node.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/planargraph/Node.cpp
+	
+NodeMap.o: $(SRC_GEOS)/planargraph/NodeMap.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/planargraph/NodeMap.cpp
+	
+PlanarGraph.o: $(SRC_GEOS)/planargraph/PlanarGraph.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/planargraph/PlanarGraph.cpp
+	
+SubGraph.o: $(SRC_GEOS)/planargraph/SubGraph.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/planargraph/SubGraph.cpp
+	
+DoubleBits.o: $(SRC_GEOS)/index/quadtree/DoubleBits.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/quadtree/DoubleBits.cpp
+	
+IntervalSize.o: $(SRC_GEOS)/index/quadtree/IntervalSize.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/quadtree/IntervalSize.cpp
+	
+Key.o: $(SRC_GEOS)/index/quadtree/Key.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/quadtree/Key.cpp
+	
+Node1.o: $(SRC_GEOS)/index/quadtree/Node.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/quadtree/Node.cpp -o Node1.o
+	
+NodeBase.o: $(SRC_GEOS)/index/quadtree/NodeBase.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/quadtree/NodeBase.cpp
+	
+Quadtree.o: $(SRC_GEOS)/index/quadtree/Quadtree.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/quadtree/Quadtree.cpp
+	
+QuadtreeNestedRingTester.o: $(SRC_GEOS)/operation/valid/QuadtreeNestedRingTester.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/valid/QuadtreeNestedRingTester.cpp
+	
+Root.o: $(SRC_GEOS)/index/quadtree/Root.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/quadtree/Root.cpp
+	
+Bintree.o: $(SRC_GEOS)/index/bintree/Bintree.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/bintree/Bintree.cpp
+	
+Interval.o: $(SRC_GEOS)/index/bintree/Interval.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/bintree/Interval.cpp
+	
+Key2.o: $(SRC_GEOS)/index/bintree/Key.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/bintree/Key.cpp -o Key2.o
+	
+Node2.o: $(SRC_GEOS)/index/bintree/Node.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/bintree/Node.cpp -o Node2.o
+	
+NodeBase2.o: $(SRC_GEOS)/index/bintree/NodeBase.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/bintree/NodeBase.cpp -o NodeBase2.o
+	
+Root2.o: $(SRC_GEOS)/index/bintree/Root.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/bintree/Root.cpp -o Root2.o
+	
+MonotoneChain.o: $(SRC_GEOS)/index/chain/MonotoneChain.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/chain/MonotoneChain.cpp
+	
+MonotoneChainBuilder.o: $(SRC_GEOS)/index/chain/MonotoneChainBuilder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/chain/MonotoneChainBuilder.cpp
+	
+MonotoneChainOverlapAction.o: $(SRC_GEOS)/index/chain/MonotoneChainOverlapAction.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/chain/MonotoneChainOverlapAction.cpp
+	
+MonotoneChainSelectAction.o: $(SRC_GEOS)/index/chain/MonotoneChainSelectAction.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/chain/MonotoneChainSelectAction.cpp
+	
+AbstractNode.o: $(SRC_GEOS)/index/strtree/AbstractNode.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/strtree/AbstractNode.cpp
+	
+AbstractSTRtree.o: $(SRC_GEOS)/index/strtree/AbstractSTRtree.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/strtree/AbstractSTRtree.cpp
+	
+Interval2.o: $(SRC_GEOS)/index/strtree/Interval.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/strtree/Interval.cpp -o Interval2.o
+	
+ItemBoundable.o: $(SRC_GEOS)/index/strtree/ItemBoundable.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/strtree/ItemBoundable.cpp
+	
+SIRtree.o: $(SRC_GEOS)/index/strtree/SIRtree.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/strtree/SIRtree.cpp
+	
+STRtree.o: $(SRC_GEOS)/index/strtree/STRtree.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/strtree/STRtree.cpp
+	
+SweepLineEvent.o: $(SRC_GEOS)/index/sweepline/SweepLineEvent.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/sweepline/SweepLineEvent.cpp
+	
+SweepLineIndex.o: $(SRC_GEOS)/index/sweepline/SweepLineIndex.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/sweepline/SweepLineIndex.cpp
+	
+SweepLineInterval.o: $(SRC_GEOS)/index/sweepline/SweepLineInterval.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/index/sweepline/SweepLineInterval.cpp
+	
+CentroidArea.o: $(SRC_GEOS)/algorithm/CentroidArea.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/CentroidArea.cpp
+	
+CentroidLine.o: $(SRC_GEOS)/algorithm/CentroidLine.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/CentroidLine.cpp
+	
+CentroidPoint.o: $(SRC_GEOS)/algorithm/CentroidPoint.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/CentroidPoint.cpp
+	
+CGAlgorithms.o: $(SRC_GEOS)/algorithm/CGAlgorithms.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/CGAlgorithms.cpp
+	
+ConvexHull.o: $(SRC_GEOS)/algorithm/ConvexHull.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/ConvexHull.cpp
+	
+HCoordinate.o: $(SRC_GEOS)/algorithm/HCoordinate.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/HCoordinate.cpp
+	
+InteriorPointArea.o: $(SRC_GEOS)/algorithm/InteriorPointArea.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/InteriorPointArea.cpp
+	
+InteriorPointLine.o: $(SRC_GEOS)/algorithm/InteriorPointLine.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/InteriorPointLine.cpp
+	
+InteriorPointPoint.o: $(SRC_GEOS)/algorithm/InteriorPointPoint.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/InteriorPointPoint.cpp
+	
+LineIntersector.o: $(SRC_GEOS)/algorithm/LineIntersector.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/LineIntersector.cpp
+	
+MCPointInRing.o: $(SRC_GEOS)/algorithm/MCPointInRing.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/MCPointInRing.cpp
+	
+MinimumDiameter.o: $(SRC_GEOS)/algorithm/MinimumDiameter.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/MinimumDiameter.cpp
+	
+NotRepresentableException.o: $(SRC_GEOS)/algorithm/NotRepresentableException.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/NotRepresentableException.cpp
+	
+PointLocator.o: $(SRC_GEOS)/algorithm/PointLocator.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/PointLocator.cpp
+	
+RobustDeterminant.o: $(SRC_GEOS)/algorithm/RobustDeterminant.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/RobustDeterminant.cpp
+	
+SimplePointInAreaLocator.o: $(SRC_GEOS)/algorithm/locate/SimplePointInAreaLocator.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/locate/SimplePointInAreaLocator.cpp
+	
+SimplePointInRing.o: $(SRC_GEOS)/algorithm/SimplePointInRing.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/SimplePointInRing.cpp
+	
+SIRtreePointInRing.o: $(SRC_GEOS)/algorithm/SIRtreePointInRing.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/algorithm/SIRtreePointInRing.cpp
+	
+Coordinate.o: $(SRC_GEOS)/geom/Coordinate.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/Coordinate.cpp
+	
+CoordinateArraySequence.o: $(SRC_GEOS)/geom/CoordinateArraySequence.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/CoordinateArraySequence.cpp
+	
+CoordinateArraySequenceFactory.o: $(SRC_GEOS)/geom/CoordinateArraySequenceFactory.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/CoordinateArraySequenceFactory.cpp
+	
+CoordinateOperation.o: $(SRC_GEOS)/geom/util/CoordinateOperation.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/util/CoordinateOperation.cpp
+	
+CoordinateSequence.o: $(SRC_GEOS)/geom/CoordinateSequence.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/CoordinateSequence.cpp
+	
+Dimension.o: $(SRC_GEOS)/geom/Dimension.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/Dimension.cpp
+	
+Envelope.o: $(SRC_GEOS)/geom/Envelope.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/Envelope.cpp
+	
+Geometry.o: $(SRC_GEOS)/geom/Geometry.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/Geometry.cpp
+	
+GeometryCollection.o: $(SRC_GEOS)/geom/GeometryCollection.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/GeometryCollection.cpp
+	
+GeometryComponentFilter.o: $(SRC_GEOS)/geom/GeometryComponentFilter.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/GeometryComponentFilter.cpp
+	
+GeometryEditor.o: $(SRC_GEOS)/geom/util/GeometryEditor.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/util/GeometryEditor.cpp
+	
+GeometryFactory.o: $(SRC_GEOS)/geom/GeometryFactory.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/GeometryFactory.cpp
+	
+GeometryTransformer.o: $(SRC_GEOS)/geom/util/GeometryTransformer.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/util/GeometryTransformer.cpp
+	
+IntersectionMatrix.o: $(SRC_GEOS)/geom/IntersectionMatrix.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/IntersectionMatrix.cpp
+	
+LinearRing.o: $(SRC_GEOS)/geom/LinearRing.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/LinearRing.cpp
+	
+LineSegment.o: $(SRC_GEOS)/geom/LineSegment.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/LineSegment.cpp
+	
+LineString.o: $(SRC_GEOS)/geom/LineString.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/LineString.cpp
+	
+Location.o: $(SRC_GEOS)/geom/Location.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/Location.cpp
+	
+MultiLineString.o: $(SRC_GEOS)/geom/MultiLineString.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/MultiLineString.cpp
+	
+MultiPoint.o: $(SRC_GEOS)/geom/MultiPoint.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/MultiPoint.cpp
+	
+MultiPolygon.o: $(SRC_GEOS)/geom/MultiPolygon.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/MultiPolygon.cpp
+	
+Point.o: $(SRC_GEOS)/geom/Point.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/Point.cpp
+	
+Polygon.o: $(SRC_GEOS)/geom/Polygon.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/Polygon.cpp
+	
+PrecisionModel.o: $(SRC_GEOS)/geom/PrecisionModel.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/PrecisionModel.cpp
+	
+ShortCircuitedGeometryVisitor.o: $(SRC_GEOS)/geom/util/ShortCircuitedGeometryVisitor.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/util/ShortCircuitedGeometryVisitor.cpp
+	
+Triangle.o: $(SRC_GEOS)/geom/Triangle.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geom/Triangle.cpp
+	
+ByteOrderDataInStream.o: $(SRC_GEOS)/io/ByteOrderDataInStream.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/io/ByteOrderDataInStream.cpp
+	
+ByteOrderValues.o: $(SRC_GEOS)/io/ByteOrderValues.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/io/ByteOrderValues.cpp
+	
+ParseException.o: $(SRC_GEOS)/io/ParseException.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/io/ParseException.cpp
+	
+StringTokenizer.o: $(SRC_GEOS)/io/StringTokenizer.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/io/StringTokenizer.cpp
+	
+Unload.o: $(SRC_GEOS)/io/Unload.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/io/Unload.cpp
+	
+WKBReader.o: $(SRC_GEOS)/io/WKBReader.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/io/WKBReader.cpp
+	
+WKBWriter.o: $(SRC_GEOS)/io/WKBWriter.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/io/WKBWriter.cpp
+	
+WKTReader.o: $(SRC_GEOS)/io/WKTReader.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/io/WKTReader.cpp
+	
+WKTWriter.o: $(SRC_GEOS)/io/WKTWriter.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/io/WKTWriter.cpp
+	
+Writer.o: $(SRC_GEOS)/io/Writer.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/io/Writer.cpp
+	
+FastNodingValidator.o: $(SRC_GEOS)/noding/FastNodingValidator.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/FastNodingValidator.cpp
+	
+HotPixel.o: $(SRC_GEOS)/noding/snapround/HotPixel.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/snapround/HotPixel.cpp
+	
+IntersectionAdder.o: $(SRC_GEOS)/noding/IntersectionAdder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/IntersectionAdder.cpp
+	
+IntersectionFinderAdder.o: $(SRC_GEOS)/noding/IntersectionFinderAdder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/IntersectionFinderAdder.cpp
+	
+IteratedNoder.o: $(SRC_GEOS)/noding/IteratedNoder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/IteratedNoder.cpp
+	
+MCIndexNoder.o: $(SRC_GEOS)/noding/MCIndexNoder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/MCIndexNoder.cpp
+	
+MCIndexPointSnapper.o: $(SRC_GEOS)/noding/snapround/MCIndexPointSnapper.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/snapround/MCIndexPointSnapper.cpp
+	
+MCIndexSnapRounder.o: $(SRC_GEOS)/noding/snapround/MCIndexSnapRounder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/snapround/MCIndexSnapRounder.cpp
+	
+NodingValidator.o: $(SRC_GEOS)/noding/NodingValidator.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/NodingValidator.cpp
+	
+Octant.o: $(SRC_GEOS)/noding/Octant.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/Octant.cpp
+	
+ScaledNoder.o: $(SRC_GEOS)/noding/ScaledNoder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/ScaledNoder.cpp
+	
+SegmentNode.o: $(SRC_GEOS)/noding/SegmentNode.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/SegmentNode.cpp
+	
+SegmentNodeList.o: $(SRC_GEOS)/noding/SegmentNodeList.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/SegmentNodeList.cpp
+	
+SegmentString.o: $(SRC_GEOS)/noding/SegmentString.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/SegmentString.cpp
+	
+SimpleNoder.o: $(SRC_GEOS)/noding/SimpleNoder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/SimpleNoder.cpp
+	
+SimpleSnapRounder.o: $(SRC_GEOS)/noding/snapround/SimpleSnapRounder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/snapround/SimpleSnapRounder.cpp
+	
+SingleInteriorIntersectionFinder.o: $(SRC_GEOS)/noding/SingleInteriorIntersectionFinder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/noding/SingleInteriorIntersectionFinder.cpp
+	
+BufferBuilder.o: $(SRC_GEOS)/operation/buffer/BufferBuilder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/buffer/BufferBuilder.cpp
+	
+BufferOp.o: $(SRC_GEOS)/operation/buffer/BufferOp.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/buffer/BufferOp.cpp
+	
+BufferSubgraph.o: $(SRC_GEOS)/operation/buffer/BufferSubgraph.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/buffer/BufferSubgraph.cpp
+	
+ConnectedElementLocationFilter.o: $(SRC_GEOS)/operation/distance/ConnectedElementLocationFilter.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/distance/ConnectedElementLocationFilter.cpp
+	
+ConnectedElementPointFilter.o: $(SRC_GEOS)/operation/distance/ConnectedElementPointFilter.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/distance/ConnectedElementPointFilter.cpp
+	
+ConnectedInteriorTester.o: $(SRC_GEOS)/operation/valid/ConnectedInteriorTester.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/valid/ConnectedInteriorTester.cpp
+	
+ConsistentAreaTester.o: $(SRC_GEOS)/operation/valid/ConsistentAreaTester.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/valid/ConsistentAreaTester.cpp
+	
+DistanceOp.o: $(SRC_GEOS)/operation/distance/DistanceOp.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/distance/DistanceOp.cpp
+	
+EdgeEndBuilder.o: $(SRC_GEOS)/operation/relate/EdgeEndBuilder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/relate/EdgeEndBuilder.cpp
+	
+EdgeEndBundle.o: $(SRC_GEOS)/operation/relate/EdgeEndBundle.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/relate/EdgeEndBundle.cpp
+	
+EdgeEndBundleStar.o: $(SRC_GEOS)/operation/relate/EdgeEndBundleStar.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/relate/EdgeEndBundleStar.cpp
+	
+EdgeRing.o: $(SRC_GEOS)/operation/polygonize/EdgeRing.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/polygonize/EdgeRing.cpp
+	
+EdgeSetNoder.o: $(SRC_GEOS)/operation/overlay/EdgeSetNoder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/EdgeSetNoder.cpp
+	
+EdgeString.o: $(SRC_GEOS)/operation/linemerge/EdgeString.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/linemerge/EdgeString.cpp
+	
+ElevationMatrix.o: $(SRC_GEOS)/operation/overlay/ElevationMatrix.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/ElevationMatrix.cpp
+	
+ElevationMatrixCell.o: $(SRC_GEOS)/operation/overlay/ElevationMatrixCell.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/ElevationMatrixCell.cpp
+	
+FuzzyPointLocator.o: $(SRC_GEOS)/operation/overlay/FuzzyPointLocator.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/FuzzyPointLocator.cpp
+	
+GeometryGraphOperation.o: $(SRC_GEOS)/operation/GeometryGraphOperation.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/GeometryGraphOperation.cpp
+	
+GeometryLocation.o: $(SRC_GEOS)/operation/distance/GeometryLocation.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/distance/GeometryLocation.cpp
+	
+IsSimpleOp.o: $(SRC_GEOS)/operation/IsSimpleOp.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/IsSimpleOp.cpp
+	
+IsValidOp.o: $(SRC_GEOS)/operation/valid/IsValidOp.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/valid/IsValidOp.cpp
+	
+LineBuilder.o: $(SRC_GEOS)/operation/overlay/LineBuilder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/LineBuilder.cpp
+	
+LineMergeDirectedEdge.o: $(SRC_GEOS)/operation/linemerge/LineMergeDirectedEdge.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/linemerge/LineMergeDirectedEdge.cpp
+	
+LineMergeEdge.o: $(SRC_GEOS)/operation/linemerge/LineMergeEdge.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/linemerge/LineMergeEdge.cpp
+	
+LineMergeGraph.o: $(SRC_GEOS)/operation/linemerge/LineMergeGraph.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/linemerge/LineMergeGraph.cpp
+	
+LineMerger.o: $(SRC_GEOS)/operation/linemerge/LineMerger.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/linemerge/LineMerger.cpp
+	
+LineSequencer.o: $(SRC_GEOS)/operation/linemerge/LineSequencer.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/linemerge/LineSequencer.cpp
+	
+MaximalEdgeRing.o: $(SRC_GEOS)/operation/overlay/MaximalEdgeRing.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/MaximalEdgeRing.cpp
+	
+MinimalEdgeRing.o: $(SRC_GEOS)/operation/overlay/MinimalEdgeRing.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/MinimalEdgeRing.cpp
+	
+OffsetCurveBuilder.o: $(SRC_GEOS)/operation/buffer/OffsetCurveBuilder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/buffer/OffsetCurveBuilder.cpp
+	
+OffsetCurveSetBuilder.o: $(SRC_GEOS)/operation/buffer/OffsetCurveSetBuilder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/buffer/OffsetCurveSetBuilder.cpp
+	
+OffsetPointGenerator.o: $(SRC_GEOS)/operation/overlay/OffsetPointGenerator.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/OffsetPointGenerator.cpp
+	
+OverlayNodeFactory.o: $(SRC_GEOS)/operation/overlay/OverlayNodeFactory.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/OverlayNodeFactory.cpp
+	
+OverlayOp.o: $(SRC_GEOS)/operation/overlay/OverlayOp.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/OverlayOp.cpp
+	
+OverlayResultValidator.o: $(SRC_GEOS)/operation/overlay/OverlayResultValidator.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/OverlayResultValidator.cpp
+	
+PointBuilder.o: $(SRC_GEOS)/operation/overlay/PointBuilder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/PointBuilder.cpp
+	
+PolygonBuilder.o: $(SRC_GEOS)/operation/overlay/PolygonBuilder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/overlay/PolygonBuilder.cpp
+	
+PolygonizeDirectedEdge.o: $(SRC_GEOS)/operation/polygonize/PolygonizeDirectedEdge.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/polygonize/PolygonizeDirectedEdge.cpp
+	
+PolygonizeEdge.o: $(SRC_GEOS)/operation/polygonize/PolygonizeEdge.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/polygonize/PolygonizeEdge.cpp
+	
+PolygonizeGraph.o: $(SRC_GEOS)/operation/polygonize/PolygonizeGraph.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/polygonize/PolygonizeGraph.cpp
+	
+Polygonizer.o: $(SRC_GEOS)/operation/polygonize/Polygonizer.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/polygonize/Polygonizer.cpp
+	
+RectangleContains.o: $(SRC_GEOS)/operation/predicate/RectangleContains.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/predicate/RectangleContains.cpp
+	
+RectangleIntersects.o: $(SRC_GEOS)/operation/predicate/RectangleIntersects.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/predicate/RectangleIntersects.cpp
+	
+RelateComputer.o: $(SRC_GEOS)/operation/relate/RelateComputer.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/relate/RelateComputer.cpp
+	
+RelateNode.o: $(SRC_GEOS)/operation/relate/RelateNode.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/relate/RelateNode.cpp
+	
+RelateNodeFactory.o: $(SRC_GEOS)/operation/relate/RelateNodeFactory.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/relate/RelateNodeFactory.cpp
+	
+RelateNodeGraph.o: $(SRC_GEOS)/operation/relate/RelateNodeGraph.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/relate/RelateNodeGraph.cpp
+	
+RelateOp.o: $(SRC_GEOS)/operation/relate/RelateOp.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/relate/RelateOp.cpp
+	
+RepeatedPointTester.o: $(SRC_GEOS)/operation/valid/RepeatedPointTester.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/valid/RepeatedPointTester.cpp
+	
+RightmostEdgeFinder.o: $(SRC_GEOS)/operation/buffer/RightmostEdgeFinder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/buffer/RightmostEdgeFinder.cpp
+	
+SegmentIntersectionTester.o: $(SRC_GEOS)/operation/predicate/SegmentIntersectionTester.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/predicate/SegmentIntersectionTester.cpp
+	
+SimpleNestedRingTester.o: $(SRC_GEOS)/operation/valid/SimpleNestedRingTester.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/valid/SimpleNestedRingTester.cpp
+	
+SubgraphDepthLocater.o: $(SRC_GEOS)/operation/buffer/SubgraphDepthLocater.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/buffer/SubgraphDepthLocater.cpp
+	
+SweeplineNestedRingTester.o: $(SRC_GEOS)/operation/valid/SweeplineNestedRingTester.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/valid/SweeplineNestedRingTester.cpp
+	
+TopologyValidationError.o: $(SRC_GEOS)/operation/valid/TopologyValidationError.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/operation/valid/TopologyValidationError.cpp
+	
+CommonBits.o: $(SRC_GEOS)/precision/CommonBits.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/precision/CommonBits.cpp
+	
+CommonBitsOp.o: $(SRC_GEOS)/precision/CommonBitsOp.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/precision/CommonBitsOp.cpp
+	
+CommonBitsRemover.o: $(SRC_GEOS)/precision/CommonBitsRemover.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/precision/CommonBitsRemover.cpp
+	
+EnhancedPrecisionOp.o: $(SRC_GEOS)/precision/EnhancedPrecisionOp.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/precision/EnhancedPrecisionOp.cpp
+	
+GeometrySnapper.o: $(SRC_GEOS)/precision/GeometrySnapper.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/precision/GeometrySnapper.cpp
+	
+LineStringSnapper.o: $(SRC_GEOS)/precision/LineStringSnapper.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/precision/LineStringSnapper.cpp
+	
+SimpleGeometryPrecisionReducer.o: $(SRC_GEOS)/precision/SimpleGeometryPrecisionReducer.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/precision/SimpleGeometryPrecisionReducer.cpp
+	
+DouglasPeuckerLineSimplifier.o: $(SRC_GEOS)/simplify/DouglasPeuckerLineSimplifier.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/simplify/DouglasPeuckerLineSimplifier.cpp
+	
+DouglasPeuckerSimplifier.o: $(SRC_GEOS)/simplify/DouglasPeuckerSimplifier.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/simplify/DouglasPeuckerSimplifier.cpp
+	
+LineSegmentIndex.o: $(SRC_GEOS)/simplify/LineSegmentIndex.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/simplify/LineSegmentIndex.cpp
+	
+TaggedLineSegment.o: $(SRC_GEOS)/simplify/TaggedLineSegment.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/simplify/TaggedLineSegment.cpp
+	
+TaggedLinesSimplifier.o: $(SRC_GEOS)/simplify/TaggedLinesSimplifier.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/simplify/TaggedLinesSimplifier.cpp
+	
+TaggedLineString.o: $(SRC_GEOS)/simplify/TaggedLineString.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/simplify/TaggedLineString.cpp
+	
+TaggedLineStringSimplifier.o: $(SRC_GEOS)/simplify/TaggedLineStringSimplifier.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/simplify/TaggedLineStringSimplifier.cpp
+	
+TopologyPreservingSimplifier.o: $(SRC_GEOS)/simplify/TopologyPreservingSimplifier.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/simplify/TopologyPreservingSimplifier.cpp
+	
+Assert.o: $(SRC_GEOS)/util/Assert.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/util/Assert.cpp
+	
+ConnectedSubgraphFinder.o: $(SRC_GEOS)/planargraph/algorithm/ConnectedSubgraphFinder.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/planargraph/algorithm/ConnectedSubgraphFinder.cpp
+	
+GeometricShapeFactory.o: $(SRC_GEOS)/util/GeometricShapeFactory.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/util/GeometricShapeFactory.cpp
+	
+math.o: $(SRC_GEOS)/util/math.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/util/math.cpp
+	
+Profiler.o: $(SRC_GEOS)/util/Profiler.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/util/Profiler.cpp
+	
+Depth.o: $(SRC_GEOS)/geomgraph/Depth.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/Depth.cpp
+	
+DirectedEdge2.o: $(SRC_GEOS)/geomgraph/DirectedEdge.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/DirectedEdge.cpp -o DirectedEdge2.o
+	
+DirectedEdgeStar2.o: $(SRC_GEOS)/geomgraph/DirectedEdgeStar.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/DirectedEdgeStar.cpp -o DirectedEdgeStar2.o
+	
+Edge2.o: $(SRC_GEOS)/geomgraph/Edge.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/Edge.cpp -o Edge2.o
+	
+EdgeEnd.o: $(SRC_GEOS)/geomgraph/EdgeEnd.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/EdgeEnd.cpp
+	
+EdgeEndStar.o: $(SRC_GEOS)/geomgraph/EdgeEndStar.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/EdgeEndStar.cpp
+	
+EdgeIntersection.o: $(SRC_GEOS)/geomgraph/EdgeIntersection.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/EdgeIntersection.cpp
+	
+EdgeIntersectionList.o: $(SRC_GEOS)/geomgraph/EdgeIntersectionList.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/EdgeIntersectionList.cpp
+	
+EdgeList.o: $(SRC_GEOS)/geomgraph/EdgeList.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/EdgeList.cpp
+	
+EdgeNodingValidator.o: $(SRC_GEOS)/geomgraph/EdgeNodingValidator.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/EdgeNodingValidator.cpp
+	
+EdgeRing2.o: $(SRC_GEOS)/geomgraph/EdgeRing.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/EdgeRing.cpp -o EdgeRing2.o
+	
+GeometryGraph.o: $(SRC_GEOS)/geomgraph/GeometryGraph.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/GeometryGraph.cpp
+	
+GraphComponent.o: $(SRC_GEOS)/geomgraph/GraphComponent.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/GraphComponent.cpp
+	
+Label.o: $(SRC_GEOS)/geomgraph/Label.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/Label.cpp
+	
+MonotoneChainEdge.o: $(SRC_GEOS)/geomgraph/index/MonotoneChainEdge.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/index/MonotoneChainEdge.cpp
+	
+MonotoneChainIndexer.o: $(SRC_GEOS)/geomgraph/index/MonotoneChainIndexer.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/index/MonotoneChainIndexer.cpp
+	
+Node3.o: $(SRC_GEOS)/geomgraph/Node.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/Node.cpp -o Node3.o
+	
+NodeFactory.o: $(SRC_GEOS)/geomgraph/NodeFactory.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/NodeFactory.cpp
+	
+NodeMap2.o: $(SRC_GEOS)/geomgraph/NodeMap.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/NodeMap.cpp -o NodeMap2.o
+	
+PlanarGraph2.o: $(SRC_GEOS)/geomgraph/PlanarGraph.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/PlanarGraph.cpp -o PlanarGraph2.o
+	
+Position.o: $(SRC_GEOS)/geomgraph/Position.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/Position.cpp
+	
+Quadrant.o: $(SRC_GEOS)/geomgraph/Quadrant.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/Quadrant.cpp
+	
+SegmentIntersector.o: $(SRC_GEOS)/geomgraph/index/SegmentIntersector.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/index/SegmentIntersector.cpp
+	
+SimpleEdgeSetIntersector.o: $(SRC_GEOS)/geomgraph/index/SimpleEdgeSetIntersector.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/index/SimpleEdgeSetIntersector.cpp
+	
+SimpleMCSweepLineIntersector.o: $(SRC_GEOS)/geomgraph/index/SimpleMCSweepLineIntersector.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/index/SimpleMCSweepLineIntersector.cpp
+	
+SimpleSweepLineIntersector.o: $(SRC_GEOS)/geomgraph/index/SimpleSweepLineIntersector.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/index/SimpleSweepLineIntersector.cpp
+	
+SweepLineEvent2.o: $(SRC_GEOS)/geomgraph/index/SweepLineEvent.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/index/SweepLineEvent.cpp -o SweepLineEvent2.o
+	
+SweepLineSegment.o: $(SRC_GEOS)/geomgraph/index/SweepLineSegment.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/index/SweepLineSegment.cpp
+	
+TopologyLocation.o: $(SRC_GEOS)/geomgraph/TopologyLocation.cpp
+	$(CXX) -c $(GEOS_CXXFLAGS) $(SRC_GEOS)/geomgraph/TopologyLocation.cpp
+	
+	
Added: sandbox/ggl/other/comparison_star_comb/geos/geos_starcomb.cpp
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/geos/geos_starcomb.cpp	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,90 @@
+// Generic Geometry Library - Star Comb Overlay Comparisons
+//
+// Copyright Barend Gehrels, 2009, Geodan Holding B.V. Amsterdam, the Netherlands.
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+
+#include "../common/starcomb.hpp"
+
+#include <geos/geom/PrecisionModel.h>
+#include <geos/geom/GeometryFactory.h>
+#include <geos/geom/Geometry.h>
+#include <geos/geom/Point.h>
+#include <geos/geom/LinearRing.h>
+#include <geos/geom/LineString.h>
+#include <geos/geom/Polygon.h>
+#include <geos/geom/GeometryCollection.h>
+#include <geos/geom/Coordinate.h>
+#include <geos/geom/CoordinateSequence.h>
+#include <geos/geom/CoordinateArraySequence.h>
+#include <geos/geom/IntersectionMatrix.h>
+
+#include <geos/util/GeometricShapeFactory.h>
+#include <geos/util/GEOSException.h>
+#include <geos/util/IllegalArgumentException.h>
+#include <geos/opLinemerge.h>
+#include <geos/opPolygonize.h>
+
+
+using namespace geos;
+using namespace geos::geom;
+
+GeometryFactory *global_factory;
+
+
+void add(CoordinateSequence& seq, double x, double y, int)
+{
+    seq.add(Coordinate(x, y));
+}
+
+
+int main(int argc, char** argv)
+{
+    bool do_union;
+    int testcount, starcount, combcount;
+    double factor1, factor2;
+    parse(argc, argv, testcount, starcount, combcount, factor1, factor2, do_union);
+
+    geos::geom::PrecisionModel *pm = new geos::geom::PrecisionModel(geos::geom::PrecisionModel::FLOATING);
+    geos::geom::GeometryFactory *global_factory = new geos::geom::GeometryFactory(pm, -1);
+    delete pm;
+
+    geos::geom::Geometry* star;
+    geos::geom::Geometry* comb;
+
+    {
+        CoordinateSequence *star_seq = new CoordinateArraySequence();
+        make_star(*star_seq, add, starcount, factor1, factor2);
+        star = global_factory->createPolygon(global_factory->createLinearRing(star_seq), NULL);
+
+        CoordinateSequence *comb_seq = new CoordinateArraySequence();
+        make_comb(*comb_seq, add, combcount);
+        comb = global_factory->createPolygon(global_factory->createLinearRing(comb_seq), NULL);
+    }
+
+    double area = 0;
+    boost::timer t;
+    for (int i = 0; i < testcount; i++)
+    {
+        geos::geom::Geometry *g;
+        if (do_union)
+        {
+            g = star->Union(comb);
+        }
+        else
+        {
+            g = star->intersection(comb);
+        }
+        area += g->getArea();
+        global_factory->destroyGeometry(g);
+    }
+
+    report("GEOS", area, t);
+
+    global_factory->destroyGeometry(star);
+    global_factory->destroyGeometry(comb);
+
+    return 0;
+}
Added: sandbox/ggl/other/comparison_star_comb/geos/geos_starcomb.vcproj
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/geos/geos_starcomb.vcproj	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,1369 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="geos_starcomb"
+	ProjectGUID="{067789B1-E4A3-48D0-A759-E183E9A8AD2D}"
+	RootNamespace="geos_starcomb"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)\geos_starcomb"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories=".;"../../geos-3.1.0/source/headers""
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;NOMINMAX;WIN32_LEAN_AND_MEAN;NOGDI;_CRT_SECURE_NO_DEPRECATE"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="0"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="kernel32.lib $(NoInherit)"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)\geos_starcomb\2005"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="0"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				WholeProgramOptimization="false"
+				AdditionalIncludeDirectories=".;"../../geos-3.1.0/source/headers""
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;NOMINMAX;WIN32_LEAN_AND_MEAN;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;BOOST_DISABLE_ASSERTS;BOOST_ALL_NO_LIB"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="0"
+				WarningLevel="0"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="kernel32.lib $(NoInherit)"
+				OutputFile="$(OutDir)\2005\$(ProjectName).exe"
+				LinkIncremental="1"
+				GenerateManifest="false"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="GEOS"
+			>
+			<File
+				RelativePath=".\geos-3.1.0\source\inlines.cpp"
+				>
+			</File>
+			<Filter
+				Name="PlanarGraph"
+				>
+				<File
+					RelativePath=".\geos-3.1.0\source\planargraph\DirectedEdge.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\DirectedEdge_2.obj"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\DirectedEdge_2.obj"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\planargraph\DirectedEdgeStar.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\DirectedEdgeStar_2.obj"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\DirectedEdgeStar_2.obj"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\planargraph\Edge.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\Edge_2.obj"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\Edge_2.obj"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\planargraph\Node.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\Node_3.obj"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\Node_3.obj"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\planargraph\NodeMap.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\NodeMap_2.obj"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\NodeMap_2.obj"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\planargraph\PlanarGraph.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\PlanarGraph_2.obj"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\PlanarGraph_2.obj"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\planargraph\SubGraph.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\SubGraph_2.obj"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\SubGraph_2.obj"
+						/>
+					</FileConfiguration>
+				</File>
+			</Filter>
+			<Filter
+				Name="Index"
+				>
+				<Filter
+					Name="QuadTree"
+					>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\quadtree\DoubleBits.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\quadtree\IntervalSize.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\quadtree\Key.cpp"
+						>
+						<FileConfiguration
+							Name="Debug|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\Key_q.obj"
+							/>
+						</FileConfiguration>
+						<FileConfiguration
+							Name="Release|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\Key_q.obj"
+							/>
+						</FileConfiguration>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\quadtree\Node.cpp"
+						>
+						<FileConfiguration
+							Name="Debug|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\Node_q.obj"
+							/>
+						</FileConfiguration>
+						<FileConfiguration
+							Name="Release|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\Node_q.obj"
+							/>
+						</FileConfiguration>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\quadtree\NodeBase.cpp"
+						>
+						<FileConfiguration
+							Name="Debug|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\NodeBase_1.obj"
+							/>
+						</FileConfiguration>
+						<FileConfiguration
+							Name="Release|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\NodeBase_1.obj"
+							/>
+						</FileConfiguration>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\quadtree\Quadtree.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\operation\valid\QuadtreeNestedRingTester.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\quadtree\Root.cpp"
+						>
+						<FileConfiguration
+							Name="Debug|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\Root_q.obj"
+							/>
+						</FileConfiguration>
+						<FileConfiguration
+							Name="Release|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\Root_q.obj"
+							/>
+						</FileConfiguration>
+					</File>
+				</Filter>
+				<Filter
+					Name="BinTree"
+					>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\bintree\Bintree.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\bintree\Interval.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\bintree\Key.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\bintree\Node.cpp"
+						>
+						<FileConfiguration
+							Name="Debug|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\Node_b.obj"
+							/>
+						</FileConfiguration>
+						<FileConfiguration
+							Name="Release|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\Node_b.obj"
+							/>
+						</FileConfiguration>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\bintree\NodeBase.cpp"
+						>
+						<FileConfiguration
+							Name="Debug|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\NodeBase_2.obj"
+							/>
+						</FileConfiguration>
+						<FileConfiguration
+							Name="Release|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\NodeBase_2.obj"
+							/>
+						</FileConfiguration>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\bintree\Root.cpp"
+						>
+					</File>
+				</Filter>
+				<Filter
+					Name="Chain"
+					>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\chain\MonotoneChain.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\chain\MonotoneChainBuilder.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\chain\MonotoneChainOverlapAction.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\chain\MonotoneChainSelectAction.cpp"
+						>
+					</File>
+				</Filter>
+				<Filter
+					Name="StrTree"
+					>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\strtree\AbstractNode.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\strtree\AbstractSTRtree.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\strtree\Interval.cpp"
+						>
+						<FileConfiguration
+							Name="Debug|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\Inverval_2.obj"
+							/>
+						</FileConfiguration>
+						<FileConfiguration
+							Name="Release|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\Inverval_2.obj"
+							/>
+						</FileConfiguration>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\strtree\ItemBoundable.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\strtree\SIRtree.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\strtree\STRtree.cpp"
+						>
+					</File>
+				</Filter>
+				<Filter
+					Name="SweepLine"
+					>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\sweepline\SweepLineEvent.cpp"
+						>
+						<FileConfiguration
+							Name="Debug|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\SweepLineEvent_2.obj"
+							/>
+						</FileConfiguration>
+						<FileConfiguration
+							Name="Release|Win32"
+							>
+							<Tool
+								Name="VCCLCompilerTool"
+								ObjectFile="$(IntDir)\SweepLineEvent_2.obj"
+							/>
+						</FileConfiguration>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\sweepline\SweepLineIndex.cpp"
+						>
+					</File>
+					<File
+						RelativePath=".\geos-3.1.0\source\index\sweepline\SweepLineInterval.cpp"
+						>
+					</File>
+				</Filter>
+			</Filter>
+			<Filter
+				Name="Algorithm"
+				>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\CentroidArea.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\CentroidLine.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\CentroidPoint.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\CGAlgorithms.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\ConvexHull.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\HCoordinate.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\InteriorPointArea.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\InteriorPointLine.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\InteriorPointPoint.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\LineIntersector.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\MCPointInRing.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\MinimumDiameter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\NotRepresentableException.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\PointLocator.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\RobustDeterminant.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\locate\SimplePointInAreaLocator.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\SimplePointInRing.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\algorithm\SIRtreePointInRing.cpp"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="Geom"
+				>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\Coordinate.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\CoordinateArraySequence.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\CoordinateArraySequenceFactory.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\util\CoordinateOperation.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\CoordinateSequence.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\Dimension.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\Envelope.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\Geometry.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\GeometryCollection.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\GeometryComponentFilter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\util\GeometryEditor.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\GeometryFactory.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\util\GeometryTransformer.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\IntersectionMatrix.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\LinearRing.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\LineSegment.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\LineString.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\Location.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\MultiLineString.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\MultiPoint.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\MultiPolygon.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\Point.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\Polygon.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\PrecisionModel.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\util\ShortCircuitedGeometryVisitor.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geom\Triangle.cpp"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="IO"
+				>
+				<File
+					RelativePath=".\geos-3.1.0\source\io\ByteOrderDataInStream.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\io\ByteOrderValues.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\io\ParseException.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\io\StringTokenizer.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\io\Unload.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\io\WKBReader.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\io\WKBWriter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\io\WKTReader.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\io\WKTWriter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\io\Writer.cpp"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="Noding"
+				>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\FastNodingValidator.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\snapround\HotPixel.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\IntersectionAdder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\IntersectionFinderAdder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\IteratedNoder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\MCIndexNoder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\snapround\MCIndexPointSnapper.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\snapround\MCIndexSnapRounder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\NodingValidator.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\Octant.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\ScaledNoder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\SegmentNode.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\SegmentNodeList.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\SegmentString.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\SimpleNoder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\snapround\SimpleSnapRounder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\noding\SingleInteriorIntersectionFinder.cpp"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="Operation"
+				>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\buffer\BufferBuilder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\buffer\BufferOp.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\buffer\BufferSubgraph.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\distance\ConnectedElementLocationFilter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\distance\ConnectedElementPointFilter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\valid\ConnectedInteriorTester.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\valid\ConsistentAreaTester.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\distance\DistanceOp.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\relate\EdgeEndBuilder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\relate\EdgeEndBundle.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\relate\EdgeEndBundleStar.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\polygonize\EdgeRing.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\EdgeRing_2.obj"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\EdgeRing_2.obj"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\EdgeSetNoder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\linemerge\EdgeString.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\ElevationMatrix.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\ElevationMatrixCell.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\FuzzyPointLocator.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\GeometryGraphOperation.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\distance\GeometryLocation.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\IsSimpleOp.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\valid\IsValidOp.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\LineBuilder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\linemerge\LineMergeDirectedEdge.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\linemerge\LineMergeEdge.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\linemerge\LineMergeGraph.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\linemerge\LineMerger.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\linemerge\LineSequencer.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\MaximalEdgeRing.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\MinimalEdgeRing.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\buffer\OffsetCurveBuilder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\buffer\OffsetCurveSetBuilder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\OffsetPointGenerator.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\OverlayNodeFactory.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\OverlayOp.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\OverlayResultValidator.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\PointBuilder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\overlay\PolygonBuilder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\polygonize\PolygonizeDirectedEdge.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\polygonize\PolygonizeEdge.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\polygonize\PolygonizeGraph.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\polygonize\Polygonizer.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\predicate\RectangleContains.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\predicate\RectangleIntersects.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\relate\RelateComputer.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\relate\RelateNode.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\relate\RelateNodeFactory.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\relate\RelateNodeGraph.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\relate\RelateOp.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\valid\RepeatedPointTester.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\buffer\RightmostEdgeFinder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\predicate\SegmentIntersectionTester.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\valid\SimpleNestedRingTester.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\buffer\SubgraphDepthLocater.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\valid\SweeplineNestedRingTester.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\operation\valid\TopologyValidationError.cpp"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="Precision"
+				>
+				<File
+					RelativePath=".\geos-3.1.0\source\precision\CommonBits.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\precision\CommonBitsOp.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\precision\CommonBitsRemover.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\precision\EnhancedPrecisionOp.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\precision\GeometrySnapper.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\precision\LineStringSnapper.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\precision\SimpleGeometryPrecisionReducer.cpp"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="Simplify"
+				>
+				<File
+					RelativePath=".\geos-3.1.0\source\simplify\DouglasPeuckerLineSimplifier.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\simplify\DouglasPeuckerSimplifier.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\simplify\LineSegmentIndex.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\simplify\TaggedLineSegment.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\simplify\TaggedLinesSimplifier.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\simplify\TaggedLineString.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\simplify\TaggedLineStringSimplifier.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\simplify\TopologyPreservingSimplifier.cpp"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="Util"
+				>
+				<File
+					RelativePath=".\geos-3.1.0\source\util\Assert.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\planargraph\algorithm\ConnectedSubgraphFinder.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\util\GeometricShapeFactory.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\util\math.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\util\Profiler.cpp"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="GeomGraph"
+				>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\Depth.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\DirectedEdge.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\DirectedEdgeStar.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\Edge.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\EdgeEnd.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\EdgeEndStar.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\EdgeIntersection.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\EdgeIntersectionList.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\EdgeList.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\EdgeNodingValidator.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\EdgeRing.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\GeometryGraph.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\GraphComponent.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\Label.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\index\MonotoneChainEdge.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\index\MonotoneChainIndexer.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\Node.cpp"
+					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\Node_2.obj"
+						/>
+					</FileConfiguration>
+					<FileConfiguration
+						Name="Release|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							ObjectFile="$(IntDir)\Node_2.obj"
+						/>
+					</FileConfiguration>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\NodeFactory.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\NodeMap.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\PlanarGraph.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\Position.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\Quadrant.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\index\SegmentIntersector.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\index\SimpleEdgeSetIntersector.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\index\SimpleMCSweepLineIntersector.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\index\SimpleSweepLineIntersector.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\index\SweepLineEvent.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\index\SweepLineSegment.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\geos-3.1.0\source\geomgraph\TopologyLocation.cpp"
+					>
+				</File>
+			</Filter>
+		</Filter>
+		<File
+			RelativePath=".\geos_starcomb.cpp"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Added: sandbox/ggl/other/comparison_star_comb/ggl/Makefile
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/ggl/Makefile	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,15 @@
+# Modify these paths for other locations
+
+SRC = /c/svn/ggl/other/comparison_star_comb
+
+#GGL = /c/svn/geolib/trunk/src/cpp/library/gl
+GGL = /c/svn/ggl/formal_review
+
+CXX = gcc -O3
+FLAGS = -I$(GGL)/boost -I$(SRC)/common -I$(GGL)
+
+RELEASE = ../release
+	
+$(RELEASE)/ggl_starcomb: $(SRC)/ggl/ggl_starcomb.cpp $(SRC)/common/starcomb.hpp
+	$(CXX) $(FLAGS) $(SRC)/ggl/ggl_starcomb.cpp -o $(RELEASE)/ggl_starcomb -lstdc++
+	
Added: sandbox/ggl/other/comparison_star_comb/ggl/ggl_starcomb.cpp
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/ggl/ggl_starcomb.cpp	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,87 @@
+// Generic Geometry Library - Star Comb Overlay Comparisons
+//
+// Copyright Barend Gehrels, 2009, Geodan Holding B.V. Amsterdam, the Netherlands.
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+
+#include "../common/starcomb.hpp"
+
+#include <ggl/ggl.hpp>
+#include <ggl/algorithms/union.hpp>
+#include <ggl/geometries/geometries.hpp>
+#include <ggl/extensions/gis/io/wkt/wkt.hpp>
+
+
+
+template <typename Polygon>
+void add(Polygon& polygon, double x, double y, int)
+{
+    typedef typename ggl::point_type<Polygon>::type p;
+    ggl::exterior_ring(polygon).push_back(ggl::make<p>(x, y));
+}
+
+
+
+int main(int argc, char** argv)
+{
+    try
+    {
+        bool do_union;
+        int testcount, starcount, combcount;
+        double factor1, factor2;
+        parse(argc, argv, testcount, starcount, combcount, factor1, factor2, do_union);
+
+
+        typedef ggl::point_xy<double> point_type;
+        typedef ggl::polygon<point_type> polygon_type;
+
+        polygon_type star, comb;
+        make_star(star, add<polygon_type>, starcount, factor1, factor2);
+        make_comb(comb, add<polygon_type>, combcount);
+
+    #ifdef _DEBUG
+        std::cout << ggl::wkt(star) << std::endl;
+        std::cout << ggl::wkt(comb) << std::endl;
+    #endif
+
+
+        double area = 0;
+        boost::timer t;
+        for (int i = 0; i < testcount; i++)
+        {
+            std::vector<polygon_type> v;
+            if (do_union)
+            {
+                ggl::union_inserter<polygon_type>(star, comb, std::back_inserter(v));
+            }
+            else
+            {
+                ggl::intersection_inserter<polygon_type>(star, comb, std::back_inserter(v));
+            }
+
+            double a = 0.0;
+            for (std::vector<polygon_type>::const_iterator pit = v.begin(); pit != v.end(); ++pit)
+            {
+                a += ggl::area(*pit);
+    #ifdef _DEBUG
+                std::cout << ggl::wkt(*pit) << std::endl;
+    #endif
+            }
+            area += a;
+        }
+
+        report("GGL", area, t);
+    }
+    catch(std::exception const& e)
+    {
+        std::cout << "GGL: " << e.what() << std::endl;
+    }
+    catch(...)
+    {
+        std::cout << "GGL exception..." << std::endl;
+    }
+
+    return 0;
+}
Added: sandbox/ggl/other/comparison_star_comb/ggl/ggl_starcomb.vcproj
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/ggl/ggl_starcomb.vcproj	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="ggl_starcomb"
+	ProjectGUID="{81D77FB4-9CA0-4EC2-A3D7-5BE9FD826C40}"
+	RootNamespace="ggl_starcomb"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)\2005"
+			IntermediateDirectory="$(ConfigurationName)\ggl_starcomb"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="4"
+				AdditionalIncludeDirectories=".;../../../formal_review/boost"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;GGL_USE_FLEX_SORT"
+				MinimalRebuild="true"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="0"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="kernel32.lib $(NoInherit)"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)\ggl_starcomb\2005"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="0"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				WholeProgramOptimization="false"
+				AdditionalIncludeDirectories=".;../../../formal_review/boost"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;NOMINMAX;WIN32_LEAN_AND_MEAN;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;BOOST_DISABLE_ASSERTS;BOOST_ALL_NO_LIB"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="0"
+				WarningLevel="0"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="kernel32.lib $(NoInherit)"
+				OutputFile="$(OutDir)\2005\$(ProjectName).exe"
+				GenerateManifest="false"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<File
+			RelativePath=".\ggl_starcomb.cpp"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Added: sandbox/ggl/other/comparison_star_comb/gtl/Makefile
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/gtl/Makefile	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,15 @@
+# Modify these paths for other locations
+
+SRC = /c/svn/ggl/other/comparison_star_comb
+
+
+BP = /c/svn/gtl
+
+CXX = gcc -O3 
+FLAGS = -I$(BP)  -I$(SRC)/common
+
+RELEASE = ../release
+
+$(RELEASE)/gtl_starcomb: $(SRC)/gtl/gtl_starcomb.cpp $(SRC)/common/starcomb.hpp
+	$(CXX) $(FLAGS) $(SRC)/gtl/gtl_starcomb.cpp -o $(RELEASE)/gtl_starcomb -lstdc++
+	
Added: sandbox/ggl/other/comparison_star_comb/gtl/gtl_starcomb.cpp
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/gtl/gtl_starcomb.cpp	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,108 @@
+// Generic Geometry Library - Star Comb Overlay Comparisons
+//
+// Copyright Barend Gehrels, 2009, Geodan Holding B.V. Amsterdam, the Netherlands.
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include "../common/starcomb.hpp"
+
+#include <boost/polygon/polygon.hpp>
+
+
+double integer_factor = 2000.0;
+
+template <typename Points, typename Point>
+void add(Points& points, double x, double y, int)
+{
+    points.push_back(Point(x * integer_factor, y * integer_factor));
+}
+
+
+int main(int argc, char** argv)
+{
+    try
+    {
+        bool do_union;
+        int testcount, starcount, combcount;
+        double factor1, factor2;
+        int parsed = 1 + parse(argc, argv, testcount, starcount, combcount, factor1, factor2, do_union);
+
+        // Optional extra parameter specifying conversion double->integer factor
+        if (argc > parsed)
+        {
+            integer_factor = atof(argv[parsed]);
+        }
+
+        double squared_factor = integer_factor * integer_factor;
+
+        typedef boost::polygon::polygon_set_data<int> polygon_type;
+
+        polygon_type star, comb;
+        {
+            typedef boost::polygon::point_data<int> point_type;
+            typedef boost::polygon::polygon_data<int> ring_type;
+
+            // fill points
+            typedef std::vector<point_type> points;
+
+            std::vector<point_type> star_points, comb_points;
+
+            make_star(star_points, add<points, point_type>,
+                        starcount, factor1, factor2);
+            make_comb(comb_points, add<points, point_type>,
+                        combcount);
+
+            // set to polygon
+            ring_type star_ring, comb_ring;
+            star_ring.set(star_points.begin(), star_points.end());
+            comb_ring.set(comb_points.begin(), comb_points.end());
+
+            // insert to polygon-set
+            star.insert(star_ring);
+            comb.insert(comb_ring);
+        }
+
+
+        double area = 0;
+        boost::timer t;
+        for (int i = 0; i < testcount; i++)
+        {
+            polygon_type overlay;
+            if (do_union)
+            {
+                overlay = boost::polygon::polygon_set_view
+                    <polygon_type, polygon_type, 0>(star, comb);
+            }
+            else
+            {
+                overlay = boost::polygon::polygon_set_view
+                    <polygon_type, polygon_type, 1>(star, comb);
+            }
+
+            // Assemble them in a list, somehow necessary
+            typedef std::list<boost::polygon::polygon_with_holes_data<int> > list;
+            list polys;
+            overlay.get(polys);
+
+            // The check, somehow necessary to finish the intersection process
+            double a = 0.0;
+            for (list::const_iterator it = polys.begin(); it != polys.end(); ++it)
+            {
+                a += boost::polygon::area(*it);
+            }
+            area += a / squared_factor;
+        }
+        report("B.P.", area, t);
+    }
+    catch(std::exception const& e)
+    {
+        std::cout << "B.P.: " << e.what() << std::endl;
+    }
+    catch(...)
+    {
+        std::cout << "B.P. exception..." << std::endl;
+    }
+
+    return 0;
+}
Added: sandbox/ggl/other/comparison_star_comb/gtl/gtl_starcomb.vcproj
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/gtl/gtl_starcomb.vcproj	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="gtl_starcomb"
+	ProjectGUID="{68F2FC62-2126-46B8-AFE6-E331566A42A3}"
+	RootNamespace="gtl"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)\gtl"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				ExcludedFromBuild="true"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories=".;c:\svn\gtl"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="0"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="kernel32.lib $(NoInherit)"
+				OutputFile="$(OutDir)\2005\$(ProjectName).exe"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)\gtl"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="0"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				ExcludedFromBuild="true"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				WholeProgramOptimization="true"
+				AdditionalIncludeDirectories=".;c:\svn\gtl"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;NOMINMAX;WIN32_LEAN_AND_MEAN;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;BOOST_DISABLE_ASSERTS;BOOST_ALL_NO_LIB"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="0"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="kernel32.lib $(NoInherit)"
+				OutputFile="$(OutDir)\2005\$(ProjectName).exe"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<File
+			RelativePath=".\gtl_starcomb.cpp"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Added: sandbox/ggl/other/comparison_star_comb/starcomb.sln
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/starcomb.sln	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,43 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual C++ Express 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ggl_starcomb", "ggl\ggl_starcomb.vcproj", "{81D77FB4-9CA0-4EC2-A3D7-5BE9FD826C40}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "terralib_starcomb", "terralib\terralib_starcomb.vcproj", "{B752EBBE-DE0D-460B-ADC9-AD3C41B9359A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtl_starcomb", "gtl\gtl_starcomb.vcproj", "{68F2FC62-2126-46B8-AFE6-E331566A42A3}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cgal_starcomb", "cgal\cgal_starcomb.vcproj", "{431BCA9E-8AD4-4B78-BC1E-7EF1C08F7ED7}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "geos_starcomb", "geos\geos_starcomb.vcproj", "{067789B1-E4A3-48D0-A759-E183E9A8AD2D}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{81D77FB4-9CA0-4EC2-A3D7-5BE9FD826C40}.Debug|Win32.ActiveCfg = Debug|Win32
+		{81D77FB4-9CA0-4EC2-A3D7-5BE9FD826C40}.Debug|Win32.Build.0 = Debug|Win32
+		{81D77FB4-9CA0-4EC2-A3D7-5BE9FD826C40}.Release|Win32.ActiveCfg = Release|Win32
+		{81D77FB4-9CA0-4EC2-A3D7-5BE9FD826C40}.Release|Win32.Build.0 = Release|Win32
+		{B752EBBE-DE0D-460B-ADC9-AD3C41B9359A}.Debug|Win32.ActiveCfg = Debug|Win32
+		{B752EBBE-DE0D-460B-ADC9-AD3C41B9359A}.Debug|Win32.Build.0 = Debug|Win32
+		{B752EBBE-DE0D-460B-ADC9-AD3C41B9359A}.Release|Win32.ActiveCfg = Release|Win32
+		{B752EBBE-DE0D-460B-ADC9-AD3C41B9359A}.Release|Win32.Build.0 = Release|Win32
+		{68F2FC62-2126-46B8-AFE6-E331566A42A3}.Debug|Win32.ActiveCfg = Debug|Win32
+		{68F2FC62-2126-46B8-AFE6-E331566A42A3}.Debug|Win32.Build.0 = Debug|Win32
+		{68F2FC62-2126-46B8-AFE6-E331566A42A3}.Release|Win32.ActiveCfg = Release|Win32
+		{68F2FC62-2126-46B8-AFE6-E331566A42A3}.Release|Win32.Build.0 = Release|Win32
+		{431BCA9E-8AD4-4B78-BC1E-7EF1C08F7ED7}.Debug|Win32.ActiveCfg = Debug|Win32
+		{431BCA9E-8AD4-4B78-BC1E-7EF1C08F7ED7}.Debug|Win32.Build.0 = Debug|Win32
+		{431BCA9E-8AD4-4B78-BC1E-7EF1C08F7ED7}.Release|Win32.ActiveCfg = Release|Win32
+		{431BCA9E-8AD4-4B78-BC1E-7EF1C08F7ED7}.Release|Win32.Build.0 = Release|Win32
+		{067789B1-E4A3-48D0-A759-E183E9A8AD2D}.Debug|Win32.ActiveCfg = Debug|Win32
+		{067789B1-E4A3-48D0-A759-E183E9A8AD2D}.Debug|Win32.Build.0 = Debug|Win32
+		{067789B1-E4A3-48D0-A759-E183E9A8AD2D}.Release|Win32.ActiveCfg = Release|Win32
+		{067789B1-E4A3-48D0-A759-E183E9A8AD2D}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Added: sandbox/ggl/other/comparison_star_comb/terralib/Makefile
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/terralib/Makefile	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,72 @@
+# Modify these paths for other locations
+
+SRC = /c/svn/ggl/other/comparison_star_comb
+
+TL = $(SRC)/terralib/src/terralib/kernel
+
+CXX = gcc -O3 -w
+FLAGS = -DTL_DLL= -I$(TL) -I$(SRC)/common
+
+RELEASE = ../release
+
+all: $(RELEASE)/terralib_starcomb
+
+OBJS =  TeAsciiFile.o TeBox.o TeErrorLog.o TeException.o TeFragmentation.o TeGeometry.o \
+	TeMultiGeometry.o TeGeometryAlgorithms.o TeIntersector.o TeStdFile.o TeUtils.o \
+	TeCentroid.o TeOverlay.o TeOverlayUtils.o \
+	terralib_starcomb.o
+	
+	
+	
+$(RELEASE)/terralib_starcomb: $(OBJS)
+	$(CXX) $(FLAGS) $(OBJS) -o $(RELEASE)/terralib_starcomb -lstdc++
+	
+
+terralib_starcomb.o: $(SRC)/terralib/terralib_starcomb.cpp $(SRC)/common/starcomb.hpp
+	$(CXX) -c $(FLAGS) $(SRC)/terralib/terralib_starcomb.cpp
+
+
+# TERRALIB
+
+TeAsciiFile.o: $(TL)/TeAsciiFile.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeAsciiFile.cpp
+
+TeBox.o: $(TL)/TeBox.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeBox.cpp
+
+TeErrorLog.o: $(TL)/TeErrorLog.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeErrorLog.cpp
+
+TeException.o: $(TL)/TeException.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeException.cpp
+
+TeFragmentation.o: $(TL)/TeFragmentation.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeFragmentation.cpp
+
+TeGeometry.o: $(TL)/TeGeometry.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeGeometry.cpp
+
+TeMultiGeometry.o: $(TL)/TeMultiGeometry.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeMultiGeometry.cpp
+
+TeGeometryAlgorithms.o: $(TL)/TeGeometryAlgorithms.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeGeometryAlgorithms.cpp
+
+TeIntersector.o: $(TL)/TeIntersector.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeIntersector.cpp
+
+TeStdFile.o: $(TL)/TeStdFile.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeStdFile.cpp
+
+TeUtils.o: $(TL)/TeUtils.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeUtils.cpp
+
+TeCentroid.o: $(TL)/TeCentroid.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeCentroid.cpp
+
+TeOverlay.o: $(TL)/TeOverlay.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeOverlay.cpp
+
+TeOverlayUtils.o: $(TL)/TeOverlayUtils.cpp
+	$(CXX) -c $(FLAGS) $(TL)/TeOverlayUtils.cpp
+
Added: sandbox/ggl/other/comparison_star_comb/terralib/terralib_starcomb.cpp
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/terralib/terralib_starcomb.cpp	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,71 @@
+// Generic Geometry Library - Star Comb Overlay Comparisons
+//
+// Copyright Barend Gehrels, 2009, Geodan Holding B.V. Amsterdam, the Netherlands.
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+
+#include "../common/starcomb.hpp"
+
+#include <TeVersion.h>
+#include <TeDatabase.h>
+#include <TeGeometryAlgorithms.h>
+#include <TeOverlay.h>
+
+#include "TeException.h"
+
+
+void add(TeLinearRing& ring, double x, double y, int)
+{
+    ring.add(TeCoord2D(x, y));
+}
+
+
+int main(int argc, char** argv)
+{
+    bool do_union;
+    int testcount, starcount, combcount;
+    double factor1, factor2;
+    parse(argc, argv, testcount, starcount, combcount, factor1, factor2, do_union);
+
+    TePolygonSet star, comb;
+    {
+        TeLinearRing star_ring, comb_ring;
+
+        make_star(star_ring, add, starcount, factor1, factor2);
+        make_comb(comb_ring, add, combcount);
+
+        TePolygon star_poly, comb_poly;
+        star_poly.add(star_ring);
+        comb_poly.add(comb_ring);
+
+        star.add(star_poly);
+        comb.add(comb_poly);
+    }
+
+
+    double area = 0;
+    boost::timer t;
+    for (int i = 0; i < testcount; i++)
+    {
+        TePolygonSet v;
+        if (do_union)
+        {
+            TeOVERLAY::TeUnion(star, comb, v);
+        }
+        else
+        {
+            TeOVERLAY::TeIntersection(star, comb, v);
+        }
+
+        for (int i = 0; i < v.size(); i++)
+        {
+            area += TeGeometryArea(v[i]);
+        }
+    }
+
+    report("terralib", area, t);
+
+    return 0;
+}
Added: sandbox/ggl/other/comparison_star_comb/terralib/terralib_starcomb.vcproj
==============================================================================
--- (empty file)
+++ sandbox/ggl/other/comparison_star_comb/terralib/terralib_starcomb.vcproj	2009-11-14 13:00:07 EST (Sat, 14 Nov 2009)
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="terralib_starcomb"
+	ProjectGUID="{B752EBBE-DE0D-460B-ADC9-AD3C41B9359A}"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)\terralib_starcomb2005"
+			ConfigurationType="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				WarningLevel="0"
+				DefaultCharType="0"
+				EnableErrorChecks="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="4"
+				AdditionalIncludeDirectories=".;..;..\..\terralibw\ado;.\src\terralib\functions;.\src\terralib\kernel;..\..\src\zlib;.\src\terralib\drivers\MySQL;.\src\terralib\drivers\MySQL\include;.\src\terralib\application"
+				PreprocessorDefinitions="TL_DLL=;UNICODE;WIN32;_CRT_SECURE_NO_WARNINGS"
+				GeneratePreprocessedFile="0"
+				MinimalRebuild="true"
+				ExceptionHandling="1"
+				RuntimeLibrary="1"
+				BufferSecurityCheck="false"
+				RuntimeTypeInfo="true"
+				AssemblerListingLocation="Debug\"
+				ObjectFile="Debug\"
+				ProgramDataBaseFileName=".\"
+				WarningLevel="1"
+				SuppressStartupBanner="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="NDEBUG"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="..\..\terralibw\terralib\Debug\terralib.lib ..\..\terralibw\zlib\zlibdll.lib ..\..\terralibw\libjpeg\Debug\libjpeg.lib ..\..\terralibw\MySQL\libMySQL.lib ..\..\terralibw\shapelib\Debug\shapelib.lib ..\..\terralibw\tiff\Debug\tiff.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib imm32.lib winmm.lib wsock32.lib winspool.lib delayimp.lib"
+				OutputFile="Debug\terralib_starcomb2005.exe"
+				LinkIncremental="2"
+				SuppressStartupBanner="true"
+				IgnoreDefaultLibraryNames=""
+				GenerateDebugInformation="true"
+				ProgramDatabaseFile=""
+				SubSystem="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)\terralib_starcomb\2005"
+			ConfigurationType="1"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				WarningLevel="0"
+				DefaultCharType="0"
+				EnableErrorChecks="1"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				WholeProgramOptimization="false"
+				AdditionalIncludeDirectories=".;..;..\..\terralibw\ado;.\src\terralib\functions;.\src\terralib\kernel;..\..\src\zlib;.\src\terralib\drivers\MySQL;.\src\terralib\drivers\MySQL\include;.\src\terralib\application"
+				PreprocessorDefinitions="TL_DLL=;WIN32;NDEBUG;_CONSOLE;NOMINMAX;WIN32_LEAN_AND_MEAN;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;BOOST_DISABLE_ASSERTS;BOOST_ALL_NO_LIB"
+				RuntimeLibrary="0"
+				UsePrecompiledHeader="0"
+				WarningLevel="0"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="NDEBUG"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)\2005\$(ProjectName).exe"
+				GenerateManifest="false"
+				SubSystem="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="TerraLib"
+			>
+			<File
+				RelativePath=".\src\terralib\kernel\TeAsciiFile.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeBox.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeCentroid.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeErrorLog.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeException.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeFragmentation.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeGeometry.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeGeometryAlgorithms.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeIntersector.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeMultiGeometry.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeOverlay.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeOverlayUtils.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeProgress.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeStdFile.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\src\terralib\kernel\TeUtils.cpp"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath=".\terralib_starcomb.cpp"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>