GEOS  3.6.2
EnhancedPrecisionOp.h
00001 /**********************************************************************
00002  *
00003  * GEOS - Geometry Engine Open Source
00004  * http://geos.osgeo.org
00005  *
00006  * Copyright (C) 2005-2006 Refractions Research Inc.
00007  *
00008  * This is free software; you can redistribute and/or modify it under
00009  * the terms of the GNU Lesser General Public Licence as published
00010  * by the Free Software Foundation. 
00011  * See the COPYING file for more information.
00012  *
00013  **********************************************************************
00014  *
00015  * Last port: precision/EnhancedPrecisionOp.java rev. 1.9 (JTS-1.7)
00016  *
00017  **********************************************************************/
00018 
00019 #ifndef GEOS_PRECISION_ENHANCEDPRECISIONOP_H
00020 #define GEOS_PRECISION_ENHANCEDPRECISIONOP_H
00021 
00022 #include <geos/export.h>
00023 #include <geos/platform.h> // for int64
00024 
00025 // Forward declarations
00026 namespace geos {
00027         namespace geom {
00028                 class Geometry;
00029         }
00030 }
00031 
00032 namespace geos {
00033 namespace precision { // geos.precision
00034 
00040 class GEOS_DLL EnhancedPrecisionOp {
00041 
00042 public:
00043 
00053         static geom::Geometry* intersection(
00054                         const geom::Geometry *geom0,
00055                         const geom::Geometry *geom1);
00056 
00065         static geom::Geometry* Union(
00066                         const geom::Geometry *geom0,
00067                         const geom::Geometry *geom1);
00068 
00077         static geom::Geometry* difference(
00078                         const geom::Geometry *geom0,
00079                         const geom::Geometry *geom1);
00080 
00089         static geom::Geometry* symDifference(
00090                         const geom::Geometry *geom0,
00091                         const geom::Geometry *geom1);
00092 
00102         static geom::Geometry* buffer(
00103                         const geom::Geometry *geom,
00104                         double distance);
00105 };
00106 
00107 
00108 } // namespace geos.precision
00109 } // namespace geos
00110 
00111 #endif // GEOS_PRECISION_ENHANCEDPRECISIONOP_H