/// <summary> /// Draws a Particle through the display pipeline /// </summary> /// <param name="args">preview Display Args for IGH_PreviewObjects</param> /// <param name="file">the texture file</param> /// <param name="particleSystem">the particle system</param> public void DrawParticles(IGH_PreviewArgs args, string file, ParticleSystem particleSystem) { Bitmap bm = new Bitmap(file); Rhino.Display.DisplayBitmap dbm = new Rhino.Display.DisplayBitmap(bm); args.Display.DrawParticles(particleSystem, dbm); }
/// <summary> /// Draws Sprites through the display pipeline /// </summary> /// <param name="args">preview Display Args for IGH_PreviewObjects</param> /// <param name="file">the texture file</param> /// <param name="particleList">the list of points representing the particle positions</param> public void DrawSprites(IGH_PreviewArgs args, string file, List <Point3d> particleList) { Bitmap bm = new Bitmap(file); Rhino.Display.DisplayBitmap dbm = new Rhino.Display.DisplayBitmap(bm); Rhino.Display.DisplayBitmapDrawList ddl = new Rhino.Display.DisplayBitmapDrawList(); ddl.SetPoints(particleList, Color.FromArgb(255, 255, 255, 255)); args.Display.DrawSprites(dbm, ddl, 2.0f, new Vector3d(0, 0, 1), true); }
public static Rhino.Commands.Result SpriteDrawing(RhinoDoc doc) { var sprite_mode = new Rhino.Input.Custom.OptionToggle(m_draw_single_sprite, "SpriteList", "SingleSprite"); var size_option = new Rhino.Input.Custom.OptionDouble(m_sprite_size); var space_option = new Rhino.Input.Custom.OptionToggle(m_draw_world_location, "Screen", "World"); var go = new Rhino.Input.Custom.GetOption(); go.SetCommandPrompt("Sprite drawing mode"); go.AddOptionToggle("Mode", ref sprite_mode); go.AddOptionDouble("Size", ref size_option); go.AddOptionToggle("DrawSpace", ref space_option); int option_go = go.AddOption("Spin"); int option_file = go.AddOption("FileSprite"); Rhino.Display.DisplayPipeline.PostDrawObjects += DisplayPipeline_PostDrawObjects; Rhino.Display.DisplayPipeline.CalculateBoundingBox += DisplayPipeline_CalculateBoundingBox; doc.Views.Redraw(); while (go.Get() == Rhino.Input.GetResult.Option) { m_draw_single_sprite = sprite_mode.CurrentValue; m_sprite_size = (float)size_option.CurrentValue; m_draw_world_location = space_option.CurrentValue; if (go.OptionIndex() == option_go) { var gs = new Rhino.Input.Custom.GetOption(); gs.SetCommandPrompt("press enter/escape to end"); gs.SetWaitDuration(1); var vp = doc.Views.ActiveView.MainViewport; while (gs.Get() == Rhino.Input.GetResult.Timeout) { vp.Rotate(0.1, Vector3d.ZAxis, Point3d.Origin); doc.Views.Redraw(); } } else if (go.OptionIndex() == option_file) { var dlg = new Rhino.UI.OpenFileDialog(); if (dlg.ShowDialog()) { System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(dlg.FileName); m_sprite = new Rhino.Display.DisplayBitmap(bmp); } doc.Views.Redraw(); } else { doc.Views.Redraw(); } } Rhino.Display.DisplayPipeline.PostDrawObjects -= DisplayPipeline_PostDrawObjects; Rhino.Display.DisplayPipeline.CalculateBoundingBox -= DisplayPipeline_CalculateBoundingBox; return(Rhino.Commands.Result.Success); }
protected override Rhino.Commands.Result RunCommand(RhinoDoc doc, Rhino.Commands.RunMode mode) { var sprite_mode = new Rhino.Input.Custom.OptionToggle(m_draw_single_sprite, "SpriteList", "SingleSprite"); var size_option = new Rhino.Input.Custom.OptionDouble(m_sprite_size); var space_option = new Rhino.Input.Custom.OptionToggle(m_draw_world_location, "Screen", "World"); var go = new Rhino.Input.Custom.GetOption(); go.SetCommandPrompt("Sprite drawing mode"); go.AddOptionToggle("Mode", ref sprite_mode); go.AddOptionDouble("Size", ref size_option); go.AddOptionToggle("DrawSpace", ref space_option); int option_go = go.AddOption("Spin"); int option_file = go.AddOption("FileSprite"); Rhino.Display.DisplayPipeline.PostDrawObjects += DisplayPipeline_PostDrawObjects; Rhino.Display.DisplayPipeline.CalculateBoundingBox += DisplayPipeline_CalculateBoundingBox; doc.Views.Redraw(); while (go.Get() == Rhino.Input.GetResult.Option) { m_draw_single_sprite = sprite_mode.CurrentValue; m_sprite_size = (float)size_option.CurrentValue; m_draw_world_location = space_option.CurrentValue; if (go.OptionIndex() == option_go) { var gs = new Rhino.Input.Custom.GetOption(); gs.SetCommandPrompt("press enter/escape to end"); gs.SetWaitDuration(1); var vp = doc.Views.ActiveView.MainViewport; while (gs.Get() == Rhino.Input.GetResult.Timeout) { vp.Rotate(0.1, Vector3d.ZAxis, Point3d.Origin); doc.Views.Redraw(); } } else if (go.OptionIndex() == option_file) { System.Windows.Forms.OpenFileDialog dlg = new System.Windows.Forms.OpenFileDialog(); if (dlg.ShowDialog(RhinoApp.MainWindow()) == System.Windows.Forms.DialogResult.OK) { System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(dlg.FileName); m_sprite = new Rhino.Display.DisplayBitmap(bmp); } doc.Views.Redraw(); } else doc.Views.Redraw(); } Rhino.Display.DisplayPipeline.PostDrawObjects -= DisplayPipeline_PostDrawObjects; Rhino.Display.DisplayPipeline.CalculateBoundingBox -= DisplayPipeline_CalculateBoundingBox; return Rhino.Commands.Result.Success; }
static Rhino.Display.DisplayBitmap GetSprite() { if (m_sprite == null) { var bmp = new System.Drawing.Bitmap(64, 64); using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmp)) { g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; g.Clear(System.Drawing.Color.Transparent); var pen = new System.Drawing.Pen(System.Drawing.Color.White, 6); pen.EndCap = System.Drawing.Drawing2D.LineCap.Round; pen.StartCap = pen.EndCap; g.DrawArc(pen, new System.Drawing.Rectangle(16, 16, 32, 32), 0, 360); g.DrawLine(pen, new System.Drawing.Point(8, 8), new System.Drawing.Point(56, 56)); g.DrawLine(pen, new System.Drawing.Point(8, 56), new System.Drawing.Point(56, 8)); pen.Dispose(); } m_sprite = new Rhino.Display.DisplayBitmap(bmp); } return(m_sprite); }
public SampleCsDrawViewportLogoConduit() { m_logo = SampleCsCommands.Properties.Resources.Logo; m_bitmap = new Rhino.Display.DisplayBitmap(m_logo); }
Rhino.Display.DisplayBitmap GetSprite() { if (m_sprite == null) { var bmp = new System.Drawing.Bitmap(64, 64); using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmp)) { g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; g.Clear(System.Drawing.Color.Transparent); var pen = new System.Drawing.Pen(System.Drawing.Color.White, 6); pen.EndCap = System.Drawing.Drawing2D.LineCap.Round; pen.StartCap = pen.EndCap; g.DrawArc(pen, new System.Drawing.Rectangle(16, 16, 32, 32), 0, 360); g.DrawLine(pen, new System.Drawing.Point(8, 8), new System.Drawing.Point(56, 56)); g.DrawLine(pen, new System.Drawing.Point(8, 56), new System.Drawing.Point(56, 8)); pen.Dispose(); } m_sprite = new Rhino.Display.DisplayBitmap(bmp); } return m_sprite; }