Exemple #1
0
        /// <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);
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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());
            }
        }