Esempio n. 1
0
        private void CalculateFirstScale()
        {
            if (0 == Preferences.YFixMin && 0 == Preferences.YFixMin && 0 == Preferences.YFixDiv)
            {
                if (FirstScale == null)
                {
                    var realMin = GetMin();
                    var realMax = GetMax();
                    var req     = new BrickRequest {
                        SourceMinValue = realMin,
                        SourceMaxValue = realMax
                    };
                    req.Setup(Preferences.Y, Preferences.YMin, Preferences.YMax, Preferences.YTop.ToString(), Preferences.YSignDelta.ToString());
                    var cat    = new BrickCatalog();
                    var result = cat.GetBestVariant(req);
                    FirstScale = new Scale {
                        Prepared = true, Min = result.ResultMinValue, Max = result.ResultMaxValue, DivLines = result.ResultDivCount
                    };
                }

                FirstScale.ValueInPixel = BrickDataSetHelper.GetValuesInPixel(FirstScale.Min, FirstScale.Max, Preferences.Height);
            }
            else
            {
                FirstScale = new Scale();
            }
        }
Esempio n. 2
0
        private void CalculateNormalizedValue()
        {
            foreach (var scaleType in new[] { ScaleType.First, ScaleType.Second, })
            {
                var data = Rows.Where(_ => _.ScaleType == scaleType).ToArray();
                if (0 == data.Length)
                {
                    continue;
                }

                var scale = scaleType == ScaleType.First ? FirstScale : SecondScale;
                foreach (var row in data)
                {
                    foreach (var item in row.Items)
                    {
                        item.NormalizedValue = BrickDataSetHelper.GetNormalizedValue(scale.Min, item.Value, scale.ValueInPixel);
                        if (scaleType == ScaleType.First)
                        {
                            item.NormalizedValue += Preferences.FisrtScaleMormalizeCorrector;
                        }
                        else if (scaleType == ScaleType.Second)
                        {
                            item.NormalizedValue += Preferences.SecondScaleNormalizeCorrector;
                        }
                        if (item.NormalizedValue < 0)
                        {
                            item.NormalizedValue = 0;
                        }
                    }
                }
            }
        }
Esempio n. 3
0
 /// <summary>
 ///		Убеждается в корректном расположении элементов данных
 /// </summary>
 protected void EnsureNormalized()
 {
     if (_isNormalized)
     {
         return;
     }
     foreach (var dataItem in _dataItems)
     {
         if (0 != dataItem.NormalizedValue)
         {
             continue;
         }
         dataItem.NormalizedValue = BrickDataSetHelper.GetNormalizedValue(ScaleMin, ScaleMax, Height, dataItem.Value);
         if (dataItem.NormalizedValue < 0)
         {
             throw new Exception("Normalized value below zero - marks that scales was counted invalid");
         }
         dataItem.LabelHeight = LabelHeight.ToInt();
     }
     _isNormalized = true;
 }