Class DiamondShapeInfo<TCell>
Provides the implementation for AbstractShapeInfo to be used with DiamondGrid.
public class DiamondShapeInfo<TCell> : AbstractShapeInfo<DiamondShapeInfo<TCell>, DiamondGrid<TCell>, DiamondPoint, DiamondPoint, DiamondOp<TCell>>, IShapeInfo<DiamondShapeInfo<TCell>, DiamondGrid<TCell>, DiamondPoint, DiamondPoint, DiamondOp<TCell>>
Type Parameters
TCell
- Inheritance
-
AbstractShapeInfo<DiamondShapeInfo<TCell>, DiamondGrid<TCell>, DiamondPoint, DiamondPoint, DiamondOp<TCell>>DiamondShapeInfo<TCell>
- Implements
-
IShapeInfo<DiamondShapeInfo<TCell>, DiamondGrid<TCell>, DiamondPoint, DiamondPoint, DiamondOp<TCell>>
- Inherited Members
- Extension Methods
Constructors
DiamondShapeInfo(ShapeStorageInfo<DiamondPoint>)
public DiamondShapeInfo(ShapeStorageInfo<DiamondPoint> info)
Parameters
info
ShapeStorageInfo<DiamondPoint>
Methods
ArrayPointFromGridPoint(DiamondPoint)
protected override ArrayPoint ArrayPointFromGridPoint(DiamondPoint point)
Parameters
point
DiamondPoint
Returns
EndGroup(DiamondOp<TCell>)
Only call this method from within a DiamondOp method (usually, in client code, this will be in an extension).
Since 1.1
public DiamondShapeInfo<TCell> EndGroup(DiamondOp<TCell> op)
Parameters
op
DiamondOp<TCell>The operator on which this shape is defined.
Returns
- DiamondShapeInfo<TCell>
GridPointFromArrayPoint(ArrayPoint)
protected override DiamondPoint GridPointFromArrayPoint(ArrayPoint point)
Parameters
point
ArrayPoint
Returns
MakeOp(ShapeStorageInfo<DiamondPoint>, Func<ShapeStorageInfo<DiamondPoint>, ShapeStorageInfo<DiamondPoint>, ShapeStorageInfo<DiamondPoint>>)
protected override DiamondOp<TCell> MakeOp(ShapeStorageInfo<DiamondPoint> shapeInfo, Func<ShapeStorageInfo<DiamondPoint>, ShapeStorageInfo<DiamondPoint>, ShapeStorageInfo<DiamondPoint>> combineInfo)
Parameters
shapeInfo
ShapeStorageInfo<DiamondPoint>combineInfo
Func<ShapeStorageInfo<DiamondPoint>, ShapeStorageInfo<DiamondPoint>, ShapeStorageInfo<DiamondPoint>>
Returns
- DiamondOp<TCell>
MakePoint(int, int)
protected override DiamondPoint MakePoint(int x, int y)
Parameters
Returns
MakeShape(int, int, Func<DiamondPoint, bool>, DiamondPoint)
protected override DiamondGrid<TCell> MakeShape(int x, int y, Func<DiamondPoint, bool> isInside, DiamondPoint offset)
Parameters
x
inty
intisInside
Func<DiamondPoint, bool>offset
DiamondPoint
Returns
- DiamondGrid<TCell>
MakeShapeInfo(ShapeStorageInfo<DiamondPoint>)
protected override DiamondShapeInfo<TCell> MakeShapeInfo(ShapeStorageInfo<DiamondPoint> shapeStorageInfo)
Parameters
shapeStorageInfo
ShapeStorageInfo<DiamondPoint>
Returns
- DiamondShapeInfo<TCell>