Beispiel #1
0
        private void MoveCircle(Point point, int dx, int dy)
        {
            switch (HoleType)
            {
            case InHoleType.CenterHole:
                MoveCenterArc(point, dx, dy);
                shape = LaserShape.Arc;
                break;

            case InHoleType.StartHole:
                MoveStartPoint(point);
                if (shape == LaserShape.Line)
                {
                    MoveToContinuousCircle();
                }
                else if (shape == LaserShape.Arc)
                {
                    //CalcAngle(point, dx, dy);
                }
                break;

            case InHoleType.EndHole:
                MoveEndPoint(point);
                if (shape == LaserShape.Line)
                {
                    MoveToContinuousCircle();
                }
                else if (shape == LaserShape.Arc)
                {
                    //CalcAngle(point, dx, dy);
                }
                break;
            }
        }
Beispiel #2
0
 public void OnMouseMove(MouseEventArgs e, Point point, int dx, int dy)
 {
     if (IsMouseUp)
     {
         if (!CenterPoint.IsEmpty)
         {
             RectangleF rect = new RectangleF(new PointF(CenterPoint.X - 50, CenterPoint.Y - 50), new Size(100, 100));
             centerHole = rect.Contains(point);
             if (centerHole)
             {
                 HoleType = InHoleType.CenterHole;
             }
         }
         if (!StartPoint.IsEmpty)
         {
             RectangleF rect = new RectangleF(new PointF(StartPoint.X - 50, StartPoint.Y - 50), new Size(100, 100));
             startHole = rect.Contains(point);
             if (startHole)
             {
                 HoleType = InHoleType.StartHole;
             }
         }
         if (!EndPoint.IsEmpty)
         {
             RectangleF rect = new RectangleF(new PointF(EndPoint.X - 50, EndPoint.Y - 50), new Size(100, 100));
             endHole = rect.Contains(point);
             if (endHole)
             {
                 HoleType = InHoleType.EndHole;
             }
         }
         InTheHole = startHole || centerHole || endHole;
         if (HoleType != InHoleType.Empty && InTheHole && (e.Button == MouseButtons.Left))
         {
             MoveCircle(point, dx, dy);
         }
     }
     else
     {
         shape    = LaserShape.Line;
         EndPoint = point;
         MoveToContinuousCircle();
     }
 }
Beispiel #3
0
        private void MoveCircle(Point point, int dx, int dy)
        {
            switch (HoleType)
            {
            //移动中间点
            case InHoleType.CenterHole:
                MoveCenterArc(point, dx, dy);
                shape = LaserShape.Arc;
                break;

            //移动起点
            case InHoleType.StartHole:
                if (shape == LaserShape.Line)
                {
                    MoveStartPoint(point);
                    MoveToContinuousCircle();
                    shape = LaserShape.Line;
                }
                //else if (shape == LaserShape.Arc)
                //{
                //    MoveStartEndArcPoint(point);
                //    shape = LaserShape.Arc;
                //}
                break;

            //移动终点
            case InHoleType.EndHole:
                if (shape == LaserShape.Line)
                {
                    MoveEndPoint(point);
                    MoveToContinuousCircle();
                    shape = LaserShape.Line;
                }
                //else if (shape == LaserShape.Arc)
                //{
                //    MoveStartEndArcPoint(point);
                //    shape = LaserShape.Arc;
                //}
                break;
            }
        }
Beispiel #4
0
        public ActiveCircle(RichPictureBox richPictureBox, ActiveLaser laser)
        {
            HoleType   = InHoleType.CenterHole;
            this.laser = laser;
            shape      = LaserShape.Line;
            HolesInfo  = new HolesInfo();
            HolesInfo.HolesInfoChangeHandler += Program.EntryForm.HolesInfoChangeHandler;
            IsMouseUp           = false;
            InTheHole           = false;
            this.richPictureBox = richPictureBox;

            circleData = new CircleData();
            InitializeGraphicsProperties();
            float pulseSize = Program.SysConfig.LaserConfig.PulseSize;

            outterCircleSize = new SizeF(pulseSize + Program.SysConfig.GraphicsPropertiesManager.GetPropertiesByName("Circle").ExclusionSize,
                                         pulseSize + Program.SysConfig.GraphicsPropertiesManager.GetPropertiesByName("Circle").ExclusionSize);
            innerCircleSize = new SizeF(pulseSize, pulseSize);
            crossSize       = new Size(38, 38);
            clickCount      = 0;

            innerCircles  = new List <Circle>();
            outterCircles = new List <Circle>();
        }
Beispiel #5
0
        public ActiveCircle(ZWPictureBox pictureBox, ActiveLaser laser)
        {
            HoleType   = InHoleType.CenterHole;
            this.laser = laser;
            shape      = LaserShape.Line;
            HolesInfo  = new HolesInfo();
            HolesInfo.HolesInfoChangeHandler += pictureBox.HolesInfoChangeHandler;
            IsMouseUp       = false;
            InTheHole       = false;
            this.pictureBox = pictureBox;

            circleData = new CircleData();
            InitializeGraphicsProperties();
            float pulseSize = SysConfig.GetSysConfig().LaserConfig.PulseSize;

            OutterCircleSize = new SizeF(pulseSize + SysConfig.GetSysConfig().LaserConfig.GraphicsProperties.ExclusionSize,
                                         pulseSize + SysConfig.GetSysConfig().LaserConfig.GraphicsProperties.ExclusionSize);
            InnerCircleSize = new SizeF(pulseSize, pulseSize);
            crossSize       = new Size(38, 38);
            clickCount      = 0;

            innerCircles  = new List <Circle>();
            outterCircles = new List <Circle>();
        }