GEOS  3.6.2
PreparedGeometryFactory.h
00001 /**********************************************************************
00002  *
00003  * GEOS - Geometry Engine Open Source
00004  * http://geos.osgeo.org
00005  *
00006  * Copyright (C) 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  *
00016  * Last port: geom/prep/PreparedGeometryFactory.java rev. 1.4 (JTS-1.10)
00017  *
00018  **********************************************************************/
00019 
00020 #ifndef GEOS_GEOM_PREP_PREPAREDGEOMETRYFACTORY_H
00021 #define GEOS_GEOM_PREP_PREPAREDGEOMETRYFACTORY_H
00022 
00023 #include <geos/export.h>
00024 #include <geos/geom/prep/PreparedGeometry.h>
00025 
00026 namespace geos {
00027         namespace geom {
00028         namespace prep {
00029             class PreparedGeometry;
00030                 }
00031         }
00032 }
00033 
00034 
00035 namespace geos {
00036 namespace geom { // geos::geom
00037 namespace prep { // geos::geom::prep
00038 
00039 
00052 class GEOS_DLL PreparedGeometryFactory
00053 {
00054 public:
00055 
00062         static const PreparedGeometry * prepare(const geom::Geometry * geom) 
00063         {
00064                 PreparedGeometryFactory pf;
00065                 return pf.create(geom); 
00066         }
00067     
00073     static void destroy(const PreparedGeometry* geom)
00074     {
00075         delete geom;
00076     }
00077 
00084         const PreparedGeometry* create(const geom::Geometry* geom) const;
00085 
00086 };
00087 
00088 } // namespace geos::geom::prep
00089 } // namespace geos::geom
00090 } // namespace geos
00091 
00092 #endif // GEOS_GEOM_PREP_PREPAREDGEOMETRYFACTORY_H