示例#1
0
        public static double[] LoadData(BasicEnums.ChainTypes chainType, BasicEnums.HistTypes histType)
        {
            string file = firstNameFiles + chainType.ToString();

            string dir = IO.Directory.SubDirCoord;
            string pathFileSpinningRayValue = dir + @"\" + file + histType.ToString() + Consts.extensionOfFile;

            ExtendedStreamReader srSpinningRay = new ExtendedStreamReader(pathFileSpinningRayValue, Config.CurrentGuid, Config.Crypt);

            string allText = srSpinningRay.ReadToEnd();

            if (allText != null)
            {
                string[] arrString = Regex.Split(allText, ";");
                //Array.Resize(ref arrString, arrString.Length -1); //tira o bug do ENTER

                srSpinningRay.Close();
                srSpinningRay.Dispose();

                double[] arrDouble = new double[arrString.Length - 1];
                for (int i = 0; i < arrString.Length - 1; i++)
                {
                    arrDouble[i] = Convert.ToDouble(arrString[i]);
                }

                return(arrDouble);
            }
            else
            {
                return(null);
            }
        }
示例#2
0
        public static void WriteFrequencyPeerInterval(BasicEnums.HistTypes histType, BasicEnums.ChainTypes chainType)
        {
            string fileName = firstNameFiles + chainType.ToString();

            if (histType == BasicEnums.HistTypes.RadiuosOfGyration)
            {
                WriteFrequencyPeerInterval(fileName, spinningRayValues, histType, chainType);
            }
            else
            {
                if (histType == BasicEnums.HistTypes.EndToEndDistance)
                {
                    WriteFrequencyPeerInterval(fileName, calDistanceBetweenLastPointFirst, histType, chainType);
                }
            }
        }
        public static StringBuilder FrequencyPeerInterval(string fileName, BasicEnums.HistTypes histType, BasicEnums.ChainTypes type)
        {
            double[] arr = null;

            if (type == BasicEnums.ChainTypes.Ideal)
            {
                //IDEAL
                if (histType == BasicEnums.HistTypes.RadiuosOfGyration)
                {
                    arr = CalcOfFrequency.LoadData(BasicEnums.ChainTypes.Ideal, BasicEnums.HistTypes.RadiuosOfGyration);
                }
                else
                {
                    arr = CalcOfFrequency.LoadData(BasicEnums.ChainTypes.Ideal, BasicEnums.HistTypes.EndToEndDistance);
                }
            }
            else if (type == BasicEnums.ChainTypes.Real)
            {
                //REAL
                if (histType == BasicEnums.HistTypes.RadiuosOfGyration)
                {
                    arr = CalcOfFrequency.LoadData(BasicEnums.ChainTypes.Real, BasicEnums.HistTypes.RadiuosOfGyration);
                }
                else
                {
                    arr = CalcOfFrequency.LoadData(BasicEnums.ChainTypes.Real, BasicEnums.HistTypes.EndToEndDistance);
                }
            }
            else if (type == BasicEnums.ChainTypes.Soft)
            {
                //SOFT
                if (histType == BasicEnums.HistTypes.RadiuosOfGyration)
                {
                    arr = CalcOfFrequency.LoadData(BasicEnums.ChainTypes.Soft, BasicEnums.HistTypes.RadiuosOfGyration);
                }
                else
                {
                    arr = CalcOfFrequency.LoadData(BasicEnums.ChainTypes.Soft, BasicEnums.HistTypes.EndToEndDistance);
                }
            }


            StringBuilder sbHist;

            if (arr != null)
            {
                if (arr.Length > 0)
                {
                    double min;
                    double max;


                    int lengthArr = arr.Length;

                    arr = SorteDouble(arr);
                    min = arr[0];
                    max = arr[lengthArr - 1];

                    //Calcula valor de DELTA
                    AppConfigClient.Param.dataToProcess.valueOfDelta = CalcBIN(arr, lengthArr, min, max);

                    if (histType == BasicEnums.HistTypes.RadiuosOfGyration)
                    {
                        sbHist = histogramSpinningRayValues(fileName, type, min, max, arr);
                    }
                    else
                    {
                        sbHist = HistogramDistanceBetweenLastPointFirst(fileName, type, min, max, arr);
                    }
                }
                else
                {
                    sbHist = null;
                }
            }
            else
            {
                sbHist = null;
            }

            return(sbHist);
        }
示例#4
0
        private static void WriteFrequencyPeerInterval(string fileName, string extFileName, BasicEnums.HistTypes histType, BasicEnums.ChainTypes chainType)
        {
            StringBuilder sb = Maths4Simulation.FrequencyPeerInterval(fileName + extFileName, histType, chainType);

            if (sb != null)
            {
                string dir      = IO.Directory.SubDirHistogram;
                string pathFile = dir + @"\" + fileName + histogram + extFileName + Directory.FileExtension;

                string[] ret = Regex.Split(sb.ToString(), "\n");

                ExtendedStreamWriter sw = new ExtendedStreamWriter(Config.Crypt);
                sw.CreateText(pathFile, Config.CurrentGuid);

                for (int i = 0; i < ret.Count(); i++)
                {
                    string retPrinter = ret[i];
                    sw.WriteLine(retPrinter);
                }

                sw.Flush();
                sw.Close();
            }

            return;
        }