Struct OrthogonalEnumerator
A custom enumerator used to iterate over all positions on the on a line using the Orthogonal line algorithm efficiently.
Generally, you should use GetOrthogonalLine(Point, Point) to get an instance of this, rather than creating one yourself.
Inherited Members
Namespace: SadRogue.Primitives
Assembly: TheSadRogue.Primitives.dll
Syntax
public struct OrthogonalEnumerator : IEnumerator<Point>, IEnumerator, IDisposable, IEnumerable<Point>, IEnumerable
Remarks
This type is a struct, and as such is much more efficient when used in a foreach loop than a function returning IEnumerable<Point> by using "yield return". This type does implement IEnumerable<T>, so you can pass it to functions which require one (for example, System.LINQ). However, this will have reduced performance due to boxing of the iterator.
Constructors
View SourceOrthogonalEnumerator(Point, Point)
Creates an enumerator which iterates over all positions on the line.
Declaration
public OrthogonalEnumerator(Point start, Point end)
Parameters
| Type | Name | Description |
|---|---|---|
| Point | start | Starting point for the line. |
| Point | end | Ending point for the line. |
Properties
View SourceCurrent
The current value for enumeration.
Declaration
public Point Current { get; }
Property Value
| Type | Description |
|---|---|
| Point |
Methods
View SourceGetEnumerator()
Returns this enumerator.
Declaration
public OrthogonalEnumerator GetEnumerator()
Returns
| Type | Description |
|---|---|
| OrthogonalEnumerator | This enumerator. |
MoveNext()
Advances the iterator to the next position.
Declaration
public bool MoveNext()
Returns
| Type | Description |
|---|---|
| bool | True if the a new position on the line exists; false otherwise. |
ToEnumerable()
Obsolete.
Declaration
[Obsolete("This method is obsolete; this structure itself implements IEnumerable directly and provides equivalent behavior, so you should no longer call this function.")]
public IEnumerable<Point> ToEnumerable()
Returns
| Type | Description |
|---|---|
| IEnumerable<Point> |