/usr/include/geos/geom/prep/PreparedPolygonPredicate.h is in libgeos-dev 3.2.2-3ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | /**********************************************************************
* $Id: PreparedPolygonPredicate.h 2771 2009-12-03 19:29:54Z mloskot $
*
* GEOS - Geometry Engine Open Source
* http://geos.refractions.net
*
* Copyright (C) 2006 Refractions Research 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.
*
*
**********************************************************************
*
* Last port: geom/prep/PreparedPolygonPredicate.java rev. 1.4 (JTS-1.10)
* (2007-12-12)
*
**********************************************************************/
#ifndef GEOS_GEOM_PREP_PREPAREDPOLYGONPREDICATE_H
#define GEOS_GEOM_PREP_PREPAREDPOLYGONPREDICATE_H
#include <geos/geom/Coordinate.h>
// forward declarations
namespace geos {
namespace algorithm {
namespace locate {
class PointOnGeometryLocator;
}
}
namespace geom {
class Geometry;
namespace prep {
class PreparedPolygon;
}
}
namespace noding {
class FastSegmentSetIntersectionFinder;
}
}
namespace geos {
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:
// Declare type as noncopyable
PreparedPolygonPredicate(const PreparedPolygonPredicate& other);
PreparedPolygonPredicate& operator=(const PreparedPolygonPredicate& rhs);
protected:
const PreparedPolygon * const prepPoly;
/** \brief
* Tests whether all components of the test Geometry
* are contained in the target geometry.
*
* Handles both linear and point components.
*
* @param geom a geometry to test
* @return true if all components of the argument are contained
* in the target geometry
*/
bool isAllTestComponentsInTarget(const geom::Geometry * testGeom) const;
/** \brief
* Tests whether all components of the test Geometry
* are contained in the interior of the target geometry.
*
* Handles both linear and point components.
*
* @param geom a geometry to test
* @return true if all componenta of the argument are contained in
* the target geometry interior
*/
bool isAllTestComponentsInTargetInterior( const geom::Geometry * testGeom) const;
/** \brief
* Tests whether any component of the test Geometry intersects
* the area of the target geometry.
*
* Handles test geometries with both linear and point components.
*
* @param geom a geometry to test
* @return true if any component of the argument intersects the
* prepared geometry
*/
bool isAnyTestComponentInTarget( const geom::Geometry * testGeom) const;
/** \brief
* Tests whether any component of the test Geometry intersects
* the interior of the target geometry.
*
* Handles test geometries with both linear and point components.
*
* @param geom a geometry to test
* @return true if any component of the argument intersects the
* prepared area geometry interior
*/
bool isAnyTestComponentInTargetInterior( const geom::Geometry * testGeom) const;
/**
* Tests whether any component of the target geometry
* intersects the test geometry (which must be an areal geometry)
*
* @param geom the test geometry
* @param repPts the representative points of the target geometry
* @return true if any component intersects the areal test geometry
*/
bool isAnyTargetComponentInAreaTest( const geom::Geometry * testGeom, const geom::Coordinate::ConstVect * targetRepPts) const;
public:
/**
* Creates an instance of this operation.
*
* @param prepPoly the PreparedPolygon to evaluate
*/
PreparedPolygonPredicate( const PreparedPolygon * const prepPoly)
: prepPoly( prepPoly)
{ }
virtual ~PreparedPolygonPredicate()
{ }
};
} // namespace geos::geom::prep
} // namespace geos::geom
} // namespace geos
#endif // GEOS_GEOM_PREP_PREPAREDPOLYGONPREDICATE_H
/**********************************************************************
* $Log$
**********************************************************************/
|