Пример #1
0
        public override void Keyboard(KeyboardManager keyboardManager)
        {
            // Add Circles
            if (keyboardManager.IsNewKeyPress(Keys.Q))
            {
                AddCircle(3, 8);
            }

            // Add Circles
            if (keyboardManager.IsNewKeyPress(Keys.W))
            {
                AddCircle(4, 16);
            }

            // Add Circles
            if (keyboardManager.IsNewKeyPress(Keys.E))
            {
                AddCircle(5, 32);
            }

            // Add Rectangle
            if (keyboardManager.IsNewKeyPress(Keys.A))
            {
                AddRectangle(4, 8);
            }

            // Add Rectangle
            if (keyboardManager.IsNewKeyPress(Keys.S))
            {
                AddRectangle(5, 2);
            }

            // Add Rectangle
            if (keyboardManager.IsNewKeyPress(Keys.D))
            {
                AddRectangle(2, 5);
            }

            // Perform a Union
            if (keyboardManager.IsNewKeyPress(Keys.Space))
            {
                if (_subject != null && _clip != null)
                {
                    DoBooleanOperation(YuPengClipper.Union(_subject, _clip, out _err));
                }
            }

            // Perform a Subtraction
            if (keyboardManager.IsNewKeyPress(Keys.Back))
            {
                if (_subject != null && _clip != null)
                {
                    DoBooleanOperation(YuPengClipper.Difference(_subject, _clip, out _err));
                }
            }

            // Perform a Intersection
            if (keyboardManager.IsNewKeyPress(Keys.LeftShift))
            {
                if (_subject != null && _clip != null)
                {
                    DoBooleanOperation(YuPengClipper.Intersect(_subject, _clip, out _err));
                }
            }

            // Select Subject
            if (keyboardManager.IsNewKeyPress(Keys.D1))
            {
                if (_selected != null)
                {
                    if (_clip == _selected)
                    {
                        _clip = null;
                    }

                    _subject = _selected;
                }
            }

            // Select Clip
            if (keyboardManager.IsNewKeyPress(Keys.D2))
            {
                if (_selected != null)
                {
                    if (_subject == _selected)
                    {
                        _subject = null;
                    }

                    _clip = _selected;
                }
            }
        }
Пример #2
0
        protected override void OnKeyDown(KeyEventArgs e)
        {
            // Add Circles
            if (e.KeyCode == Keys.Q)
            {
                AddCircle(3, 8);
            }

            // Add Circles
            if (e.KeyCode == Keys.W)
            {
                AddCircle(4, 16);
            }

            // Add Circles
            if (e.KeyCode == Keys.E)
            {
                AddCircle(5, 32);
            }

            // Add Rectangle
            if (e.KeyCode == Keys.A)
            {
                AddRectangle(4, 8);
            }

            // Add Rectangle
            if (e.KeyCode == Keys.S)
            {
                AddRectangle(5, 2);
            }

            // Add Rectangle
            if (e.KeyCode == Keys.D)
            {
                AddRectangle(2, 5);
            }

            // Perform a Union
            if (e.KeyCode == Keys.Space)
            {
                if (_subject != null && _clip != null)
                {
                    PolyClipError _err;
                    DoBooleanOperation(YuPengClipper.Union(_subject, _clip, out _err));
                }
            }

            // Perform a Subtraction
            if (e.KeyCode == Keys.Back)
            {
                if (_subject != null && _clip != null)
                {
                    PolyClipError _err;
                    DoBooleanOperation(YuPengClipper.Difference(_subject, _clip, out _err));
                }
            }

            // Perform a Intersection
            if (e.KeyCode == Keys.LeftShift)
            {
                if (_subject != null && _clip != null)
                {
                    PolyClipError _err;
                    DoBooleanOperation(YuPengClipper.Intersect(_subject, _clip, out _err));
                }
            }

            // Select Subject
            if (e.KeyCode == Keys.D1)
            {
                if (_selected != null)
                {
                    if (_clip == _selected)
                    {
                        _clip = null;
                    }

                    _subject = _selected;
                }
            }

            // Select Clip
            if (e.KeyCode == Keys.D2)
            {
                if (_selected != null)
                {
                    if (_subject == _selected)
                    {
                        _subject = null;
                    }

                    _clip = _selected;
                }
            }
        }