Packages

package buffer

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package validate

Type Members

  1. class BufferBuilder extends AnyRef
  2. class BufferInputLineSimplifier extends AnyRef
  3. class BufferOp extends AnyRef
  4. class BufferParameters extends AnyRef
  5. class BufferSubgraph extends Comparable[BufferSubgraph]

    A connected subset of the graph of {link DirectedEdge}s and {link Node}s.

    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

  6. class OffsetCurveBuilder extends AnyRef
  7. class OffsetCurveSetBuilder extends AnyRef

    Creates all the raw offset curves for a buffer of a {link Geometry}.

    Creates all the raw offset curves for a buffer of a {link Geometry}. Raw curves need to be noded together and polygonized to form the final buffer area.

    Version

    1.7

  8. class OffsetSegmentGenerator extends AnyRef
  9. class OffsetSegmentString extends AnyRef
  10. class RightmostEdgeFinder extends AnyRef

    A RightmostEdgeFinder find the DirectedEdge in a list which has the highest coordinate, and which is oriented L to R at that point.

    A RightmostEdgeFinder find the DirectedEdge in a list which has the highest coordinate, and which is oriented L to R at that point. (I.e. the right side is on the RHS of the edge.)

    Version

    1.7

  11. class SubgraphDepthLocater extends AnyRef
  12. class VariableBuffer extends AnyRef

Value Members

  1. object BufferBuilder
  2. object BufferInputLineSimplifier

    Simplifies a buffer input line to remove concavities with shallow depth.

    Simplifies a buffer input line to remove concavities with shallow depth.

    The most important benefit of doing this is to reduce the number of points and the complexity of shape which will be buffered. It also reduces the risk of gores created by the quantized fillet arcs (although this issue should be eliminated in any case by the offset curve generation logic).

    A key aspect of the simplification is that it affects inside (concave or inward) corners only. Convex (outward) corners are preserved, since they are required to ensure that the generated buffer curve lies at the correct distance from the input geometry.

    Another important heuristic used is that the end segments of the input are never simplified. This ensures that the client buffer code is able to generate end caps faithfully.

    No attempt is made to avoid self-intersections in the output. This is acceptable for use for generating a buffer offset curve, since the buffer algorithm is insensitive to invalid polygonal geometry. However, this means that this algorithm cannot be used as a general-purpose polygon simplification technique.

  3. object BufferOp
  4. object BufferParameters

    A value class containing the parameters which specify how a buffer should be constructed.

    A value class containing the parameters which specify how a buffer should be constructed.

    The parameters allow control over:

    • Quadrant segments (accuracy of approximation for circular arcs)
    • End Cap style
    • Join style
    • Mitre limit
    • whether the buffer is single-sided
  5. object OffsetCurveBuilder

    Computes the raw offset curve for a single {link Geometry} component (ring, line or point).

    Computes the raw offset curve for a single {link Geometry} component (ring, line or point). A raw offset curve line is not noded - it may contain self-intersections (and usually will). The final buffer polygon is computed by forming a topological graph of all the noded raw curves and tracing outside contours. The points in the raw curve are rounded to a given {link PrecisionModel}.

    Version

    1.7

  6. object OffsetSegmentGenerator

    Generates segments which form an offset curve.

    Generates segments which form an offset curve. Supports all end cap and join options provided for buffering. This algorithm implements various heuristics to produce smoother, simpler curves which are still within a reasonable tolerance of the true curve.

  7. object OffsetSegmentString

    A dynamic list of the vertices in a constructed offset curve.

    A dynamic list of the vertices in a constructed offset curve. Automatically removes adjacent vertices which are closer than a given tolerance.

  8. object SubgraphDepthLocater

    Locates a subgraph inside a set of subgraphs, in order to determine the outside depth of the subgraph.

    Locates a subgraph inside a set of subgraphs, in order to determine the outside depth of the subgraph. The input subgraphs are assumed to have had depths already calculated for their edges.

    Version

    1.7

  9. object VariableBuffer

    Creates a buffer polygon with a varying buffer distance at each vertex along a line.

    Creates a buffer polygon with a varying buffer distance at each vertex along a line.

    Only single lines are supported as input, since buffer widths are typically specified individually for each line.

Ungrouped