示例#1
0
        protected override void OnMouseDown(Rhino.Input.Custom.GetPointMouseEventArgs e)
        {
            if (m_dc.PickResult.Mode != Rhino.UI.Gumball.GumballMode.None)
            {
                return;
            }
            m_dc.PickResult.SetToDefault();

            Rhino.Input.Custom.PickContext pick_context = new Rhino.Input.Custom.PickContext();
            pick_context.View      = e.Viewport.ParentView;
            pick_context.PickStyle = Rhino.Input.Custom.PickStyle.PointPick;
            var xform = e.Viewport.GetPickTransform(e.WindowPoint);

            pick_context.SetPickTransform(xform);
            Rhino.Geometry.Line pick_line;
            e.Viewport.GetFrustumLine(e.WindowPoint.X, e.WindowPoint.Y, out pick_line);
            pick_context.PickLine = pick_line;
            pick_context.UpdateClippingPlanes();
            // pick gumball and, if hit, set getpoint dragging constraints.
            m_dc.PickGumball(pick_context, this);
        }