public void AddControls(ControlTypes controls)
        {
            if (controls.HasFlag(ControlTypes.RotateXYZ))
            {
                Object3DControls.Add(new RotateCornerControl(this, 0));
                Object3DControls.Add(new RotateCornerControl(this, 1));
                Object3DControls.Add(new RotateCornerControl(this, 2));
            }

            if (controls.HasFlag(ControlTypes.RotateZ))
            {
                Object3DControls.Add(new RotateCornerControl(this, 2));
            }

            if (controls.HasFlag(ControlTypes.MoveInZ))
            {
                Object3DControls.Add(new MoveInZControl(this));
            }

            if (controls.HasFlag(ControlTypes.ScaleHeight))
            {
                Object3DControls.Add(new ScaleHeightControl(this));
            }

            if (controls.HasFlag(ControlTypes.ScaleMatrixXY))
            {
                Object3DControls.Add(new ScaleMatrixCornerControl(this, 0));
                Object3DControls.Add(new ScaleMatrixCornerControl(this, 1));
                Object3DControls.Add(new ScaleMatrixCornerControl(this, 2));
                Object3DControls.Add(new ScaleMatrixCornerControl(this, 3));

                Object3DControls.Add(new ScaleMatrixEdgeControl(this, 0));
                Object3DControls.Add(new ScaleMatrixEdgeControl(this, 1));
                Object3DControls.Add(new ScaleMatrixEdgeControl(this, 2));
                Object3DControls.Add(new ScaleMatrixEdgeControl(this, 3));
            }

            if (controls.HasFlag(ControlTypes.Shadow))
            {
                Object3DControls.Add(new SelectionShadow(this));
            }

            if (controls.HasFlag(ControlTypes.SnappingIndicators))
            {
                Object3DControls.Add(new SnappingIndicators(this));
            }
        }
        public void AddControls(ControlTypes controls)
        {
            if (controls.HasFlag(ControlTypes.RotateXYZ))
            {
                for (int i = 0; i < 3; i++)
                {
                    Object3DControls.Add(new RotateCornerControl(this, i));
                }
            }

            if (controls.HasFlag(ControlTypes.RotateZ))
            {
                Object3DControls.Add(new RotateCornerControl(this, 2));
            }

            if (controls.HasFlag(ControlTypes.MoveInZ))
            {
                Object3DControls.Add(new MoveInZControl(this));
            }

            if (controls.HasFlag(ControlTypes.ScaleMatrixXY))
            {
                for (int i = 0; i < 4; i++)
                {
                    Object3DControls.Add(new ScaleMatrixCornerControl(this, i));
                    Object3DControls.Add(new ScaleMatrixEdgeControl(this, i));
                }
            }

            if (controls.HasFlag(ControlTypes.Shadow))
            {
                Object3DControls.Add(new SelectionShadow(this));
            }

            if (controls.HasFlag(ControlTypes.SnappingIndicators))
            {
                Object3DControls.Add(new SnappingIndicators(this));
            }
        }