s2.s2boolean_operation

Undocumented in source.

Members

Aliases

CrossingGraphEdgeVector
alias CrossingGraphEdgeVector = CrossingGraphEdge[]
Undocumented in source.
DegenerateEdges
alias DegenerateEdges = GraphOptions.DegenerateEdges
Undocumented in source.
DuplicateEdges
alias DuplicateEdges = GraphOptions.DuplicateEdges
Undocumented in source.
EdgeId
alias EdgeId = Graph.EdgeId
Undocumented in source.
EdgeType
alias EdgeType = S2Builder.EdgeType
Undocumented in source.
InputEdgeCrossings
alias InputEdgeCrossings = Tuple!(InputEdgeId, CrossingInputEdge)[]

InputEdgeCrossings represents all pairs of intersecting input edges. It is sorted in lexicographic order.

InputEdgeId
alias InputEdgeId = Graph.InputEdgeId
Undocumented in source.
InputEdgeIdSetId
alias InputEdgeIdSetId = Graph.InputEdgeIdSetId
Undocumented in source.
PolygonModel
alias PolygonModel = S2BooleanOperation.PolygonModel
Undocumented in source.
PolylineModel
alias PolylineModel = S2BooleanOperation.PolylineModel
Undocumented in source.
SiblingPairs
alias SiblingPairs = GraphOptions.SiblingPairs
Undocumented in source.
SnapFunction
alias SnapFunction = S2Builder.SnapFunction
Undocumented in source.
VertexId
alias VertexId = Graph.VertexId
Undocumented in source.

Classes

EdgeClippingLayer
class EdgeClippingLayer

Given a set of clipping instructions encoded as a set of intersections between input edges, EdgeClippingLayer determines which graph edges correspond to clipped portions of input edges and removes them. It assembles the remaining edges into a new S2Builder::Graph and passes the result to the given output layer for assembly.

GraphEdgeClipper
class GraphEdgeClipper

Given a set of clipping instructions encoded as a set of InputEdgeCrossings, GraphEdgeClipper determines which graph edges correspond to clipped portions of input edges and removes them.

S2BooleanOperation
class S2BooleanOperation

This class implements boolean operations (intersection, union, difference, and symmetric difference) for regions whose boundaries are defined by geodesic edges.

Structs

CrossingGraphEdge
struct CrossingGraphEdge

Given two input edges A and B that intersect, suppose that A maps to a chain of snapped edges A_0, A_1, ..., A_m and B maps to a chain of snapped edges B_0, B_1, ..., B_n. CrossingGraphEdge represents an edge from chain B that shares a vertex with chain A. It is used as a temporary data representation while processing chain A. The arguments are:

CrossingInputEdge
struct CrossingInputEdge

CrossingInputEdge represents an input edge B that crosses some other input edge A. It stores the input edge id of edge B and also whether it crosses edge A from left to right (or vice versa).

Meta