示例#1
0
        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]);
        }