Struct DDAEnumerator
A custom enumerator used to iterate over all positions on the on a line using the DDA line algorithm efficiently.
Generally, you should use GetDDALine(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 DDAEnumerator : 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 SourceDDAEnumerator(Point, Point)
Creates an enumerator which iterates over all positions on the line.
Declaration
public DDAEnumerator(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 DDAEnumerator GetEnumerator()
Returns
| Type | Description |
|---|---|
| DDAEnumerator | 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> |