BoundaryNodeRule.h

00001 /**********************************************************************
00002  * $Id: BoundaryNodeRule.h 3262 2011-03-04 16:30:48Z strk $
00003  *
00004  * GEOS - Geometry Engine Open Source
00005  * http://geos.refractions.net
00006  *
00007  * Copyright (C) 2009      Sandro Santilli <strk@keybit.net>
00008  *
00009  * This is free software; you can redistribute and/or modify it under
00010  * the terms of the GNU Lesser General Public Licence as published
00011  * by the Free Software Foundation. 
00012  * See the COPYING file for more information.
00013  *
00014  **********************************************************************
00015  *
00016  * Last port: algorithm/BoundaryNodeRule.java rev 1.4 (JTS-1.10)
00017  *
00018  **********************************************************************/
00019 
00020 #ifndef GEOS_ALGORITHM_BOUNDARYNODERULE_H
00021 #define GEOS_ALGORITHM_BOUNDARYNODERULE_H
00022 
00023 #include <geos/export.h>
00024 
00025 // Forward declarations
00026 // ...
00027 
00028 namespace geos {
00029 namespace algorithm { // geos::algorithm
00030 
00031 
00051 class GEOS_DLL BoundaryNodeRule {
00052 
00053 public:
00054 
00055         // virtual classes should always have a virtual destructor..
00056         virtual ~BoundaryNodeRule() {}
00057 
00068         virtual bool isInBoundary(int boundaryCount) const=0;
00069 
00076         static const BoundaryNodeRule& MOD2_BOUNDARY_RULE;
00077 
00083         static const BoundaryNodeRule& ENDPOINT_BOUNDARY_RULE;
00084 
00090         static const BoundaryNodeRule& MULTIVALENT_ENDPOINT_BOUNDARY_RULE;
00091 
00097         static const BoundaryNodeRule& MONOVALENT_ENDPOINT_BOUNDARY_RULE;
00098 
00105         static const BoundaryNodeRule& OGC_SFS_BOUNDARY_RULE;
00106 
00107 };
00108 
00109 } // namespace geos::algorithm
00110 } // namespace geos
00111 
00112 #endif // GEOS_ALGORITHM_BOUNDARYNODERULE_H
00113 

Generated on Thu Mar 14 16:37:09 2013 for GEOS by  doxygen 1.4.7