Class SegmentStringDissolver


  • public class SegmentStringDissolver
    extends java.lang.Object
    Dissolves a noded collection of SegmentStrings to produce a set of merged linework with unique segments. A custom SegmentStringDissolver.SegmentStringMerger merging strategy can be supplied. This strategy will be called when two identical (up to orientation) strings are dissolved together. The default merging strategy is simply to discard one of the merged strings.

    A common use for this class is to merge noded edges while preserving topological labelling. This requires a custom merging strategy to be supplied to merge the topology labels appropriately.

    Version:
    1.7
    See Also:
    SegmentStringDissolver.SegmentStringMerger
    • Constructor Detail

      • SegmentStringDissolver

        public SegmentStringDissolver​(SegmentStringDissolver.SegmentStringMerger merger)
        Creates a dissolver with a user-defined merge strategy.
        Parameters:
        merger - the merging strategy to use
      • SegmentStringDissolver

        public SegmentStringDissolver()
        Creates a dissolver with the default merging strategy.
    • Method Detail

      • dissolve

        public void dissolve​(java.util.Collection segStrings)
        Dissolve all SegmentStrings in the input Collection
        Parameters:
        segStrings -
      • dissolve

        public void dissolve​(SegmentString segString)
        Dissolve the given SegmentString.
        Parameters:
        segString - the string to dissolve
      • getDissolved

        public java.util.Collection getDissolved()
        Gets the collection of dissolved (i.e. unique) SegmentStrings
        Returns:
        the unique SegmentStrings