[geos-commits] r2120 - in trunk/source/headers/geos: . algorithm
algorithm/locate geom/prep geom/util index/intervalrtree noding
svn_geos at osgeo.org
svn_geos at osgeo.org
Wed Jan 30 17:34:13 EST 2008
Author: benjubb
Date: 2008-01-30 17:34:13 -0500 (Wed, 30 Jan 2008)
New Revision: 2120
Added:
trunk/source/headers/geos/indexIntervalRTree.h
Modified:
trunk/source/headers/geos/algorithm/RayCrossingCounter.h
trunk/source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h
trunk/source/headers/geos/algorithm/locate/PointOnGeometryLocator.h
trunk/source/headers/geos/algorithm/locate/SimplePointInAreaLocator.h
trunk/source/headers/geos/geom/prep/AbstractPreparedPolygonContains.h
trunk/source/headers/geos/geom/prep/BasicPreparedGeometry.h
trunk/source/headers/geos/geom/prep/PreparedGeometry.h
trunk/source/headers/geos/geom/prep/PreparedGeometryFactory.h
trunk/source/headers/geos/geom/prep/PreparedLineString.h
trunk/source/headers/geos/geom/prep/PreparedLineStringIntersects.h
trunk/source/headers/geos/geom/prep/PreparedPoint.h
trunk/source/headers/geos/geom/prep/PreparedPolygon.h
trunk/source/headers/geos/geom/prep/PreparedPolygonContains.h
trunk/source/headers/geos/geom/prep/PreparedPolygonContainsProperly.h
trunk/source/headers/geos/geom/prep/PreparedPolygonCovers.h
trunk/source/headers/geos/geom/prep/PreparedPolygonIntersects.h
trunk/source/headers/geos/geom/prep/PreparedPolygonPredicate.h
trunk/source/headers/geos/geom/util/ComponentCoordinateExtracter.h
trunk/source/headers/geos/geomUtil.h
trunk/source/headers/geos/geosAlgorithm.h
trunk/source/headers/geos/index/intervalrtree/SortedPackedIntervalRTree.h
trunk/source/headers/geos/noding/FastSegmentSetIntersectionFinder.h
trunk/source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h
trunk/source/headers/geos/noding/NodableSegmentString.h
trunk/source/headers/geos/noding/NodedSegmentString.h
trunk/source/headers/geos/noding/SegmentIntersectionDetector.h
trunk/source/headers/geos/noding/SegmentSetMutualIntersector.h
trunk/source/headers/geos/noding/SegmentStringUtil.h
Log:
Added documentation, for benefit of doxygen.
Modified: trunk/source/headers/geos/algorithm/RayCrossingCounter.h
===================================================================
--- trunk/source/headers/geos/algorithm/RayCrossingCounter.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/algorithm/RayCrossingCounter.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -30,14 +30,15 @@
namespace geos {
namespace algorithm {
-/**
+/** \brief
* Counts the number of segments crossed by a horizontal ray extending to the right
* from a given point, in an incremental fashion.
+ *
* This can be used to determine whether a point lies in a {@link Polygonal} geometry.
* The class determines the situation where the point lies exactly on a segment.
* When being used for Point-In-Polygon determination, this case allows short-circuiting
* the evaluation.
- * <p>
+ *
* This class handles polygonal geometries with any number of shells and holes.
* The orientation of the shell and hole rings is unimportant.
* In order to compute a correct location for a given polygonal geometry,
Modified: trunk/source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h
===================================================================
--- trunk/source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/algorithm/locate/IndexedPointInAreaLocator.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -40,6 +40,16 @@
namespace algorithm { // geos::algorithm
namespace locate { // geos::algorithm::locate
+/** \brief
+ * Determines the location of {@link Coordinate}s relative to
+ * a {@link Polygon} or {@link MultiPolygon} geometry, using indexing for efficiency.
+ *
+ * This algorithm is suitable for use in cases where
+ * many points will be tested against a given area.
+ *
+ * @author Martin Davis
+ *
+ */
class IndexedPointInAreaLocator : public PointOnGeometryLocator
{
private:
Modified: trunk/source/headers/geos/algorithm/locate/PointOnGeometryLocator.h
===================================================================
--- trunk/source/headers/geos/algorithm/locate/PointOnGeometryLocator.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/algorithm/locate/PointOnGeometryLocator.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -27,6 +27,12 @@
namespace algorithm { // geos::algorithm
namespace locate { // geos::algorithm::locate
+/** \brief
+ * An interface for classes which determine the {@link Location} of
+ * points in {@link Polygon} or {@link MultiPolygon} geometries.
+ *
+ * @author Martin Davis
+ */
class PointOnGeometryLocator
{
private:
Modified: trunk/source/headers/geos/algorithm/locate/SimplePointInAreaLocator.h
===================================================================
--- trunk/source/headers/geos/algorithm/locate/SimplePointInAreaLocator.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/algorithm/locate/SimplePointInAreaLocator.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -32,6 +32,19 @@
namespace algorithm { // geos::algorithm
namespace locate { // geos::algorithm::locate
+/** \brief
+ * Computes the location of points
+ * relative to an areal {@link Geometry},
+ * using a simple O(n) algorithm.
+ *
+ * This algorithm is suitable for use in cases where
+ * only one or a few points will be tested against a given area.
+ *
+ * The algorithm used is only guaranteed to return correct results
+ * for points which are <b>not</b> on the boundary of the Geometry.
+ *
+ * @version 1.7
+ */
class SimplePointInAreaLocator : public PointOnGeometryLocator
{
Modified: trunk/source/headers/geos/geom/prep/AbstractPreparedPolygonContains.h
===================================================================
--- trunk/source/headers/geos/geom/prep/AbstractPreparedPolygonContains.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/AbstractPreparedPolygonContains.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -36,6 +36,28 @@
namespace geom { // geos::geom
namespace prep { // geos::geom::prep
+/**
+ * \brief
+ * A base class containing the logic for computes the <tt>contains</tt>
+ * and <tt>covers</tt> spatial relationship predicates
+ * for a {@link PreparedPolygon} relative to all other {@link Geometry} classes.
+ *
+ * Uses short-circuit tests and indexing to improve performance.
+ *
+ * Contains and covers are very similar, and differ only in how certain
+ * cases along the boundary are handled. These cases require
+ * full topological evaluation to handle, so all the code in
+ * this class is common to both predicates.
+ *
+ * It is not possible to short-circuit in all cases, in particular
+ * in the case where line segments of the test geometry touches the polygon linework.
+ * In this case full topology must be computed.
+ * (However, if the test geometry consists of only points, this
+ * <i>can</i> be evaluated in an optimized fashion.
+ *
+ * @author Martin Davis
+ *
+ */
class AbstractPreparedPolygonContains : public PreparedPolygonPredicate
{
private:
Modified: trunk/source/headers/geos/geom/prep/BasicPreparedGeometry.h
===================================================================
--- trunk/source/headers/geos/geom/prep/BasicPreparedGeometry.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/BasicPreparedGeometry.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -38,8 +38,13 @@
namespace geom { // geos::geom
namespace prep { // geos::geom::prep
+// * \class BasicPreparedGeometry
+
/**
+ *
+ * \brief
* A base class for {@link PreparedGeometry} subclasses.
+ *
* Contains default implementations for methods, which simply delegate
* to the equivalent {@link Geometry} methods.
* This class may be used as a "no-op" class for Geometry types
@@ -55,6 +60,9 @@
Coordinate::ConstVect representativePts;
protected:
+ /**
+ * Sets the original {@link Geometry} which will be prepared.
+ */
void setGeometry( const geom::Geometry * geom );
/**
Modified: trunk/source/headers/geos/geom/prep/PreparedGeometry.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedGeometry.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedGeometry.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -34,9 +34,9 @@
*
* \brief
* An interface for classes which prepare {@link Geometry}s
- * in order to optimize the performance
+ * in order to optimize the performance
* of repeated calls to specific geometric operations.
- * <p>
+ *
* A given implementation may provide optimized implementations
* for only some of the specified methods,
* and delegate the remaining methods to the original {@link Geometry} operations.
@@ -45,7 +45,6 @@
* See the implementing classes for documentation about which methods and situations
* they optimize.
*
- * Last port: index/SpatialIndex.java (JTS-1.9) *
*/
class PreparedGeometry {
public:
Modified: trunk/source/headers/geos/geom/prep/PreparedGeometryFactory.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedGeometryFactory.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedGeometryFactory.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -34,14 +34,14 @@
/**
+ * \brief
* A factory for creating {@link PreparedGeometry}s.
+ *
* It chooses an appropriate implementation of PreparedGeometry
* based on the geoemtric type of the input geometry.
- * <p>
* In the future, the factory may accept hints that indicate
* special optimizations which can be performed.
*
- *
* @author Martin Davis
*
*/
Modified: trunk/source/headers/geos/geom/prep/PreparedLineString.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedLineString.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedLineString.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -31,7 +31,8 @@
namespace prep { // geos::geom::prep
/**
- * A prepared version for {@link Lineal} geometries.
+ * \brief
+ * A prepared version of {@link LinearRing}, {@link LineString} or {@link MultiLineString} geometries.
*
* @author mbdavis
*
Modified: trunk/source/headers/geos/geom/prep/PreparedLineStringIntersects.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedLineStringIntersects.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedLineStringIntersects.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -31,8 +31,10 @@
namespace prep { // geos::geom::prep
/**
+ * \brief
* Computes the <tt>intersects</tt> spatial relationship predicate
* for a target {@link PreparedLineString} relative to other {@link Geometry} classes.
+ *
* Uses short-circuit tests and indexing to improve performance.
*
* @author Martin Davis
Modified: trunk/source/headers/geos/geom/prep/PreparedPoint.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedPoint.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedPoint.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -24,7 +24,8 @@
namespace prep { // geos::geom::prep
/**
- * A prepared version for {@link Puntal} geometries.
+ * \brief
+ * A prepared version of {@link Point} or {@link MultiPoint} geometries.
*
* @author Martin Davis
*
Modified: trunk/source/headers/geos/geom/prep/PreparedPolygon.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedPolygon.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedPolygon.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -36,7 +36,8 @@
namespace prep { // geos::geom::prep
/**
- * A prepared version for {@link Polygonal} geometries.
+ * \brief
+ * A prepared version of {@link Polygon} or {@link MultiPolygon} geometries.
*
* @author mbdavis
*
Modified: trunk/source/headers/geos/geom/prep/PreparedPolygonContains.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedPolygonContains.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedPolygonContains.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -34,6 +34,20 @@
namespace geom { // geos::geom
namespace prep { // geos::geom::prep
+/**
+ * \brief
+ * Computes the <tt>contains</tt> spatial relationship predicate
+ * for a {@link PreparedPolygon} relative to all other {@link Geometry} classes.
+ *
+ * Uses short-circuit tests and indexing to improve performance.
+ *
+ * It is not possible to short-circuit in all cases, in particular
+ * in the case where the test geometry touches the polygon linework.
+ * In this case full topology must be computed.
+ *
+ * @author Martin Davis
+ *
+ */
class PreparedPolygonContains : public AbstractPreparedPolygonContains
{
private:
Modified: trunk/source/headers/geos/geom/prep/PreparedPolygonContainsProperly.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedPolygonContainsProperly.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedPolygonContainsProperly.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -33,6 +33,25 @@
namespace geom { // geos::geom
namespace prep { // geos::geom::prep
+/**
+ * \brief
+ * Computes the <tt>containsProperly</tt> spatial relationship predicate
+ * for {@link PreparedPolygon}s relative to all other {@link Geometry} classes.
+ *
+ * Uses short-circuit tests and indexing to improve performance.
+ *
+ * A Geometry A <tt>containsProperly</tt> another Geometry B iff
+ * all points of B are contained in the Interior of A.
+ * Equivalently, B is contained in A AND B does not intersect
+ * the Boundary of A.
+ *
+ * The advantage to using this predicate is that it can be computed
+ * efficiently, with no need to compute topology at individual points.
+ * In a situation with many geometries intersecting the boundary
+ * of the target geometry, this can make a performance difference.
+ *
+ * @author Martin Davis
+ */
class PreparedPolygonContainsProperly : public PreparedPolygonPredicate
{
private:
Modified: trunk/source/headers/geos/geom/prep/PreparedPolygonCovers.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedPolygonCovers.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedPolygonCovers.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -34,6 +34,20 @@
namespace geom { // geos::geom
namespace prep { // geos::geom::prep
+/**
+ * \brief
+ * Computes the <tt>covers</tt> spatial relationship predicate
+ * for a {@link PreparedPolygon} relative to all other {@link Geometry} classes.
+ *
+ * Uses short-circuit tests and indexing to improve performance.
+ *
+ * It is not possible to short-circuit in all cases, in particular
+ * in the case where the test geometry touches the polygon linework.
+ * In this case full topology must be computed.
+ *
+ * @author Martin Davis
+ *
+ */
class PreparedPolygonCovers : public AbstractPreparedPolygonContains
{
private:
Modified: trunk/source/headers/geos/geom/prep/PreparedPolygonIntersects.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedPolygonIntersects.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedPolygonIntersects.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -33,6 +33,16 @@
namespace geom { // geos::geom
namespace prep { // geos::geom::prep
+/**
+ * \brief
+ * Computes the <tt>intersects</tt> spatial relationship predicate
+ * for {@link PreparedPolygon}s relative to all other {@link Geometry} classes.
+ *
+ * Uses short-circuit tests and indexing to improve performance.
+ *
+ * @author Martin Davis
+ *
+ */
class PreparedPolygonIntersects : public PreparedPolygonPredicate
{
private:
Modified: trunk/source/headers/geos/geom/prep/PreparedPolygonPredicate.h
===================================================================
--- trunk/source/headers/geos/geom/prep/PreparedPolygonPredicate.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/prep/PreparedPolygonPredicate.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -43,6 +43,13 @@
namespace geom { // geos::geom
namespace prep { // geos::geom::prep
+/**
+ * \brief
+ * A base class for predicate operations on {@link PreparedPolygon}s.
+ *
+ * @author mbdavis
+ *
+ */
class PreparedPolygonPredicate
{
private:
Modified: trunk/source/headers/geos/geom/util/ComponentCoordinateExtracter.h
===================================================================
--- trunk/source/headers/geos/geom/util/ComponentCoordinateExtracter.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geom/util/ComponentCoordinateExtracter.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -30,7 +30,7 @@
namespace geom { // geos::geom
namespace util { // geos::geom::util
-/**
+/** \brief
* Extracts a single representative {@link Coordinate}
* from each connected component of a {@link Geometry}.
*
Modified: trunk/source/headers/geos/geomUtil.h
===================================================================
--- trunk/source/headers/geos/geomUtil.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geomUtil.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -27,6 +27,10 @@
namespace geos {
namespace geom { // geos.geom
+
+/** \brief
+ * Provides classes that parse and modify Geometry objects.
+ */
namespace util { // geos.geom.util
} // namespace geos.geom.util
Modified: trunk/source/headers/geos/geosAlgorithm.h
===================================================================
--- trunk/source/headers/geos/geosAlgorithm.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/geosAlgorithm.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -91,6 +91,12 @@
*
*/
namespace algorithm { // geos::algorithm
+
+/** \brief
+ * Classes which determine the Location of points in geometries.
+ */
+namespace locate {
+} // namespace geos::algorithm::locate
} // namespace geos::algorithm
} // namespace geos
Modified: trunk/source/headers/geos/index/intervalrtree/SortedPackedIntervalRTree.h
===================================================================
--- trunk/source/headers/geos/index/intervalrtree/SortedPackedIntervalRTree.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/index/intervalrtree/SortedPackedIntervalRTree.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -30,6 +30,22 @@
namespace index {
namespace intervalrtree {
+/** \brief
+ * A static index on a set of 1-dimensional intervals,
+ * using an R-Tree packed based on the order of the interval midpoints.
+ *
+ * It supports range searching,
+ * where the range is an interval of the real line (which may be a single point).
+ * A common use is to index 1-dimensional intervals which
+ * are the projection of 2-D objects onto an axis of the coordinate system.
+ *
+ * This index structure is <i>static</i>
+ * - items cannot be added or removed once the first query has been made.
+ * The advantage of this characteristic is that the index performance
+ * can be optimized based on a fixed set of items.
+ *
+ * @author Martin Davis
+ */
class SortedPackedIntervalRTree
{
private:
Added: trunk/source/headers/geos/indexIntervalRTree.h
===================================================================
--- trunk/source/headers/geos/indexIntervalRTree.h (rev 0)
+++ trunk/source/headers/geos/indexIntervalRTree.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -0,0 +1,34 @@
+/**********************************************************************
+ * $Id: indexQuadtree.h 1820 2006-09-06 16:54:23Z mloskot $
+ *
+ * GEOS - Geometry Engine Open Source
+ * http://geos.refractions.net
+ *
+ * Copyright (C) 2006 Refractions Research Inc.
+ * Copyright (C) 2001-2002 Vivid Solutions Inc.
+ *
+ * This is free software; you can redistribute and/or modify it under
+ * the terms of the GNU Lesser General Public Licence as published
+ * by the Free Software Foundation.
+ * See the COPYING file for more information.
+ *
+ **********************************************************************/
+
+#ifndef GEOS_INDEXINTERVALRTREE_H
+#define GEOS_INDEXINTERVALRTREE_H
+
+namespace geos {
+namespace index { // geos.index
+
+/** \brief
+ * Contains classes that implement a static index on a set of 1-dimensional intervals,
+ * using an R-Tree packed based on the order of the interval midpoints.
+ */
+namespace intervalrtree { // geos.index.intervalrtree
+
+} // namespace geos.index.intervalrtree
+} // namespace geos.index
+} // namespace geos
+
+#endif //GEOS_INDEXINTERVALRTREE_H
+
Modified: trunk/source/headers/geos/noding/FastSegmentSetIntersectionFinder.h
===================================================================
--- trunk/source/headers/geos/noding/FastSegmentSetIntersectionFinder.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/noding/FastSegmentSetIntersectionFinder.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -34,6 +34,15 @@
namespace geos {
namespace noding { // geos::noding
+/** \brief
+ * Finds if two sets of {@link SegmentStrings}s intersect.
+ *
+ * Uses indexing for fast performance and to optimize repeated tests
+ * against a target set of lines.
+ * Short-circuited to return as soon an intersection is found.
+ *
+ * @version 1.7
+ */
class FastSegmentSetIntersectionFinder
{
private:
Modified: trunk/source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h
===================================================================
--- trunk/source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/noding/MCIndexSegmentSetMutualIntersector.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -18,11 +18,6 @@
#define GEOS_NODING_MCINDEXSEGMENTSETMUTUALINTERSECTOR_H
#include <geos/noding/SegmentSetMutualIntersector.h> // inherited
-//#include <geos/noding/SegmentString.h>
-//#include <geos/noding/SegmentIntersector.h>
-//#include <geos/index/SpatialIndex.h>
-//#include <geos/index/strtree/STRtree.h> // for constructor
-//#include <geos/index/chain/MonotoneChain.h>
#include <geos/index/chain/MonotoneChainOverlapAction.h> // inherited
namespace geos {
@@ -47,6 +42,12 @@
namespace geos {
namespace noding { // geos::noding
+/** \brief
+ * Intersects two sets of {@link SegmentStrings} using a index based
+ * on {@link MonotoneChain}s and a {@link SpatialIndex}.
+ *
+ * @version 1.7
+ */
class MCIndexSegmentSetMutualIntersector : public SegmentSetMutualIntersector
{
private:
Modified: trunk/source/headers/geos/noding/NodableSegmentString.h
===================================================================
--- trunk/source/headers/geos/noding/NodableSegmentString.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/noding/NodableSegmentString.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -28,7 +28,7 @@
namespace geos {
namespace noding { // geos::noding
-/**
+/** \brief
* An interface for classes which support adding nodes to
* a segment string.
*
Modified: trunk/source/headers/geos/noding/NodedSegmentString.h
===================================================================
--- trunk/source/headers/geos/noding/NodedSegmentString.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/noding/NodedSegmentString.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -30,6 +30,19 @@
namespace geos {
namespace noding { // geos::noding
+/** \brief
+ * Represents a list of contiguous line segments,
+ * and supports noding the segments.
+ *
+ * The line segments are represented by an array of {@link Coordinate}s.
+ * Intended to optimize the noding of contiguous segments by
+ * reducing the number of allocated objects.
+ * SegmentStrings can carry a context object, which is useful
+ * for preserving topological or parentage information.
+ * All noded substrings are initialized with the same context object.
+ *
+ * @version 1.7
+ */
class NodedSegmentString : public NodableSegmentString
{
private:
Modified: trunk/source/headers/geos/noding/SegmentIntersectionDetector.h
===================================================================
--- trunk/source/headers/geos/noding/SegmentIntersectionDetector.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/noding/SegmentIntersectionDetector.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -28,6 +28,19 @@
namespace geos {
namespace noding { // geos::noding
+/** \brief
+ * Detects and records an intersection between two {@link SegmentString}s,
+ * if one exists.
+ *
+ * This strategy can be configured to search for proper intersections.
+ * In this case, the presence of any intersection will still be recorded,
+ * but searching will continue until either a proper intersection has been found
+ * or no intersections are detected.
+ *
+ * Only a single intersection is recorded.
+ *
+ * @version 1.7
+ */
class SegmentIntersectionDetector : public SegmentIntersector
{
private:
Modified: trunk/source/headers/geos/noding/SegmentSetMutualIntersector.h
===================================================================
--- trunk/source/headers/geos/noding/SegmentSetMutualIntersector.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/noding/SegmentSetMutualIntersector.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -23,6 +23,18 @@
namespace geos {
namespace noding { // geos::noding
+/** \brief
+ * An intersector for the red-blue intersection problem.
+ *
+ * In this class of line arrangement problem,
+ * two disjoint sets of linestrings are provided.
+ * It is assumed that within
+ * each set, no two linestrings intersect except possibly at their endpoints.
+ * Implementations can take advantage of this fact to optimize processing.
+ *
+ * @author Martin Davis
+ * @version 1.10
+ */
class SegmentSetMutualIntersector
{
private:
Modified: trunk/source/headers/geos/noding/SegmentStringUtil.h
===================================================================
--- trunk/source/headers/geos/noding/SegmentStringUtil.h 2008-01-30 22:30:52 UTC (rev 2119)
+++ trunk/source/headers/geos/noding/SegmentStringUtil.h 2008-01-30 22:34:13 UTC (rev 2120)
@@ -25,6 +25,12 @@
namespace geos {
namespace noding { // geos::noding
+/** \brief
+ * Utility methods for processing {@link SegmentString}s.
+ *
+ * @author Martin Davis
+ *
+ */
class SegmentStringUtil
{
private:
More information about the geos-commits
mailing list