[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