GEOS  3.4.2
Octant.h
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