// // Copyright (c) James Jackson-South and contributors. // Licensed under the Apache License, Version 2.0. // namespace ImageSharp.Drawing.Shapes.PolygonClipper { using System; using System.Collections.Generic; using System.Linq; using System.Numerics; using System.Runtime.CompilerServices; using Paths; /// /// TEdge /// internal class TEdge { #pragma warning disable SA1401 // Field must be private /// /// The source path, see if we can link this back later /// internal IPath SourcePath; /// /// The bot /// internal System.Numerics.Vector2 Bot; /// /// The current (updated for every new scanbeam) /// internal System.Numerics.Vector2 Curr; /// /// The top /// internal System.Numerics.Vector2 Top; /// /// The delta /// internal System.Numerics.Vector2 Delta; /// /// The dx /// internal double Dx; /// /// The poly type /// internal PolyType PolyTyp; /// /// Side only refers to current side of solution poly /// internal EdgeSide Side; /// /// 1 or -1 depending on winding direction /// internal int WindDelta; /// /// The winding count /// internal int WindCnt; /// /// The winding count of the opposite polytype /// internal int WindCnt2; /// /// The out index /// internal int OutIdx; /// /// The next /// internal TEdge Next; /// /// The previous /// internal TEdge Prev; /// /// The next in LML /// internal TEdge NextInLML; /// /// The next in ael /// internal TEdge NextInAEL; /// /// The previous in ael /// internal TEdge PrevInAEL; /// /// The next in sel /// internal TEdge NextInSEL; /// /// The previous in sel /// internal TEdge PrevInSEL; #pragma warning restore SA1401 // Field must be } }