SegmentExtractingNoder.h
/**********************************************************************
*
* GEOS - Geometry Engine Open Source
* http://geos.osgeo.org
*
* Copyright (C) 2021 Paul Ramsey <pramsey@cleverelephant.ca>
*
* 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.
*
**********************************************************************/
#pragma once
#include <geos/export.h>
#include <geos/geom/Coordinate.h>
#include <geos/geom/Envelope.h>
#include <geos/noding/Noder.h>
#include <geos/noding/snap/SnappingPointIndex.h>
// Forward declarations
namespace geos {
namespace geom {
class Envelope;
class PrecisionModel;
}
namespace noding {
class SegmentString;
}
}
namespace geos {
namespace noding { // geos::noding
class GEOS_DLL SegmentExtractingNoder : public Noder {
private:
std::vector<SegmentString*>* segList;
void extractSegments(
const std::vector<SegmentString*>& inputSegs,
std::vector<SegmentString*>& outputSegs);
void extractSegments(
const SegmentString* ss,
std::vector<SegmentString*>& outputSegs);
public:
SegmentExtractingNoder() : segList(nullptr)
{};
void computeNodes(std::vector<SegmentString*>* segStrings) override;
std::vector<SegmentString*>* getNodedSubstrings() const override;
};
} // namespace geos::noding
} // namespace geos
geos::geom::Envelope
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
geos::geom::PrecisionModel
Specifies the precision model of the Coordinate in a Geometry.
Definition PrecisionModel.h:87
geos::noding::SegmentExtractingNoder::computeNodes
void computeNodes(std::vector< SegmentString * > *segStrings) override
Computes the noding for a collection of SegmentStrings.
geos::noding::SegmentExtractingNoder::getNodedSubstrings
std::vector< SegmentString * > * getNodedSubstrings() const override
geos::noding::SegmentExtractingNoder::SegmentExtractingNoder
SegmentExtractingNoder()
Definition SegmentExtractingNoder.h:72
geos::noding::SegmentString
An interface for classes which represent a sequence of contiguous line segments.
Definition SegmentString.h:47
geos::geom
Definition Angle.h:26
geos::noding
Classes to compute nodings for arrangements of line segments and line segment sequences.
Definition CoverageCleaner.h:42
geos
Basic namespace for all GEOS functionalities.
Definition geos.h:38