protected override void OnDynamicDraw(GetPointDrawEventArgs e) { IAction action = Core.Instance.Actions.CurrentAction; if (action != null) { PreviewParameters pParam; if (SelectionPoints == null) { Point3d basePt; TryGetBasePoint(out basePt); pParam = new PreviewParameters(true, null, FromRC.Convert(e.CurrentPoint), FromRC.Convert(basePt)); } else { IList <Vector> sPts = new List <Vector>(); foreach (Vector pt in SelectionPoints) { sPts.Add(pt); // Draw points: e.Display.DrawPoint(ToRC.Convert(pt), PointStyle.X, 3, System.Drawing.Color.Orange); } sPts.Add(FromRC.Convert(e.CurrentPoint)); pParam = new PreviewParameters(true, null, sPts); } DisplayLayer previewLayer = action.PreviewLayer(pParam); if (previewLayer != null) { var rParam = new RhinoRenderingParameters(e); previewLayer.Draw(rParam); } } base.OnDynamicDraw(e); }
protected override void PostDrawObjects(DrawEventArgs e) { // Initialise rendering parameters: RhinoRenderingParameters parameters = new RhinoRenderingParameters(e); // Draw everything: // SalamanderHost.Instance.OrnamentTable.DrawAll(parameters); Core.Instance.Layers.Draw(parameters); // Draw current action preview: if (Core.Instance.Actions.CurrentAction != null) { DisplayLayer previewLayer = Core.Instance.Actions.CurrentAction.PreviewLayer(new Actions.PreviewParameters()); if (previewLayer != null) { previewLayer.Draw(parameters); } } }