//ADD NUMBERS
        //Adds a stack panel for numeric sliders
        private void AddNumbers()
        {
            //COLLAPSE SLIDERS
            //Collapse Sliders expander if no sliders are connected
            if (!RadicalVM.NumVars.Any())
            {
                this.SlidersExpander.Visibility = Visibility.Collapsed;
                return;
            }

            //GROUP VARIABLE CONTROL
            //stackpanel
            StackPanel groupControls = new StackPanel();

            groupControls.Background = (SolidColorBrush)this.FindResource("PrimaryHueDarkBrush");
            //expander
            Expander groupControlMenu = new Expander();

            groupControlMenu.Background = (SolidColorBrush)this.FindResource("BackgroundHueDarkBrush");
            groupControlMenu.IsExpanded = true;
            groupControlMenu.Header     = Header2Formatting("Group Variable Control");
            groupControlMenu.Content    = groupControls;
            this.Sliders.Children.Add(groupControlMenu);

            //Add descriptive control labels
            groupControls.Children.Add(new VariableHeaderControl());

            //Add group controls for slider direction
            GroupVariableControl groupControl = new GroupVariableControl(new GroupVarVM(this.RadicalVM, (int)(Direction.None))); this.GroupVars.Add(groupControl);

            groupControl.GroupControlName.Text = "All Variables";
            groupControls.Children.Add(groupControl);

            //Border separator
            this.Sliders.Children.Add(this.Separator());

            //INDIVIDUAL VARIBALE CONTROL
            //Stack Panel
            StackPanel individualControls = new StackPanel();

            individualControls.Background = (SolidColorBrush)this.FindResource("PrimaryHueDarkBrush");
            //Expander
            Expander individualControlMenu = new Expander();

            individualControlMenu.Background = (SolidColorBrush)this.FindResource("BackgroundHueDarkBrush");
            individualControlMenu.Header     = Header2Formatting("Single Variable Control");
            individualControlMenu.Content    = individualControls;
            this.Sliders.Children.Add(individualControlMenu);

            //Add descriptive control labels
            individualControls.Children.Add(new VariableHeaderControl());

            //Add individual slider controls
            foreach (VarVM var in RadicalVM.NumVars)
            {
                individualControls.Children.Add(new VariableControl(var));
            }
        }
        //ADD GEOMETRIES
        //Adds a nested stack panel for geometries and their control point variables
        private void AddGeometries()
        {
            //COLLAPSE GEOMETRIES
            //Collapse Geometries expander if no geometries are connected
            if (!RadicalVM.GeoVars.Any())
            {
                this.GeometriesExpander.Visibility = Visibility.Collapsed;
                return;
            }

            int geoIndex = 0;

            foreach (List <VarVM> geometry in RadicalVM.GeoVars)
            {
                //SINGLE GEOMETRY
                //Stack Panel
                StackPanel variableMenus = new StackPanel();
                variableMenus.Background = (SolidColorBrush)this.FindResource("PrimaryHueDarkBrush");
                //Expander
                Expander singleGeo = new Expander();

                singleGeo.Background = (SolidColorBrush)this.FindResource("BackgroundHueMidBrush");
                singleGeo.Header     = Header1Formatting(geometry[geoIndex].Name.Split('.')[0]); geoIndex++;
                singleGeo.Content    = variableMenus;
                this.Geometries.Children.Add(singleGeo);

                //Border
                variableMenus.Children.Add(this.Separator());


                //GROUP VARIABLE CONTROL
                //Stack Panel
                StackPanel groupControls = new StackPanel();
                groupControls.Background = (SolidColorBrush)this.FindResource("PrimaryHueDarkBrush");
                //Expander
                Expander groupControlMenu = new Expander();
                groupControlMenu.IsExpanded = true;
                groupControlMenu.Header     = Header2Formatting("Group Variable Control");
                groupControlMenu.Background = (SolidColorBrush)this.FindResource("BackgroundHueDarkBrush");
                //groupControlMenu.Foreground = (SolidColorBrush)this.FindResource("BackgroundHueDarkSubtextForegroundBrush");
                groupControlMenu.Content = groupControls;
                variableMenus.Children.Add(groupControlMenu);

                //Add descriptive control labels
                groupControls.Children.Add(new VariableHeaderControl());

                //Add group controls for X, Y, and Z directions
                GroupVariableControl groupControlX = new GroupVariableControl(new GroupVarVM(this.RadicalVM, (int)(Direction.X), geoIndex - 1)); this.GroupVars.Add(groupControlX);
                GroupVariableControl groupControlY = new GroupVariableControl(new GroupVarVM(this.RadicalVM, (int)(Direction.Y), geoIndex - 1)); this.GroupVars.Add(groupControlY);
                GroupVariableControl groupControlZ = new GroupVariableControl(new GroupVarVM(this.RadicalVM, (int)(Direction.Z), geoIndex - 1)); this.GroupVars.Add(groupControlZ);

                groupControlX.GroupControlName.Text = "X Variables";
                groupControlY.GroupControlName.Text = "Y Variables";
                groupControlZ.GroupControlName.Text = "Z Variables";
                groupControls.Children.Add(groupControlX);
                groupControls.Children.Add(groupControlY);
                groupControls.Children.Add(groupControlZ);

                //Border separator
                variableMenus.Children.Add(this.Separator());

                //INDIVIDUAL VARIBALE CONTROL
                //Stack Panel
                StackPanel individualControls = new StackPanel();
                individualControls.Background = (SolidColorBrush)this.FindResource("PrimaryHueDarkBrush");
                //Expander
                Expander individualControlMenu = new Expander();
                individualControlMenu.Header     = Header2Formatting("Single Variable Control");
                individualControlMenu.Content    = individualControls;
                individualControlMenu.Background = (SolidColorBrush)this.FindResource("BackgroundHueDarkBrush");
                variableMenus.Children.Add(individualControlMenu);

                //Add descriptive control labels
                individualControls.Children.Add(new VariableHeaderControl());

                //Add individual point controls in all directions
                foreach (VarVM var in geometry)
                {
                    VariableControl vc = new VariableControl(var);
                    vc.Background = (SolidColorBrush)this.FindResource("PrimaryHueDarkBrush");
                    individualControls.Children.Add(vc);
                }
            }
        }