public static RectShapeInfo <TCell> Ring <TCell>(this RectOp <TCell> op) { return(op .BeginGroup() //If you do not use begin group and EndGroup // the shapes will behave unexpectedly when combined // with other shapes. .Rectangle(5, 5) .Translate(-1, -1) .Difference() .Rectangle(3, 3) .EndGroup(op)); }
public static RectShapeInfo <TCell> ChainMail <TCell>(this RectOp <TCell> op) { return(op .BeginGroup() .Chain() .Translate(0, 6) .Union() .Chain() .Translate(0, 6) .Union() .Chain() .Translate(0, 6) .Union() .Chain() .Translate(0, 6) .Union() .Chain() .EndGroup(op)); }
public static RectShapeInfo <TCell> Chain <TCell>(this RectOp <TCell> op) { return(op .BeginGroup() .Ring() .Translate(3, -3) .Union() .Ring() .Translate(3, +3) .Union() .Ring() .Translate(3, -3) .Union() .Ring() .Translate(3, +3) .Union() .Ring() .Translate(3, -3) .Union() .Ring() .EndGroup(op)); }