/// <summary> /// Select a new Orientation. /// </summary> /// <param name="orientation">COrientation: Collates nesting orientation constraints.</param> public void SetNewOrientation(COrientation orientation) { try { RecordPersistentDataEvent("Set orientation"); PersistentData.Clear(); if (orientation != null) { PersistentData.Append(new OrientationGoo(orientation), new GH_Path(0)); } } finally { ExpireSolution(true); } }
/// <summary> /// Make a function for Fixed option from ToolStripMenu /// </summary> /// <param name="sender">>object: Support all classes in the .NET Framework class hierachy and provides low-level service to derived classes.</param> /// <param name="e">RhinoNestEventArgs: Class used in events.</param> private void MenuClick(object sender, EventArgs e) { var send = sender as ToolStripMenuItem; if (send == null) { return; } if (((ObjectOrientation)send.Tag == ObjectOrientation.Fixed) || ((ObjectOrientation)send.Tag == ObjectOrientation.Free)) { SetNewOrientation(COrientation.CreateOrientation((ObjectOrientation)send.Tag, 1)); } else if ((ObjectOrientation)send.Tag == ObjectOrientation.Angle15) { SetNewOrientation(COrientation.CreateOrientation((ObjectOrientation)send.Tag, 15)); } else if ((ObjectOrientation)send.Tag == ObjectOrientation.Angle30) { SetNewOrientation(COrientation.CreateOrientation((ObjectOrientation)send.Tag, 30)); } else if ((ObjectOrientation)send.Tag == ObjectOrientation.Angle45) { SetNewOrientation(COrientation.CreateOrientation((ObjectOrientation)send.Tag, 45)); } else if ((ObjectOrientation)send.Tag == ObjectOrientation.Angle60) { SetNewOrientation(COrientation.CreateOrientation((ObjectOrientation)send.Tag, 60)); } else if ((ObjectOrientation)send.Tag == ObjectOrientation.Angle90) { SetNewOrientation(COrientation.CreateOrientation((ObjectOrientation)send.Tag, 90)); } else if ((ObjectOrientation)send.Tag == ObjectOrientation.Positive90Negative90) { SetNewOrientation(COrientation.CreateOrientation((ObjectOrientation)send.Tag, -90)); } else if ((ObjectOrientation)send.Tag == ObjectOrientation.Mirror) { SetNewOrientation(COrientation.CreateOrientation((ObjectOrientation)send.Tag, 180)); } }
/// <summary> /// Constructor Empty /// </summary> public Orientation() : base("Orientation", "Orient", "Orientation data for nesting", "RhinoNest", "Nesting") { SetNewOrientation(COrientation.CreateFixedOrientation()); }