GEOS  3.3.3
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:
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  **********************************************************************/