GEOS  3.3.3
GeometryLocation.h
1 /**********************************************************************
2  * $Id: GeometryLocation.h 2561 2009-06-08 10:37:11Z strk $
3  *
4  * GEOS - Geometry Engine Open Source
5  * http://geos.refractions.net
6  *
7  * Copyright (C) 2006 Refractions Research Inc.
8  *
9  * This is free software; you can redistribute and/or modify it under
10  * the terms of the GNU Lesser General Public Licence as published
11  * by the Free Software Foundation.
12  * See the COPYING file for more information.
13  *
14  **********************************************************************
15  *
16  * Last port: operation/distance/GeometryLocation.java rev. 1.7 (JTS-1.10)
17  *
18  **********************************************************************/
19 
20 #ifndef GEOS_OP_DISTANCE_GEOMETRYLOCATION_H
21 #define GEOS_OP_DISTANCE_GEOMETRYLOCATION_H
22 
23 #include <geos/export.h>
24 
25 #include <geos/geom/Coordinate.h> // for composition
26 
27 // Forward declarations
28 namespace geos {
29  namespace geom {
30  class Geometry;
31  }
32 }
33 
34 
35 namespace geos {
36 namespace operation { // geos::operation
37 namespace distance { // geos::operation::distance
38 
39 
51 class GEOS_DLL GeometryLocation {
52 private:
53  const geom::Geometry *component;
54  int segIndex;
56 public:
64  static const int INSIDE_AREA = -1;
65 
75  GeometryLocation(const geom::Geometry *component,
76  int segIndex, const geom::Coordinate &pt);
77 
85  GeometryLocation(const geom::Geometry *component,
86  const geom::Coordinate &pt);
87 
91  const geom::Geometry* getGeometryComponent();
92 
101  int getSegmentIndex();
102 
106  geom::Coordinate& getCoordinate();
107 
112  bool isInsideArea();
113 };
114 
115 } // namespace geos::operation::distance
116 } // namespace geos::operation
117 } // namespace geos
118 
119 #endif // GEOS_OP_DISTANCE_GEOMETRYLOCATION_H
120 
121 /**********************************************************************
122  * $Log$
123  * Revision 1.1 2006/03/21 17:55:01 strk
124  * opDistance.h header split
125  *
126  **********************************************************************/
127