Boost logo

Boost-Commit :

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=".;&quot;C:\MinGW\msys\home\barend\CGAL-3.4\include&quot;"
+ 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=".;&quot;C:\MinGW\msys\home\barend\CGAL-3.4\include&quot;"
+ 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=".;&quot;../../geos-3.1.0/source/headers&quot;"
+ 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=".;&quot;../../geos-3.1.0/source/headers&quot;"
+ 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>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk