/// <summary> /// Di /// </summary> public void RotateBottomCCW(bool raiseEvents = true) { if (raiseEvents) { raiseBeforeBottomCCWRotation(); } var tempRow = front.GetRow(2); front.SetRow(2, right.GetRow(2)); right.SetRow(2, back.GetRow(2)); back.SetRow(2, left.GetRow(2)); left.SetRow(2, tempRow); bottom.RotateCCW(); if (raiseEvents) { raiseAfterBottomCCWRotation(); } }
/// <summary> /// Ri /// </summary> public void RotateRightCCW(bool raiseEvents = true) { if (raiseEvents) { raiseBeforeRightCCWRotation(); } var tempColumn = top.GetColumn(2); top.SetColumn(2, back.GetColumn(0).Reverse().ToArray()); back.SetColumn(0, bottom.GetColumn(2).Reverse().ToArray()); bottom.SetColumn(2, front.GetColumn(2)); front.SetColumn(2, tempColumn); right.RotateCCW(); if (raiseEvents) { raiseAfterRightCCWRotation(); } }
/// <summary> /// Ui /// </summary> public void RotateTopCCW(bool raiseEvents = true) { if (raiseEvents) { raiseBeforeTopCCWRotation(); } var tempRow = front.GetRow(0); front.SetRow(0, left.GetRow(0)); left.SetRow(0, back.GetRow(0)); back.SetRow(0, right.GetRow(0)); right.SetRow(0, tempRow); top.RotateCCW(); if (raiseEvents) { raiseAfterTopCCWRotation(); } }
/// <summary> /// Bi /// </summary> public void RotateBackCCW(bool raiseEvents = true) { if (raiseEvents) { raiseBeforeBackCCWRotation(); } var tempRow = top.GetRow(0); top.SetRow(0, left.GetColumn(0).Reverse().ToArray()); left.SetColumn(0, bottom.GetRow(2)); bottom.SetRow(2, right.GetColumn(2).Reverse().ToArray()); right.SetColumn(2, tempRow); back.RotateCCW(); if (raiseEvents) { raiseAfterBackCCWRotation(); } }