BufferSubgraph

class BufferSubgraph() extends Comparable[BufferSubgraph]

A connected subset of the graph of {link DirectedEdge}s and {link Node}s. Its edges will generate either

  • a single polygon in the complete buffer, with zero or more holes, or

  • one or more connected holes

Version

1.7

trait Comparable[BufferSubgraph]
class Object
trait Matchable
class Any

Value members

Concrete methods

override def compareTo(o: BufferSubgraph): Int

BufferSubgraphs are compared on the x-value of their rightmost Coordinate. This defines a partial ordering on the graphs such that:

BufferSubgraphs are compared on the x-value of their rightmost Coordinate. This defines a partial ordering on the graphs such that:

g1 >= g2 <==> Ring(g2) does not contain Ring(g1)

where Polygon(g) is the buffer polygon that is built from g.

This relationship is used to sort the BufferSubgraphs so that shells are guaranteed to be built before holes.

Definition Classes
Comparable
def computeDepth(outsideDepth: Int): Unit
def create(node: Node): Unit

Creates the subgraph consisting of all edges reachable from this node. Finds the edges in the graph and the rightmost coordinate.

Creates the subgraph consisting of all edges reachable from this node. Finds the edges in the graph and the rightmost coordinate.

Value Params
node

a node to start the graph traversal from

def findResultEdges(): Unit

Find all edges whose depths indicates that they are in the result area(s). Since we want polygon shells to be oriented CW, choose dirEdges with the interior of the result on the RHS. Mark them as being in the result. Interior Area edges are the result of dimensional collapses. They do not form part of the result area boundary.

Find all edges whose depths indicates that they are in the result area(s). Since we want polygon shells to be oriented CW, choose dirEdges with the interior of the result on the RHS. Mark them as being in the result. Interior Area edges are the result of dimensional collapses. They do not form part of the result area boundary.

Computes the envelope of the edges in the subgraph. The envelope is cached after being computed.

Computes the envelope of the edges in the subgraph. The envelope is cached after being computed.

return the envelope of the graph.

def getNodes: ArrayList[Node]

Gets the rightmost coordinate in the edges of the subgraph

Gets the rightmost coordinate in the edges of the subgraph