/// <since>5.0</since> public bool PickGumball(Rhino.Input.Custom.PickContext pickContext, Rhino.Input.Custom.GetPoint getPoint) { IntPtr pThis = NonConstPointer(); IntPtr pConstPickContext = pickContext.ConstPointer(); IntPtr pGetPoint = IntPtr.Zero; if (getPoint != null) { getPoint.NonConstPointer(); } return(UnsafeNativeMethods.CRhinoGumballDisplayConduit_PickGumball(pThis, pConstPickContext, pGetPoint)); }
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); }
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); }