Exemple #1
0
        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);
        }
 public override bool Draw(RenderingParameters parameters)
 {
     if (parameters is RhinoRenderingParameters && RenderCurve != null)
     {
         RhinoRenderingParameters rParams = (RhinoRenderingParameters)parameters;
         if (RenderCurve is RC.LineCurve && Dotted) //?
         {
             RC.Line line = ((RC.LineCurve)RenderCurve).Line;
             if (Dotted)
             {
                 rParams.Display.DrawDottedLine(line, Material.Diffuse);
             }
             else
             {
                 rParams.Display.DrawLine(line, Material.Diffuse);
             }
         }
         else
         {
             rParams.Display.DrawCurve(RenderCurve, Material.Diffuse, 3);
         }
         double arrS = ToRC.Convert(0.3);
         if (ArrowStart)
         {
             rParams.Display.DrawArrowHead(RenderCurve.PointAtStart - arrS * RenderCurve.TangentAtStart, -RenderCurve.TangentAtStart, Material.Diffuse, 0, arrS);
         }
         if (ArrowEnd)
         {
             rParams.Display.DrawArrowHead(RenderCurve.PointAtEnd + arrS * RenderCurve.TangentAtEnd, RenderCurve.TangentAtEnd, Material.Diffuse, 0, arrS);
         }
         return(true);
     }
     return(false);
 }
 public override bool Draw(RenderingParameters parameters)
 {
     if (parameters is RhinoRenderingParameters && _Label != null)
     {
         RhinoRenderingParameters rParams = (RhinoRenderingParameters)parameters;
         var scrPt = rParams.Display.Viewport.WorldToClient(ToRC.Convert(_Label.Position));
         scrPt.X += 2;
         scrPt.Y -= 2;
         rParams.Display.Draw2dText(_Label.Text, System.Drawing.Color.GhostWhite, scrPt, !_Label.HorizontalSetOut.IsEdge());
         return(true);
     }
     return(false);
 }
 public override bool Draw(RenderingParameters parameters)
 {
     if (parameters is RhinoRenderingParameters && _CoordinateSystem != null)
     {
         RhinoRenderingParameters rParams = (RhinoRenderingParameters)parameters;
         if (_CoordinateSystem is CartesianCoordinateSystem)
         {
             CartesianCoordinateSystem cSystem = (CartesianCoordinateSystem)_CoordinateSystem;
             rParams.Display.DrawDirectionArrow(ToRC.Convert(cSystem.Origin), ToRC.ConvertVector(cSystem.X), System.Drawing.Color.LightGray);
             rParams.Display.DrawDirectionArrow(ToRC.Convert(cSystem.Origin), ToRC.ConvertVector(cSystem.Y), System.Drawing.Color.Gray);
             rParams.Display.DrawDirectionArrow(ToRC.Convert(cSystem.Origin), ToRC.ConvertVector(cSystem.Z), System.Drawing.Color.Orange);
         }
         return(true);
     }
     return(false);
 }
        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);
                }
            }
        }
 public override bool Draw(RenderingParameters parameters)
 {
     if (parameters is RhinoRenderingParameters && RenderMesh != null)
     {
         RhinoRenderingParameters rParams = (RhinoRenderingParameters)parameters;
         if (rParams.Display.DisplayPipelineAttributes.ShadingEnabled)
         {
             rParams.Draw(RenderMesh, Material);
         }
         else
         {
             rParams.DrawWireframe(RenderMesh, Material.Diffuse);
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }