GEOS 3.3.8

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

- File List

Dimension.h
1 /**********************************************************************
2 * $Id: Dimension.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) 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 #ifndef GEOS_GEOM_DIMENSION_H
17 #define GEOS_GEOM_DIMENSION_H
18
19 #include <geos/export.h>
20 #include <geos/inline.h>
21
22 namespace geos {
23 namespace geom { // geos::geom
24
26 //
30 class GEOS_DLL Dimension {
31 public:
32 enum DimensionType {
34 DONTCARE=-3,
35
37 True=-2,
38
40 False=-1,
41
43 P=0,
44
46 L=1,
47
49 A=2
50 };
51
52 //static const int P = 0; /// Dimension value of a point (0).
53 //static const int L = 1; /// Dimension value of a curve (1).
54 //static const int A = 2; /// Dimension value of a surface (2).
55 //static const int False = -1; /// Dimension value of the empty geometry (-1).
56 //static const int True = -2; /// Dimension value of non-empty geometries (= {P, L, A}).
57 //static const int DONTCARE = -3; /// Dimension value for any dimension (= {FALSE, TRUE}).
58 static char toDimensionSymbol(int dimensionValue);
59
60 static int toDimensionValue(char dimensionSymbol);
61
62 };
63
64 } // namespace geos::geom
65 } // namespace geos
66
67 #ifdef GEOS_INLINE
68 # include "geos/geom/Envelope.inl"
69 #endif
70
71 #endif // ndef GEOS_GEOM_DIMENSION_H
72
73 /**********************************************************************
74 * $Log$
75 * Revision 1.4 2006/05/04 15:49:39 strk
76 * updated all Geometry::getDimension() methods to return Dimension::DimensionType (closes bug#93)
77 *
78 * Revision 1.3 2006/04/07 05:44:32 mloskot
79 * Added name for anonymous enum in Dimension class (bug). Added missing new-line at the end of source files. Removed CR from line ends.
80 *
81 * Revision 1.2 2006/03/24 09:52:41 strk
82 * USE_INLINE => GEOS_INLINE
83 *
84 * Revision 1.1 2006/03/09 16:46:49 strk
85 * geos::geom namespace definition, first pass at headers split
86 *
87 **********************************************************************/