/// <summary>
        /// Method to obtain the information regardin the <see cref="BatchRunGUI"/> and by extension the <see cref="List{T}"/> of <see cref="LoadCase"/> inside the <see cref="BatchRunForm.BatchRunloadCases"/>
        /// </summary>
        /// <param name="_batchRunGUI"></param>
        public void GetBatchRunData(List <BatchRunGUI> _batchRunGUI)
        {
            R1 = Kinematics_Software_New.AssignFormVariable();

            int BatchRunIndex = 0;

            for (int i = 0; i < _batchRunGUI.Count; i++)
            {
                if (_batchRunGUI[i].navBarGroupBatchRunResults.Name == R1.navBarControlResults.ActiveGroup.Name)
                {
                    BatchRunIndex = i;
                    break;
                }
            }

            BatchRunGUI_ForHeatMap = BatchRunGUI.batchRuns_GUI[BatchRunIndex];

            LoadCaseList_ForHeatMap = BatchRunGUI_ForHeatMap.batchRun.BatchRunloadCases;

            GetOutputChannelData();

            textEditBatchRun.Text = BatchRunGUI_ForHeatMap.Name;

            if (BatchRunGUI_ForHeatMap.batchRunVehicle.sc_FL.SuspensionMotionExists)
            {
                OutputMode = BatchRunOutputMode.MultipleOutputChannel;
                toolStripStatusLabelOPChannelModeValue.Text = "Multiple Channels";
            }
            else
            {
                OutputMode = BatchRunOutputMode.SingleOutputChannel;
                toolStripStatusLabelOPChannelModeValue.Text = "Single Channel";
            }
        }
        public void ConstructWorksheet(string _worksheetName, int _worksheetID, int parentBatchRunGUIIndex, BatchRunOutputMode _outputMode)
        {
            ID = _worksheetID;

            Name = _worksheetName + " " + ID;

            OutputMode = _outputMode;
        }
        /// <summary>
        /// Method to condition the Heat Map. Method to find the Maximim and Minimum values in the Solution sort them into variables so that they can be used to assign the Heat Map colors
        /// </summary>
        /// <param name="opMode"></param>
        private void ConditionHeatMap(BatchRunOutputMode opMode)
        {
            int NoofColumns = 0;
            ///<summary>Heat Map Force Values List which will help to determine the Max and Min Force</summary>
            List <double> HeatMapForceValues_List = new List <double>();

            ///<summary>Assigning <see cref="NoOfColumns"/> based on the type of <see cref="BatchRunOutputMode"/> and <see cref="HeatMapMode"/></summary>
            if (HeatMapType == HeatMapMode.RegularHeatMap)
            {
                if (opMode == BatchRunOutputMode.MultipleOutputChannel)
                {
                    NoofColumns = 11;
                }
                else if (opMode == BatchRunOutputMode.SingleOutputChannel)
                {
                    NoofColumns = 2;
                }
            }
            else if (HeatMapType == HeatMapMode.SpecialCase)
            {
                NoofColumns = 8;
            }


            ///<summary>Adding the the <see cref="HeatMapDataSource"/> table values to the List. If Loop to avoid adding the Column and Row Titles into the LIst</summary>
            for (int i = 0; i < LoadCases.Count; i++)
            {
                int k = 1;

                for (int j = 0; j < NoofColumns; j++)
                {
                    if (k != NoofColumns)
                    {
                        HeatMapForceValues_List.Add(HeatMapDataSource.Rows[i].Field <double>(k));
                        k++;
                    }
                }
            }

            ///<summary>Sorting and assiging the Max and Min Values of Force</summary>
            HeatMapForceValues_List.Sort();

            if (HeatMapForceValues_List.Count != 0)
            {
                MaxForce = HeatMapForceValues_List[HeatMapForceValues_List.Count - 1];
                MinForce = HeatMapForceValues_List[0];
            }

            ///<summary>Paint event which will paint the heatmap according to the force value in the cell </summary>
            BatchRunGUI.bandedGridViewBatchRun.RowCellStyle += BandedGridViewBatchRun_RowCellStyle;
        }
        /// <summary>
        /// Overloaded Constructor Initialize a Heat Map, create its name, ID and also a Data Table using the <see cref="HeatMapDataSource"/>
        /// </summary>
        /// <param name="_heatMapName">Name of the HeatMap. Pass the proper Name using an extrnal form which accepts the Name</param>
        /// <param name="_heatMapID">If using <see cref="Counter"/> add 1 before passing as inside this constructo, <see cref="ID"/> is not added with 1</param>
        public void ConstructHeatMapControl(string _heatMapName, int _heatMapID, BatchRunOutputMode _outPutMode, HeatMapMode _heatMapMode, SpecialCaseOption _specialCase, int _identifier, string _cornerName)
        {
            ID = _heatMapID;

            Name = _heatMapName + " " + _heatMapID;

            OutputMode = _outPutMode;

            HeatMapType = _heatMapMode;

            SpecialCase = _specialCase;

            CornerIdentifier = _identifier;

            CornerName = _cornerName;

            HeatMapDataSource.TableName = Name;

            HeatMapDataSource = InitializeDataTable(HeatMapDataSource);
        }