SweepLineSegment.h

00001 /**********************************************************************
00002  *
00003  * GEOS - Geometry Engine Open Source
00004  * http://geos.osgeo.org
00005  *
00006  * Copyright (C) 2005-2006 Refractions Research Inc.
00007  * Copyright (C) 2001-2002 Vivid Solutions Inc.
00008  *
00009  * This is free software; you can redistribute and/or modify it under
00010  * the terms of the GNU Lesser General Public Licence as published
00011  * by the Free Software Foundation. 
00012  * See the COPYING file for more information.
00013  *
00014  **********************************************************************/
00015 
00016 #ifndef GEOS_GEOMGRAPH_INDEX_SWEEPLINESEGMENT_H
00017 #define GEOS_GEOMGRAPH_INDEX_SWEEPLINESEGMENT_H
00018 
00019 
00020 #include <geos/export.h>
00021 #include <geos/geomgraph/index/SweepLineEventObj.h> // for inheritance
00022 
00023 // Forward declarations
00024 namespace geos {
00025         namespace geom {
00026                 class CoordinateSequence;
00027         }
00028         namespace geomgraph {
00029                 class Edge;
00030                 namespace index {
00031                         class SegmentIntersector;
00032                 }
00033         }
00034 }
00035 
00036 namespace geos {
00037 namespace geomgraph { // geos::geomgraph
00038 namespace index { // geos::geomgraph::index
00039 
00040 class GEOS_DLL SweepLineSegment: public SweepLineEventOBJ {
00041 public:
00042         SweepLineSegment(Edge *newEdge, int newPtIndex);
00043         ~SweepLineSegment();
00044         double getMinX();
00045         double getMaxX();
00046         void computeIntersections(SweepLineSegment *ss, SegmentIntersector *si);
00047 protected:
00048         Edge *edge;
00049         const geom::CoordinateSequence* pts;
00050         int ptIndex;
00051 };
00052 
00053 
00054 
00055 } // namespace geos.geomgraph.index
00056 } // namespace geos.geomgraph
00057 } // namespace geos
00058 
00059 #endif
00060 

Generated on 30 Dec 2015 for GEOS by  doxygen 1.4.7