64    const std::vector<const Geometry*>& m_coverage;
 
   65    std::map<const LinearRing*, std::vector<CoverageEdge*>> m_ringEdgesMap;
 
   66    std::vector<CoverageEdge*> m_edges;
 
   67    std::vector<std::unique_ptr<CoverageEdge>> m_edgeStore;
 
   76        : m_coverage(coverage)
 
   82    std::vector<CoverageEdge*>& getEdges()
 
   94        std::size_t ringCount) 
const;
 
  110        Coordinate::UnorderedSet& nodes,
 
  111        LineSegment::UnorderedSet& boundarySegs,
 
  112        std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap);
 
  114    void addBoundaryInnerNodes(
 
  116        LineSegment::UnorderedSet& boundarySegs,
 
  117        Coordinate::UnorderedSet& nodes);
 
  119    std::vector<CoverageEdge*> extractRingEdges(
 
  121        std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap,
 
  122        Coordinate::UnorderedSet& nodes);
 
  126        std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap);
 
  130        std::size_t start, std::size_t end,
 
  131        std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap);
 
  133    std::size_t findNextNodeIndex(
 
  136        Coordinate::UnorderedSet& nodes) 
const;
 
  138    static std::size_t next(
 
  142    Coordinate::UnorderedSet findMultiRingNodes(
 
  143        const std::vector<const Geometry*>& coverage);
 
  145    Coordinate::UnorderedSet findBoundaryNodes(
 
  146        LineSegment::UnorderedSet& lineSegments);
 
  148    std::unique_ptr<Geometry> buildPolygonal(
 
  151    std::unique_ptr<Geometry> buildMultiPolygon(
 
  154    std::unique_ptr<Polygon> buildPolygon(
 
  157    std::unique_ptr<LinearRing> buildRing(
 
  160    bool isEdgeDirForward(
 
  161        const std::vector<CoverageEdge*>& ringEdges,