15#ifndef GEOS_OP_INTERSECTION_RECTANGLEINTERSECTIONBUILDER_H
16#define GEOS_OP_INTERSECTION_RECTANGLEINTERSECTIONBUILDER_H
18#include <geos/export.h>
22#pragma warning(disable: 4251)
41 namespace intersection {
49namespace intersection {
63class GEOS_DLL RectangleIntersectionBuilder
66 friend class RectangleIntersection;
70 ~RectangleIntersectionBuilder();
77 std::auto_ptr<geom::Geometry> build();
85 void reconnectPolygons(
const Rectangle & rect);
114 void release(RectangleIntersectionBuilder & parts);
126 std::list<geom::Polygon *> polygons;
127 std::list<geom::LineString *> lines;
128 std::list<geom::Point *> points;
144 std::vector<geom::Coordinate> * ring,
145 double x1,
double y1,
146 double x2,
double y2);
148 void close_ring(
const Rectangle & rect, std::vector<geom::Coordinate> * ring);
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:60
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition GeometryFactory.h:67
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:167
Definition LineString.h:70
Represents a linear polygon, which may include holes.
Definition Polygon.h:67
Clipping rectangle.
Definition Rectangle.h:52
Contains the Geometry interface hierarchy and supporting classes.
Definition IndexedNestedRingTester.h:26
Provides classes for implementing operations on geometries.
Definition IndexedNestedRingTester.h:40
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25