/// <summary> /// Initializes a new instance of the <see cref="_3DViewModel"/> class with colors for each mesh /// </summary> /// <param name="meshes">The meshes.</param> /// <param name="colors">The colors.</param> public _3DViewModel(List <Mesh> meshes, List <System.Drawing.Color> colors) { List <Material> mats = new List <Material>(); for (int i = 0; i < meshes.Count; i++) { mats.Add(MaterialHelper.CreateMaterial(HUI_Util.ToMediaColor(colors[i % colors.Count]))); } setupModel(meshes, mats, false); }
public static HUI_Gradient FromGHGradient(GH_Gradient g) { List <Color> cols = new List <Color>(); List <double> ts = new List <double>(); var gType = typeof(GH_Gradient); var Flags = BindingFlags.Instance | BindingFlags.GetProperty | BindingFlags.SetProperty | BindingFlags.GetField | BindingFlags.SetField | BindingFlags.NonPublic; var fields = gType.GetFields(Flags); var gripsField = fields.Where(f => f.Name == "m_grips").FirstOrDefault(); var grips = gripsField.GetValue(g) as List <GH_Grip>; foreach (var grip in grips) { cols.Add(HUI_Util.ToMediaColor(grip.ColourLeft)); ts.Add(grip.Parameter); } return(new HUI_Gradient(ts, cols)); }
static public void TrySetElementValue(UIElement u, object o) { try { switch (u.GetType().ToString()) { case "System.Windows.Controls.Slider": Slider s = u as Slider; //System.Windows.Forms.MessageBox.Show(o.GetType().ToString()); s.Value = (double)o; return; case "System.Windows.Controls.ListBox": ListBox lb = u as ListBox; lb.SelectedIndex = getSelectedItemIndex(lb, (string)o); return; case "System.Windows.Controls.TextBox": TextBox tb = u as TextBox; tb.Text = (string)o; return; case "System.Windows.Controls.ComboBox": ComboBox cb = u as ComboBox; cb.SelectedIndex = getSelectedItemIndex(cb, (string)o); return; case "Xceed.Wpf.Toolkit.ColorPicker": ColorPicker colP = u as ColorPicker; System.Drawing.Color sysCol = (System.Drawing.Color)o; colP.SelectedColor = HUI_Util.ToMediaColor(sysCol); return; case "System.Windows.Controls.ScrollViewer": //it's a checklist ScrollViewer sv = u as ScrollViewer; List <bool> valueList = (List <bool>)o; ItemsControl ic = sv.Content as ItemsControl; var cbs = from cbx in ic.Items.OfType <CheckBox>() select cbx; int i = 0; foreach (CheckBox chex in cbs) { chex.IsChecked = valueList[i]; i++; } return; case "System.Windows.Controls.CheckBox": CheckBox chb = u as CheckBox; chb.IsChecked = (bool)o; return; case "MahApps.Metro.Controls.ToggleSwitch": ToggleSwitch ts = u as ToggleSwitch; ts.IsChecked = (bool)o; return; case "MahApps.Metro.Controls.RangeSlider": RangeSlider rs = u as RangeSlider; var valueRange = (Interval)o; rs.UpperValue = valueRange.Max; rs.LowerValue = valueRange.Min; return; case "System.Windows.Controls.RadioButton": RadioButton rb = u as RadioButton; rb.IsChecked = (bool)o; return; case "System.Windows.Controls.DataGrid": DataGrid datagrid = u as DataGrid; List <string> selectedRowContents = (List <string>)o; try { DataView dv = datagrid.ItemsSource as DataView; foreach (DataRowView drv in dv) { var items = drv.Row.ItemArray.Cast <string>().ToList(); items.RemoveAt(0); //get rid of hidden index column bool selectRow = true; for (int counter = 0; counter < items.Count; counter++) { if (selectedRowContents[counter] != items[counter]) { selectRow = false; break; } } if (selectRow) { datagrid.SelectedItem = drv; } } } catch { } return; case "HumanUI.MDSliderElement": MDSliderElement mds = u as MDSliderElement; mds.SliderPoint = (Rhino.Geometry.Point3d)o; return; case "HumanUI.GraphMapperElement": GraphMapperElement gme = u as GraphMapperElement; gme.SetByCurve((Rhino.Geometry.NurbsCurve)o); return; case "HumanUI.HUI_GradientEditor": HUI_GradientEditor hge = u as HUI_GradientEditor; HUI_Gradient gradient = HUI_Gradient.FromString((string)o); hge.Gradient = gradient; return; case "HumanUI.FilePicker": FilePicker fp = u as FilePicker; fp.Path = (string)o; return; default: return; } } catch (Exception e) { System.Windows.Forms.MessageBox.Show(e.ToString()); } }