Example #1
0
        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);
        }
Example #2
0
            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);
 }
Example #4
0
        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];
                    }
                }
            }
        }
Example #5
0
        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);
        }
Example #6
0
        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;
            }
        }
Example #7
0
        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;
                }
            }
        }
Example #8
0
        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);
 }
Example #10
0
 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);
 }
Example #13
0
        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);
        }
Example #14
0
        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;
            }
        }
Example #15
0
 private void FirstRotationPoint_MouseMove(object sender, GetPointMouseEventArgs e)
 {
     m_circle = new Circle(e.Viewport.ConstructionPlane(), m_base_point, e.Point.DistanceTo(m_base_point));
 }
Example #16
0
 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);
 }