private void HandlerViewer3DArrowUpPressed(object sender, EventArgs e) { if (currentSliceIndex == 0) { return; } double previousZ = face.HorizontalBezierCurveList[currentSliceIndex].SplineList[0].ControlPointList[0].CoordinateList[2]; currentSliceIndex--; double currentZ = face.HorizontalBezierCurveList[currentSliceIndex].SplineList[0].ControlPointList[0].CoordinateList[2]; slice.Move(0, 0, currentZ - previousZ); // Translate(0, 0, currentZ - previousZ); viewer3D.Invalidate(); currentSliceLabel.Text = "Current slice: " + currentSliceIndex.ToString() + " of " + (face.HorizontalBezierCurveList.Count - 1).ToString(); zLabel.Text = "z = " + face.HorizontalBezierCurveList[currentSliceIndex].SplineList[0].ControlPointList[0].CoordinateList[2].ToString("0.0000"); insertSliceButton.Enabled = true; moveDownButton.Enabled = true; if (currentSliceIndex == 0) { moveUpButton.Enabled = false; removeSliceButton.Enabled = false; } else { if (face.HorizontalBezierCurveList.Count >= 4) { removeSliceButton.Enabled = true; } } bezierCurveViewer.SetBezierCurve(face.HorizontalBezierCurveList[currentSliceIndex]); }