BoundaryNodeRule.h
/**********************************************************************
*
* GEOS - Geometry Engine Open Source
* http://geos.osgeo.org
*
* Copyright (C) 2009 Sandro Santilli <strk@kbt.io>
*
* This is free software; you can redistribute and/or modify it under
* the terms of the GNU Lesser General Public Licence as published
* by the Free Software Foundation.
* See the COPYING file for more information.
*
**********************************************************************
*
* Last port: algorithm/BoundaryNodeRule.java rev 1.4 (JTS-1.10)
*
**********************************************************************/
#pragma once
#include <string>
#include <geos/export.h>
// Forward declarations
// ...
namespace geos {
namespace algorithm { // geos::algorithm
class GEOS_DLL BoundaryNodeRule {
public:
// virtual classes should always have a virtual destructor..
virtual
~BoundaryNodeRule() {}
virtual std::string toString() const = 0;
virtual bool isInBoundary(int boundaryCount) const = 0;
//static const BoundaryNodeRule& MOD2_BOUNDARY_RULE;
static const BoundaryNodeRule& getBoundaryRuleMod2();
//static const BoundaryNodeRule& ENDPOINT_BOUNDARY_RULE;
static const BoundaryNodeRule& getBoundaryEndPoint();
//static const BoundaryNodeRule& MULTIVALENT_ENDPOINT_BOUNDARY_RULE;
static const BoundaryNodeRule& getBoundaryMultivalentEndPoint();
//static const BoundaryNodeRule& MONOVALENT_ENDPOINT_BOUNDARY_RULE;
static const BoundaryNodeRule& getBoundaryMonovalentEndPoint();
//static const BoundaryNodeRule& OGC_SFS_BOUNDARY_RULE;
static const BoundaryNodeRule& getBoundaryOGCSFS();
};
} // namespace geos::algorithm
} // namespace geos
geos::algorithm::BoundaryNodeRule
An interface for rules which determine whether node points which are in boundaries of lineal geometry...
Definition BoundaryNodeRule.h:52
geos::algorithm::BoundaryNodeRule::getBoundaryEndPoint
static const BoundaryNodeRule & getBoundaryEndPoint()
The Endpoint Boundary Node Rule.
geos::algorithm::BoundaryNodeRule::getBoundaryMultivalentEndPoint
static const BoundaryNodeRule & getBoundaryMultivalentEndPoint()
The MultiValent Endpoint Boundary Node Rule.
geos::algorithm::BoundaryNodeRule::getBoundaryMonovalentEndPoint
static const BoundaryNodeRule & getBoundaryMonovalentEndPoint()
The Monovalent Endpoint Boundary Node Rule.
geos::algorithm::BoundaryNodeRule::isInBoundary
virtual bool isInBoundary(int boundaryCount) const =0
Tests whether a point that lies in boundaryCount geometry component boundaries is considered to form ...
geos::algorithm::BoundaryNodeRule::getBoundaryOGCSFS
static const BoundaryNodeRule & getBoundaryOGCSFS()
The Boundary Node Rule specified by the OGC Simple Features Specification, which is the same as the M...
geos::algorithm::BoundaryNodeRule::getBoundaryRuleMod2
static const BoundaryNodeRule & getBoundaryRuleMod2()
The Mod-2 Boundary Node Rule (which is the rule specified in the OGC SFS).
geos::algorithm
Contains classes and interfaces implementing fundamental computational geometry algorithms.
Definition Angle.h:32
geos
Basic namespace for all GEOS functionalities.
Definition geos.h:38