GEOS 3.3.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List

CoordinateOperation.h
1 /**********************************************************************
2 * $Id: CoordinateOperation.h 2556 2009-06-06 22:22:28Z strk $
3 *
4 * GEOS - Geometry Engine Open Source
5 * http://geos.refractions.net
6 *
7 * Copyright (C) 2001-2002 Vivid Solutions Inc.
8 * Copyright (C) 2006 Refractions Research Inc.
9 *
10 * This is free software; you can redistribute and/or modify it under
11 * the terms of the GNU Lesser General Public Licence as published
12 * by the Free Software Foundation.
13 * See the COPYING file for more information.
14 *
15 **********************************************************************/
16
17 #ifndef GEOS_GEOM_UTIL_COORDINATEOPERATION_H
18 #define GEOS_GEOM_UTIL_COORDINATEOPERATION_H
19
20 #include <geos/export.h>
21 #include <geos/geom/util/GeometryEditorOperation.h> // for inheritance
22
23 // Forward declarations
24 namespace geos {
25 namespace geom {
26 class Geometry;
27 class CoordinateSequence;
28 class GeometryFactory;
29 }
30 }
31
32
33 namespace geos {
34 namespace geom { // geos.geom
35 namespace util { // geos.geom.util
36
42 class GEOS_DLL CoordinateOperation: public GeometryEditorOperation {
43
44 public:
45
49 virtual Geometry* edit(const Geometry *geometry,
50 const GeometryFactory *factory);
51
60 virtual CoordinateSequence* edit(const CoordinateSequence* coordinates,
61 const Geometry *geometry)=0;
62
63
64 virtual ~CoordinateOperation() {}
65 };
66
67
68
69 } // namespace geos.geom.util
70 } // namespace geos.geom
71 } // namespace geos
72
73 //#ifdef GEOS_INLINE
74 //# include "geos/geom/util/CoordinateOperation.inl"
75 //#endif
76
77 #endif
78
79 /**********************************************************************
80 * $Log$
81 * Revision 1.3 2006/06/08 11:20:24 strk
82 * Added missing virtual destructor to abstract classes.
83 *
84 * Revision 1.2 2006/03/24 09:52:41 strk
85 * USE_INLINE => GEOS_INLINE
86 *
87 * Revision 1.1 2006/03/09 16:46:49 strk
88 * geos::geom namespace definition, first pass at headers split
89 *
90 **********************************************************************/