Versions in this module Expand all Collapse all v1 v1.1.3 Aug 30, 2022 v1.1.2 Jul 27, 2022 v1.1.1 Jul 20, 2022 Changes in this version + type MergeCorrelation struct + Edge matrix.LineMatrix + Edge1 matrix.LineMatrix + func (ii *MergeCorrelation) IsDone() bool + func (ii *MergeCorrelation) ProcessIntersections(e0 matrix.LineMatrix, segIndex0 int, e1 matrix.LineMatrix, segIndex1 int) + func (ii *MergeCorrelation) Result() interface{} v1.1.0 May 26, 2022 Changes in this version + type CorrelationNodeResult [][]*IntersectionCorrelationNode + type IntersectionCorrelation struct + Edge matrix.LineMatrix + Edge1 matrix.LineMatrix + func (ii *IntersectionCorrelation) IsDone() bool + func (ii *IntersectionCorrelation) ProcessIntersections(e0 matrix.LineMatrix, segIndex0 int, e1 matrix.LineMatrix, segIndex1 int) + func (ii *IntersectionCorrelation) Result() interface{} + type IntersectionCorrelationNode struct + CorrelationNode matrix.LineMatrix + InterNode matrix.Matrix + func (ic *IntersectionCorrelationNode) String() string + type IntersectionNodeOfLine []*IntersectionNodeResult + func (ipl IntersectionNodeOfLine) Len() int + func (ipl IntersectionNodeOfLine) Less(i, j int) bool + func (ipl IntersectionNodeOfLine) Swap(i, j int) + type IntersectionNodeResult struct + End int + InterNode relate.IntersectionPoint + Line matrix.LineSegment + OtherEdge matrix.LineMatrix + OtherLine matrix.LineSegment + Pos int v1.0.4 Dec 31, 2021 v1.0.3 Nov 18, 2021 v1.0.2 Oct 14, 2021 Changes in this version type IntersectionCollinear + Edge matrix.LineMatrix type IntersectionCollinearDifference + Edge matrix.LineMatrix v1.0.1 Aug 30, 2021 Changes in this version + func Overlaps(p1, p2, q1, q2 matrix.Matrix, overlapTolerance float64) bool + type IntersectionCollinear struct + Intersections relate.IntersectionPointLine + func (ii *IntersectionCollinear) IsDone() bool + func (ii *IntersectionCollinear) ProcessIntersections(e0 matrix.LineMatrix, segIndex0 int, e1 matrix.LineMatrix, segIndex1 int) + func (ii *IntersectionCollinear) Result() interface{} + type IntersectionCollinearDifference struct + Intersections relate.IntersectionPointLine + func (ii *IntersectionCollinearDifference) IsDone() bool + func (ii *IntersectionCollinearDifference) ProcessIntersections(e0 matrix.LineMatrix, segIndex0 int, e1 matrix.LineMatrix, segIndex1 int) + func (ii *IntersectionCollinearDifference) Result() interface{} + type IntersectionFinderAdder struct + Intersections relate.IntersectionPointLine + func (ii *IntersectionFinderAdder) IsDone() bool + func (ii *IntersectionFinderAdder) ProcessIntersections(e0 matrix.LineMatrix, segIndex0 int, e1 matrix.LineMatrix, segIndex1 int) + func (ii *IntersectionFinderAdder) Result() interface{} + type IntersectionInterior struct + Intersections relate.IntersectionPointLine + func (ii *IntersectionInterior) IsDone() bool + func (ii *IntersectionInterior) ProcessIntersections(e0 matrix.LineMatrix, segIndex0 int, e1 matrix.LineMatrix, segIndex1 int) + func (ii *IntersectionInterior) Result() interface{} + type Intersector interface + IsDone func() bool + ProcessIntersections func(e0 matrix.LineMatrix, segIndex0 int, e1 matrix.LineMatrix, segIndex1 int) + Result func() interface{} + type MonotoneChain struct + Context interface{} + Edge matrix.LineMatrix + End int + Env *envelope.Envelope + ID int + Start int + func Chains(edge matrix.LineMatrix) []*MonotoneChain + func ChainsContext(edge matrix.LineMatrix, context interface{}) []*MonotoneChain + func (m *MonotoneChain) ComputeOverlaps(mc *MonotoneChain, mco overlapAction) + func (m *MonotoneChain) ComputeOverlapsTolerance(mc *MonotoneChain, overlapTolerance float64, mco overlapAction) + func (m *MonotoneChain) Envelope() *envelope.Envelope + func (m *MonotoneChain) EnvelopeExpansion(expansionDistance float64) *envelope.Envelope + func (m *MonotoneChain) LineSegment(index int, ls *matrix.LineSegment) *matrix.LineSegment + func (m *MonotoneChain) OverlapsMonotoneChain(start0, end0 int, mc *MonotoneChain, start1, end1 int, ...) bool + func (m *MonotoneChain) Select(searchEnv *envelope.Envelope, mcs *MonotoneChainSelectAction) + type MonotoneChainOverlapAction struct + func (m *MonotoneChainOverlapAction) Overlap(mc1 *MonotoneChain, start1 int, mc2 *MonotoneChain, start2 int) + type MonotoneChainSelectAction struct + func (m *MonotoneChainSelectAction) Select(mc *MonotoneChain, startIndex int) + type SegmentMutualIntersector struct + SegmentMutual matrix.LineMatrix + func (s *SegmentMutualIntersector) AddToMonoChains(segStr *matrix.LineSegment, monoChains []*MonotoneChain) []*MonotoneChain + func (s *SegmentMutualIntersector) IntersectChains(monoChains []*MonotoneChain, testChains []*MonotoneChain, segInt Intersector) + func (s *SegmentMutualIntersector) Process(segStrings []*matrix.LineSegment, segInt Intersector) + type SegmentOverlapAction struct + func (s *SegmentOverlapAction) Overlap(mc1 *MonotoneChain, start1 int, mc2 *MonotoneChain, start2 int) + type SelectAction interface + Select func(mc1 *MonotoneChain, startIndex int)