public HistogramBins(IHistogramSource histogramSource, double low = 100, double width = 10, int count = 10)
     : this(low, width, count)
 {
     _updatePointsOnAdd = false;
     histogramSource.GraphicsUpdate += (s, e) =>
     {
         using (Dispatcher.CurrentDispatcher.DisableProcessing())
         {
             for (var binIndex = 0; binIndex < Bins.Length; binIndex++)
             {
                 if (Bins[binIndex] == 0 && !MakePointsForEmptyBins) continue;
                 _points[binIndex] = new Point(binIndex, Bins[binIndex]);
             }
         }
     };
 }
 public BinnedExposureDictionary(IHistogramSource histogramSource)
 {
     Exposures = new ObservableConcurrentDictionary<int, ObservableConcurrentDictionary<int, ObservableCollection<HistogramBins>>>();
     _histogramSource = histogramSource;
 }
 protected GroupedExposures(IHistogramSource histogramSource, double lowBinValue, double binWidth, int binCount, int groupLevel) : this(histogramSource, lowBinValue, binWidth, binCount) { GroupLevel = groupLevel; }
 internal GroupedExposuresHistogram(IHistogramSource histogramSource, double lowBinValue, double binWidth, int binCount, int groupLevel)
     : base(histogramSource, lowBinValue, binWidth, binCount, groupLevel)
 {
     GroupedBarSeriesViewModels = new GroupedBarSeriesViewModel[2];
     GroupedBarSeriesViewModels[0] = new GroupedBarSeriesViewModel();
     GroupedBarSeriesViewModels[1] = new GroupedBarSeriesViewModel();
     var bins = new HistogramBins(HistogramSource, LowBinValue, BinWidth, BinCount);
     BinNames = new string[bins.BinNames.Length];
     Array.Copy(bins.BinNames, BinNames, bins.BinNames.Length);
     //_cvs = new CollectionViewSource();
     //var speciesPlatformConverter = new GroupingConverter(a => _simulationLog.RecordFromActorID(((ActorExposureRecord)a).ActorID) is SpeciesNameGuid ? "Species" : "Platforms");
     //var actorNameConverter = new GroupingConverter(a => _simulationLog.RecordFromActorID(((ActorExposureRecord)a).ActorID).Name);
     //_cvs.GroupDescriptions.Add(new PropertyGroupDescription(null, speciesPlatformConverter));
     //_cvs.GroupDescriptions.Add(new PropertyGroupDescription(null, actorNameConverter));
     //_cvs.Source = simulationLog;
 }
 public GroupedExposures(IHistogramSource histogramSource, double lowBinValue, double binWidth, int binCount)
 {
     HistogramSource = histogramSource;
     LowBinValue = lowBinValue;
     BinWidth = binWidth;
     BinCount = binCount;
     GroupLevel = 0;
 }