GEOS  3.3.2
PreparedGeometry.h
00001 /**********************************************************************
00002  * $Id: PreparedGeometry.h 3255 2011-03-01 17:56:10Z mloskot $
00003  *
00004  * GEOS - Geometry Engine Open Source
00005  * http://geos.refractions.net
00006  *
00007  * Copyright (C) 2006 Refractions Research 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  * Last port: geom/prep/PreparedGeometry.java rev. 1.11 (JTS-1.10)
00017  *
00018  **********************************************************************/
00019 
00020 #ifndef GEOS_GEOM_PREP_PREPAREDGEOMETRY_H
00021 #define GEOS_GEOM_PREP_PREPAREDGEOMETRY_H
00022 
00023 #include <geos/export.h>
00024 
00025 // Forward declarations
00026 namespace geos {
00027         namespace geom { 
00028                 class Geometry;
00029         }
00030 }
00031 
00032 
00033 namespace geos {
00034 namespace geom { // geos::geom
00035 namespace prep { // geos::geom::prep
00036 
00054 class GEOS_DLL PreparedGeometry {
00055 public:
00056         virtual ~PreparedGeometry() {};
00057         
00063         virtual const geom::Geometry & getGeometry() const =0;
00064 
00073         virtual bool contains(const geom::Geometry *geom) const =0;
00074 
00114         virtual bool containsProperly(const geom::Geometry *geom) const =0;
00115 
00124         virtual bool coveredBy(const geom::Geometry *geom) const =0;
00125 
00134         virtual bool covers(const geom::Geometry *geom) const =0;
00135 
00144         virtual bool crosses(const geom::Geometry *geom) const =0;
00145 
00154         virtual bool disjoint(const geom::Geometry *geom) const =0;
00155 
00164         virtual bool intersects(const geom::Geometry *geom) const =0;
00165 
00174         virtual bool overlaps(const geom::Geometry *geom) const =0;
00175 
00184         virtual bool touches(const geom::Geometry *geom) const =0;
00185 
00194         virtual bool within(const geom::Geometry *geom) const =0;
00195 };
00196 
00197 
00198 } // namespace geos::geom::prep
00199 } // namespace geos::geom
00200 } // namespace geos
00201 
00202 
00203 #endif // ndef GEOS_GEOM_PREP_PREPAREDGEOMETRY_H
00204 
00205 /**********************************************************************
00206  * $Log$
00207  **********************************************************************/