GEOS
3.6.2
|
00001 /********************************************************************** 00002 * 00003 * GEOS - Geometry Engine Open Source 00004 * http://geos.osgeo.org 00005 * 00006 * Copyright (C) 2006 Refractions Research Inc. 00007 * 00008 * This is free software; you can redistribute and/or modify it under 00009 * the terms of the GNU Lesser General Public Licence as published 00010 * by the Free Software Foundation. 00011 * See the COPYING file for more information. 00012 * 00013 **********************************************************************/ 00014 00015 #ifndef GEOS_NODING_OCTANT_H 00016 #define GEOS_NODING_OCTANT_H 00017 00018 #include <geos/export.h> 00019 00020 #include <geos/inline.h> 00021 #include <geos/util.h> 00022 00023 // Forward declarations 00024 namespace geos { 00025 namespace geom { 00026 class Coordinate; 00027 } 00028 } 00029 00030 namespace geos { 00031 namespace noding { // geos.noding 00032 00049 class GEOS_DLL Octant { 00050 private: 00051 Octant() {} // Can't instanciate it 00052 public: 00053 00058 static int octant(double dx, double dy); 00059 00063 static int octant(const geom::Coordinate& p0, const geom::Coordinate& p1); 00064 00065 static int octant(const geom::Coordinate* p0, const geom::Coordinate* p1) 00066 { 00067 ::geos::ignore_unused_variable_warning(p0); 00068 return octant(*p0, *p1); 00069 } 00070 }; 00071 00072 00073 } // namespace geos.noding 00074 } // namespace geos 00075 00076 #endif