protected override void OnMouseMove(GetPointMouseEventArgs e) { if (m_base_origin.IsValid && m_base_point.IsValid) { Line world_line; if (e.Viewport.GetFrustumLine(e.WindowPoint.X, e.WindowPoint.Y, out world_line)) { var dir = e.Point - m_base_point; var len = dir.Length; if (m_base_origin.DistanceTo(e.Point) < m_base_origin.DistanceTo(m_base_point)) { len = -len; } if (m_radius_dc.PickResult.Mode != GumballMode.None) { // update radius gumball m_radius_dc.UpdateGumball(e.Point, world_line); // update cylinder m_cylinder.Radius = m_cylinder.BaseRadius + len; } else if (m_height_dc.PickResult.Mode != GumballMode.None) { // update hight gumball m_height_dc.UpdateGumball(e.Point, world_line); // update cylinder m_cylinder.Height = m_cylinder.BaseHeight + len; } } } base.OnMouseMove(e); }
protected override void OnMouseDown(GetPointMouseEventArgs e) { base.OnMouseDown(e); var picker = new PickContext(); picker.View = e.Viewport.ParentView; picker.PickStyle = PickStyle.PointPick; var xform = e.Viewport.GetPickTransform(e.WindowPoint); picker.SetPickTransform(xform); foreach (var cp in m_conduit_points) { double depth; double distance; if (picker.PickFrustumTest(cp.Point, out depth, out distance)) { cp.Color = System.Drawing.Color.Red; } else { cp.Color = System.Drawing.Color.White; } } }
/// <summary> /// GetPoint.OnMouseMove override /// </summary> protected override void OnMouseMove(GetPointMouseEventArgs e) { if (m_draw_arrow && m_show_distance && m_draw_arrow_point.IsValid) { Rhino.UI.StatusBar.SetDistancePane(m_draw_arrow_point.DistanceTo(e.Point)); } base.OnMouseMove(e); }
protected override void OnMouseDown(GetPointMouseEventArgs e) { //control 키 누른채로 입력시 감소 int direction = 1; if (e.ControlKeyDown) { direction = -1; } var picker = new PickContext(); picker.View = e.Viewport.ParentView; picker.PickStyle = PickStyle.PointPick; var xform = e.Viewport.GetPickTransform(e.WindowPoint); picker.SetPickTransform(xform); for (int i = 0; i < tempLines.Count; i++) { double depth; double distance; double t; //shift 키 누른채로 입력 시 모든 선에 적용 if (e.ShiftKeyDown) { int index = this.roadWidth.ToList().IndexOf(tempLines[i].RoadWidth); int index_Next = (index + direction + roadWidth.Count()) % roadWidth.Count(); tempLines[i].RoadWidth = this.roadWidth[index_Next]; tempLines[i].Color = CommonFunc.colorSetting.GetColorFromValue(this.roadWidth[index_Next]); TuringAndCorbusierPlugIn.InstanceClass.plot.Surroundings[tempLines.IndexOf(tempLines[i])] = roadWidth[index_Next]; } else { //가까운 선에만 적용 if (picker.PickFrustumTest(tempLines[i].line, out t, out depth, out distance)) { int index = this.roadWidth.ToList().IndexOf(tempLines[i].RoadWidth); int index_Next = (index + direction + roadWidth.Count()) % roadWidth.Count(); tempLines[i].RoadWidth = this.roadWidth[index_Next]; tempLines[i].Color = CommonFunc.colorSetting.GetColorFromValue(this.roadWidth[index_Next]); TuringAndCorbusierPlugIn.InstanceClass.plot.Surroundings[tempLines.IndexOf(tempLines[i])] = roadWidth[index_Next]; } } } }
protected override void OnMouseDown(GetPointMouseEventArgs e) { base.OnMouseDown(e); var picker = new PickContext(); picker.View = e.Viewport.ParentView; picker.PickStyle = PickStyle.PointPick; var xform = e.Viewport.GetPickTransform(e.WindowPoint); picker.SetPickTransform(xform); }
protected override void OnMouseDown(GetPointMouseEventArgs e) { if (m_radius_dc.PickResult.Mode != GumballMode.None || m_height_dc.PickResult.Mode != GumballMode.None) { return; } m_base_origin = Point3d.Unset; m_base_point = Point3d.Unset; m_radius_dc.PickResult.SetToDefault(); m_height_dc.PickResult.SetToDefault(); var pick_context = new PickContext { View = e.Viewport.ParentView, PickStyle = PickStyle.PointPick }; var xform = e.Viewport.GetPickTransform(e.WindowPoint); pick_context.SetPickTransform(xform); Line pick_line; e.Viewport.GetFrustumLine(e.WindowPoint.X, e.WindowPoint.Y, out pick_line); pick_context.PickLine = pick_line; pick_context.UpdateClippingPlanes(); // try picking one of the gumballs if (m_radius_dc.PickGumball(pick_context, this)) { m_base_origin = m_cylinder.RadiusPlane.Origin; m_base_point = e.Point; } else if (m_height_dc.PickGumball(pick_context, this)) { m_base_origin = m_cylinder.HeightPlane.Origin; m_base_point = e.Point; } }
protected override void OnMouseDown(GetPointMouseEventArgs e) { base.OnMouseDown(e); var picker = new PickContext { View = e.Viewport.ParentView, PickStyle = PickStyle.PointPick }; var xform = e.Viewport.GetPickTransform(e.WindowPoint); picker.SetPickTransform(xform); foreach (var edgeLine in m_conduit_edges.Zip(m_conduit_lines, (edge, line) => new { edge, line })) { if (picker.PickFrustumTest(edgeLine.line, out double t, out double depth, out double distance)) { edgeLine.edge.Picked = !edgeLine.edge.Picked; } } }
protected override void OnMouseDown(GetPointMouseEventArgs e) { base.OnMouseDown(e); var picker = new PickContext { View = e.Viewport.ParentView, PickStyle = PickStyle.PointPick }; var xform = e.Viewport.GetPickTransform(e.WindowPoint); picker.SetPickTransform(xform); foreach (var vrt in m_conduit_vertices) { if (picker.PickFrustumTest(vrt.Point, out double depth, out double distance)) { vrt.Picked = !vrt.Picked; } } }
protected override void OnMouseMove(GetPointMouseEventArgs e) { ClosestPoint = CalculateClosestPoint(e.Point); base.OnMouseMove(e); }
protected override void OnMouseMove(GetPointMouseEventArgs e) { CanDraw = CalculateCircle(e.Point); base.OnMouseMove(e); }
/// <summary> /// MouseMove event handler /// </summary> void OnMouseMove(object sender, GetPointMouseEventArgs e) { m_draw = CalculateTransform(e.Viewport, e.Point, ref m_xform); }
/// <summary> /// OnMouseMove override /// </summary> protected override void OnMouseMove(GetPointMouseEventArgs e) { m_draw = CalculateTransform(e.Viewport, e.Point, ref m_xform); }
protected override void OnMouseMove(GetPointMouseEventArgs e) { if (m_base_origin.IsValid && m_base_point.IsValid) { Line world_line; if (e.Viewport.GetFrustumLine(e.WindowPoint.X, e.WindowPoint.Y, out world_line)) { var dir = e.Point - m_base_point; var len = dir.Length; if (m_base_origin.DistanceTo(e.Point) < m_base_origin.DistanceTo(m_base_point)) { len = -len; } if (x_height_plus_dc.PickResult.Mode != GumballMode.None) { // update height_plus gumball x_height_plus_dc.UpdateGumball(e.Point, world_line); // update Box Point3d[] NewCornerPoints = new Point3d[8]; var xvec = m_Box.Xvector; xvec.Unitize(); xvec *= len; NewCornerPoints[0] = m_Box.BaseCornerPoints[0]; NewCornerPoints[1] = m_Box.BaseCornerPoints[1] + xvec; NewCornerPoints[2] = m_Box.BaseCornerPoints[2] + xvec; NewCornerPoints[3] = m_Box.BaseCornerPoints[3]; NewCornerPoints[4] = m_Box.BaseCornerPoints[4]; NewCornerPoints[5] = m_Box.BaseCornerPoints[5] + xvec; NewCornerPoints[6] = m_Box.BaseCornerPoints[6] + xvec; NewCornerPoints[7] = m_Box.BaseCornerPoints[7]; m_Box.CornerPoints = NewCornerPoints; m_clipping_plane.Enabled = false; m_clipping_plane = new DrawClippingPlanesConduit(m_Box); m_clipping_plane.Enabled = true; m_doc.Views.Redraw(); } else if (x_height_minus_dc.PickResult.Mode != GumballMode.None) { // update height_plus gumball x_height_minus_dc.UpdateGumball(e.Point, world_line); // update Box Point3d[] NewCornerPoints = new Point3d[8]; var reverseXvec = m_Box.Xvector * (-1); reverseXvec.Unitize(); reverseXvec *= len; NewCornerPoints[0] = m_Box.BaseCornerPoints[0] + reverseXvec; NewCornerPoints[1] = m_Box.BaseCornerPoints[1]; NewCornerPoints[2] = m_Box.BaseCornerPoints[2]; NewCornerPoints[3] = m_Box.BaseCornerPoints[3] + reverseXvec; NewCornerPoints[4] = m_Box.BaseCornerPoints[4] + reverseXvec; NewCornerPoints[5] = m_Box.BaseCornerPoints[5]; NewCornerPoints[6] = m_Box.BaseCornerPoints[6]; NewCornerPoints[7] = m_Box.BaseCornerPoints[7] + reverseXvec; m_Box.CornerPoints = NewCornerPoints; m_clipping_plane.Enabled = false; m_clipping_plane = new DrawClippingPlanesConduit(m_Box); m_clipping_plane.Enabled = true; m_doc.Views.Redraw(); } else if (y_height_plus_dc.PickResult.Mode != GumballMode.None) { // update height_plus gumball y_height_plus_dc.UpdateGumball(e.Point, world_line); // update Box Point3d[] NewCornerPoints = new Point3d[8]; var yvec = m_Box.Yvector; yvec.Unitize(); yvec *= len; NewCornerPoints[0] = m_Box.BaseCornerPoints[0]; NewCornerPoints[1] = m_Box.BaseCornerPoints[1]; NewCornerPoints[2] = m_Box.BaseCornerPoints[2] + yvec; NewCornerPoints[3] = m_Box.BaseCornerPoints[3] + yvec; NewCornerPoints[4] = m_Box.BaseCornerPoints[4]; NewCornerPoints[5] = m_Box.BaseCornerPoints[5]; NewCornerPoints[6] = m_Box.BaseCornerPoints[6] + yvec; NewCornerPoints[7] = m_Box.BaseCornerPoints[7] + yvec; m_Box.CornerPoints = NewCornerPoints; m_clipping_plane.Enabled = false; m_clipping_plane = new DrawClippingPlanesConduit(m_Box); m_clipping_plane.Enabled = true; m_doc.Views.Redraw(); } else if (y_height_minus_dc.PickResult.Mode != GumballMode.None) { // update height_plus gumball y_height_minus_dc.UpdateGumball(e.Point, world_line); // update Box Point3d[] NewCornerPoints = new Point3d[8]; var reverseYvec = m_Box.Yvector * (-1); reverseYvec.Unitize(); reverseYvec *= len; NewCornerPoints[0] = m_Box.BaseCornerPoints[0] + reverseYvec; NewCornerPoints[1] = m_Box.BaseCornerPoints[1] + reverseYvec; NewCornerPoints[2] = m_Box.BaseCornerPoints[2]; NewCornerPoints[3] = m_Box.BaseCornerPoints[3]; NewCornerPoints[4] = m_Box.BaseCornerPoints[4] + reverseYvec; NewCornerPoints[5] = m_Box.BaseCornerPoints[5] + reverseYvec; NewCornerPoints[6] = m_Box.BaseCornerPoints[6]; NewCornerPoints[7] = m_Box.BaseCornerPoints[7]; m_Box.CornerPoints = NewCornerPoints; m_clipping_plane.Enabled = false; m_clipping_plane = new DrawClippingPlanesConduit(m_Box); m_clipping_plane.Enabled = true; m_doc.Views.Redraw(); } else if (z_height_plus_dc.PickResult.Mode != GumballMode.None) { // update height_plus gumball z_height_plus_dc.UpdateGumball(e.Point, world_line); // update Box Point3d[] NewCornerPoints = new Point3d[8]; var zvec = m_Box.Zvector; zvec.Unitize(); zvec *= len; NewCornerPoints[0] = m_Box.BaseCornerPoints[0]; NewCornerPoints[1] = m_Box.BaseCornerPoints[1]; NewCornerPoints[2] = m_Box.BaseCornerPoints[2]; NewCornerPoints[3] = m_Box.BaseCornerPoints[3]; NewCornerPoints[4] = m_Box.BaseCornerPoints[4] + zvec; NewCornerPoints[5] = m_Box.BaseCornerPoints[5] + zvec; NewCornerPoints[6] = m_Box.BaseCornerPoints[6] + zvec; NewCornerPoints[7] = m_Box.BaseCornerPoints[7] + zvec; m_Box.CornerPoints = NewCornerPoints; m_clipping_plane.Enabled = false; m_clipping_plane = new DrawClippingPlanesConduit(m_Box); m_clipping_plane.Enabled = true; m_doc.Views.Redraw(); } else if (z_height_minus_dc.PickResult.Mode != GumballMode.None) { // update height_plus gumball z_height_minus_dc.UpdateGumball(e.Point, world_line); // update Box Point3d[] NewCornerPoints = new Point3d[8]; var reverseZvec = m_Box.Zvector * (-1); reverseZvec.Unitize(); reverseZvec *= len; NewCornerPoints[0] = m_Box.BaseCornerPoints[0] + reverseZvec; NewCornerPoints[1] = m_Box.BaseCornerPoints[1] + reverseZvec; NewCornerPoints[2] = m_Box.BaseCornerPoints[2] + reverseZvec; NewCornerPoints[3] = m_Box.BaseCornerPoints[3] + reverseZvec; NewCornerPoints[4] = m_Box.BaseCornerPoints[4]; NewCornerPoints[5] = m_Box.BaseCornerPoints[5]; NewCornerPoints[6] = m_Box.BaseCornerPoints[6]; NewCornerPoints[7] = m_Box.BaseCornerPoints[7]; m_Box.CornerPoints = NewCornerPoints; m_clipping_plane.Enabled = false; m_clipping_plane = new DrawClippingPlanesConduit(m_Box); m_clipping_plane.Enabled = true; m_doc.Views.Redraw(); } } } base.OnMouseMove(e); }
protected override void OnMouseDown(GetPointMouseEventArgs e) { if (x_height_plus_dc.PickResult.Mode != GumballMode.None || x_height_minus_dc.PickResult.Mode != GumballMode.None || y_height_plus_dc.PickResult.Mode != GumballMode.None || y_height_minus_dc.PickResult.Mode != GumballMode.None || z_height_plus_dc.PickResult.Mode != GumballMode.None || z_height_minus_dc.PickResult.Mode != GumballMode.None) { return; } m_base_origin = Point3d.Unset; m_base_point = Point3d.Unset; x_height_plus_dc.PickResult.SetToDefault(); x_height_minus_dc.PickResult.SetToDefault(); y_height_plus_dc.PickResult.SetToDefault(); y_height_minus_dc.PickResult.SetToDefault(); z_height_plus_dc.PickResult.SetToDefault(); z_height_minus_dc.PickResult.SetToDefault(); var pick_context = new PickContext { View = e.Viewport.ParentView, PickStyle = PickStyle.PointPick }; var xform = e.Viewport.GetPickTransform(e.WindowPoint); pick_context.SetPickTransform(xform); Line pick_line; e.Viewport.GetFrustumLine(e.WindowPoint.X, e.WindowPoint.Y, out pick_line); pick_context.PickLine = pick_line; // try picking one of the gumballs if (x_height_plus_dc.PickGumball(pick_context, this)) { m_base_origin = m_Box.X_plus_plane.ClosestPoint(m_Box.Center); m_base_point = e.Point; } else if (x_height_minus_dc.PickGumball(pick_context, this)) { m_base_origin = m_Box.X_minus_plane.ClosestPoint(m_Box.Center); m_base_point = e.Point; } else if (y_height_plus_dc.PickGumball(pick_context, this)) { m_base_origin = m_Box.Y_plus_plane.ClosestPoint(m_Box.Center); m_base_point = e.Point; } else if (y_height_minus_dc.PickGumball(pick_context, this)) { m_base_origin = m_Box.Y_minus_plane.ClosestPoint(m_Box.Center); m_base_point = e.Point; } else if (z_height_plus_dc.PickGumball(pick_context, this)) { m_base_origin = m_Box.Z_plus_plane.ClosestPoint(m_Box.Center); m_base_point = e.Point; } else if (z_height_minus_dc.PickGumball(pick_context, this)) { m_base_origin = m_Box.Z_minus_plane.ClosestPoint(m_Box.Center); m_base_point = e.Point; } }
private void FirstRotationPoint_MouseMove(object sender, GetPointMouseEventArgs e) { m_circle = new Circle(e.Viewport.ConstructionPlane(), m_base_point, e.Point.DistanceTo(m_base_point)); }
protected override void OnMouseMove(GetPointMouseEventArgs e) { m_circle = new Circle(e.Viewport.ConstructionPlane(), m_base_point, e.Point.DistanceTo(m_base_point)); base.OnMouseMove(e); }