protected void SetVisibleSidesAndAxes(OpenSides openSides) { int openSide1; int openSide2; int visibleXAxis; int visibleYAxis; int visibleZAxis; switch (openSides) { case OpenSides.MinusXMinusY: openSide1 = (int)GraphSides.MinusX; openSide2 = (int)GraphSides.MinusY; visibleXAxis = (int)XAxisType.MinusY; visibleYAxis = (int)YAxisType.MinusX; visibleZAxis = (int)ZAxisType.MinusXPlusY; break; case OpenSides.MinusXPlusY: openSide1 = (int)GraphSides.MinusX; openSide2 = (int)GraphSides.PlusY; visibleXAxis = (int)XAxisType.PlusY; visibleYAxis = (int)YAxisType.MinusX; visibleZAxis = (int)ZAxisType.PlusXPlusY; break; case OpenSides.PlusXMinusY: openSide1 = (int)GraphSides.PlusX; openSide2 = (int)GraphSides.MinusY; visibleXAxis = (int)XAxisType.MinusY; visibleYAxis = (int)YAxisType.PlusX; visibleZAxis = (int)ZAxisType.MinusXMinusY; break; case OpenSides.PlusXPlusY: openSide1 = (int)GraphSides.PlusX; openSide2 = (int)GraphSides.PlusY; visibleXAxis = (int)XAxisType.PlusY; visibleYAxis = (int)YAxisType.PlusX; visibleZAxis = (int)ZAxisType.PlusXMinusY; break; default: openSide1 = (int)GraphSides.MinusX; openSide2 = (int)GraphSides.MinusY; visibleXAxis = (int)XAxisType.MinusY; visibleYAxis = (int)YAxisType.MinusX; visibleZAxis = (int)ZAxisType.PlusXMinusY; break; } foreach (XAxis3D axis in xAxes) { axis.LabelsVisible = false; axis.TicksVisible = false; } foreach (YAxis3D axis in yAxes) { axis.LabelsVisible = false; axis.TicksVisible = false; } foreach (ZAxis3D axis in zAxes) { axis.LabelsVisible = false; axis.TicksVisible = false; } xAxes[visibleXAxis].LabelsVisible = true; xAxes[visibleXAxis].TicksVisible = true; yAxes[visibleYAxis].LabelsVisible = true; yAxes[visibleYAxis].TicksVisible = true; zAxes[visibleZAxis].LabelsVisible = true; zAxes[visibleZAxis].TicksVisible = true; foreach (LinesModel3D side in sides) { side.IsVisible = true; } sides[openSide1].IsVisible = false; sides[openSide2].IsVisible = false; PlusZ.IsVisible = false; }