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; } }
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(); } }
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; } }
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>(); }
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>(); }