C# Класс Vertesaur.PolygonOperation.PolygonIntersectionOperation

An operation that will find the geometric result of intersecting two polygons.
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
FindPointCrossings ( Polygon2 a, Polygon2 b ) : List

Determines the points that would need to be inserted into the resulting intersection geometry between the two given polygons, at the location where their boundaries cross.

Intersect ( Polygon2 a, Polygon2 b ) : IPlanarGeometry

Calculates the intersection between two polygons.

PolygonIntersectionOperation ( ) : System

Constructs a default polygon intersection operation.

Приватные методы

Метод Описание
AddPointsBetweenForward ( List results, Ring2 ring, PolygonBoundaryLocation from, PolygonBoundaryLocation to ) : void
CodeContractInvariant ( ) : void
CreateIntersectionKernel ( Polygon2 a, Polygon2 b ) : PolygonCrossingsAlgorithmKernel
CreateIntersectionKernelFromCrossings ( List crossings, Polygon2 a, Polygon2 b ) : PolygonCrossingsAlgorithmKernel

Builds required crossing data.

DetermineFillWinding ( IEnumerable rings ) : PointWinding

Returns the first known point winding associated with ring which has an explicit hole value, failing that the first known ring winding encountered.

FindNextCrossingNotEqual ( PolygonCrossing currentCrossing, PolygonCrossing crossingsOnRing, IComparer crossingComparer ) : PolygonCrossing
FindNextRingPoint ( PolygonCrossing currentCrossing, PolygonCrossing crossingsOnRing, Ring2 ring, PolygonBoundaryLocation>.Func getLocation, IComparer crossingComparer ) : Point2
FindPreviousCrossingNotEqual ( PolygonCrossing currentCrossing, PolygonCrossing crossingsOnRing, IComparer crossingComparer ) : PolygonCrossing
FindPreviousRingPoint ( PolygonCrossing currentCrossing, PolygonCrossing crossingsOnRing, Ring2 ring, PolygonBoundaryLocation>.Func getLocation, IComparer crossingComparer ) : Point2
GetLocationA ( PolygonCrossing crossing ) : PolygonBoundaryLocation
GetLocationB ( PolygonCrossing crossing ) : PolygonBoundaryLocation
GetRingIndexA ( PolygonCrossing crossing ) : int
GetRingIndexB ( PolygonCrossing crossing ) : int
PolygonIntersectionOperation ( PolygonBinaryOperationOptions options ) : System

Constructs a new polygon intersection operation using the given options.

Using this constructor can help optimize other operators that rely on intersection operations, such as union or difference.

QualifyRings ( Polygon2 untouchedRings, Polygon2 polygon, bool qualifyEqual ) : List
TraverseCrossings ( PolygonCrossing fromCrossing, PolygonCrossing ringCrossings, int fromCrossingIndex ) : IEnumerable

Описание методов

FindPointCrossings() публичный Метод

Determines the points that would need to be inserted into the resulting intersection geometry between the two given polygons, at the location where their boundaries cross.
public FindPointCrossings ( Polygon2 a, Polygon2 b ) : List
a Polygon2 The first polygon to test.
b Polygon2 The second polygon to test.
Результат List

Intersect() публичный Метод

Calculates the intersection between two polygons.
public Intersect ( Polygon2 a, Polygon2 b ) : IPlanarGeometry
a Polygon2 A polygon.
b Polygon2 A polygon.
Результат IPlanarGeometry

PolygonIntersectionOperation() публичный Метод

Constructs a default polygon intersection operation.
public PolygonIntersectionOperation ( ) : System
Результат System