Interface Noder

 1  
 2 /*
 3  * Copyright (c) 2016 Vivid Solutions.
 4  *
 5  * All rights reserved. This program and the accompanying materials
 6  * are made available under the terms of the Eclipse Public License 2.0
 7  * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
 8  * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v20.html
 9  * and the Eclipse Distribution License is available at
10  *
11  * http://www.eclipse.org/org/documents/edl-v10.php.
12  */
13 package org.locationtech.jts.noding;
14  
15 import java.util.Collection;
16  
17 /**
18  * Computes all intersections between segments in a set of {@link SegmentString}s.
19  * Intersections found are represented as {@link SegmentNode}s and added to the
20  * {@link SegmentString}s in which they occur.
21  * As a final step in the noding a new set of segment strings split
22  * at the nodes may be returned.
23  *
24  * @version 1.7
25  */
26 public interface Noder
27 {
28  
29   /**
30    * Computes the noding for a collection of {@link SegmentString}s.
31    * Some Noders may add all these nodes to the input SegmentStrings;
32    * others may only add some or none at all.
33    *
34    * @param segStrings a collection of {@link SegmentString}s to node
35    */
36   void computeNodes(Collection segStrings);
37  
38   /**
39    * Returns a {@link Collection} of fully noded {@link SegmentString}s.
40    * The SegmentStrings have the same context as their parent.
41    *
42    * @return a Collection of SegmentStrings
43    */
44   Collection getNodedSubstrings();
45  
46 }
47