GEOS  3.13.1
DimensionLocation.h
1 /**********************************************************************
2  *
3  * GEOS - Geometry Engine Open Source
4  * http://geos.osgeo.org
5  *
6  * Copyright (c) 2024 Martin Davis
7  * Copyright (C) 2024 Paul Ramsey <pramsey@cleverelephant.ca>
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 #pragma once
17 
18 #include <geos/geom/Location.h>
19 #include <geos/export.h>
20 
21 
23 
24 
25 namespace geos { // geos.
26 namespace operation { // geos.operation
27 namespace relateng { // geos.operation.relateng
28 
29 
30 class GEOS_DLL DimensionLocation {
31 
32 public:
33 
34  enum DimensionLocationType {
35  EXTERIOR = 2, // == Location.EXTERIOR
36  POINT_INTERIOR = 103,
37  LINE_INTERIOR = 110,
38  LINE_BOUNDARY = 111,
39  AREA_INTERIOR = 120,
40  AREA_BOUNDARY = 121
41  };
42 
43  static int locationArea(Location loc);
44 
45  static int locationLine(Location loc);
46 
47  static int locationPoint(Location loc);
48 
49  static Location location(int dimLoc);
50 
51  static int dimension(int dimLoc);
52 
53  static int dimension(int dimLoc, int exteriorDim);
54 
55 };
56 
57 } // namespace geos.operation.relateng
58 } // namespace geos.operation
59 } // namespace geos
60 
Location
Constants representing the location of a point relative to a geometry.
Definition: Location.h:32
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25