예제 #1
0
        public override IReadOnlyCollection <object> Report(Simulation simulation, OSPSuiteTracker buildTracker)
        {
            _lazyLoadTask.Load(simulation);
            var chapter = new Chapter(simulation.Name);
            var report  = new List <object> {
                chapter
            };

            buildTracker.AddReference(simulation, chapter);
            report.AddRange(this.ReportDescription(simulation, buildTracker));
            report.Add(new Section(PKSimConstants.UI.UsedBuildingBlocks));
            report.Add(simulation.UsedBuildingBlocks);

            report.Add(new Section(PKSimConstants.UI.SimulationProperties));
            report.Add(simulation.Properties);

            addHistograms(simulation, report);

            if (simulation.Analyses.Any())
            {
                report.Add(simulation.Analyses.ToList());
            }

            return(report);
        }
예제 #2
0
        public override void Build(TBuildingBlock buildingBlock, OSPSuiteTracker tracker)
        {
            _lazyLoadTask.Load(buildingBlock);
            var section = new Section(buildingBlock.Name);

            tracker.AddReference(buildingBlock, section);

            _builderRepository.Report(section, tracker);
            _builderRepository.Report(this.ReportDescription(buildingBlock, tracker), tracker);
            _builderRepository.Report(BuildingBlockReport(buildingBlock, tracker), tracker);
        }
예제 #3
0
        public override IReadOnlyCollection <object> Report(TSimulationComparison simulationComparison, OSPSuiteTracker buildTracker)
        {
            _lazyLoadTask.Load(simulationComparison);
            var chapter = new Chapter(simulationComparison.Name);
            var report  = new List <object> {
                chapter
            };

            buildTracker.AddReference(simulationComparison, chapter);

            var populationComparison = simulationComparison as PopulationSimulationComparison;

            if (populationComparison != null)
            {
                report.Add(getTableFor(populationComparison));

                if (populationComparison.ReferenceGroupingItem != null)
                {
                    report.Add(new Text("The reference simulation is named: {0}", populationComparison.ReferenceGroupingItem.Label));
                }

                report.Add(new SelectedDistribution(populationComparison, 1));

                if (populationComparison.Analyses.Any())
                {
                    report.Add(populationComparison.Analyses.ToList());
                }
            }
            var comparison = simulationComparison as IndividualSimulationComparison;

            if (comparison != null)
            {
                report.Add(comparison);
            }

            return(report);
        }
예제 #4
0
        public override void Build(TPopulationAnalysisChart analysisChart, OSPSuiteTracker buildTracker)
        {
            var groupPlots = GetGroupPlots(analysisChart);

            var listToReport = new List <object>();

            foreach (var groupPlot in groupPlots)
            {
                listToReport.Add(groupPlot);
                buildTracker.AddReference(analysisChart, groupPlot);
            }

            if (analysisChart.AnalysisType == PopulationAnalysisType.TimeProfile)
            {
                var chartData = _chartDataCreator.CreateFor(analysisChart, _aggregate) as ChartData <TimeProfileXValue, TimeProfileYValue>;
                if (chartData != null)
                {
                    var populationPKAnalyses = new PopulationPKAnalyses(analysisChart.Analysable.DowncastTo <IPopulationDataCollector>(), chartData, analysisChart);
                    listToReport.Add(populationPKAnalyses);
                }
            }

            _builderRepository.Report(listToReport, buildTracker);
        }
예제 #5
0
        public override void Build(CurveChart chart, OSPSuiteTracker tracker)
        {
            if (!chart.Axes.Any())
            {
                return;
            }

            var listToReport = new List <object>();

            AxisTypes firstOrdinate;
            AxisTypes secondOrdinate;
            AxisTypes thirdOrdinate;

            var colors = getUsedColors(chart);

            ChartTypes chartType = checkChartType(chart, out firstOrdinate, out secondOrdinate, out thirdOrdinate);

            switch (chartType)
            {
            case ChartTypes.XYPlot:
            {
                var axisOptions = getAxisOptions(chart, firstOrdinate);
                axisOptions.YAxisPosition = AxisOptions.AxisYLine.box;
                var plots = getPlots(chart, firstOrdinate);

                var plot = new OSPSuite.TeXReporting.Items.Plot(colors, axisOptions, plots, new Text(chart.Description))
                {
                    Position = FigureWriter.FigurePositions.H
                };
                listToReport.Add(plot);
                tracker.AddReference(chart, plot);
            }
            break;

            case ChartTypes.XYY2Plot:
            {
                var axisOptionsY = getAxisOptions(chart, firstOrdinate);
                var plotsY       = getPlots(chart, firstOrdinate);
                addOrdinateToLegendEntry(plotsY, firstOrdinate);

                var axisOptionsY2 = getAxisOptions(chart, secondOrdinate);
                axisOptionsY2.BackgroundColor = string.Empty;
                var plotsY2 = getPlots(chart, secondOrdinate);
                addOrdinateToLegendEntry(plotsY2, secondOrdinate);

                var plot = new PlotTwoOrdinates(colors, axisOptionsY, plotsY, axisOptionsY2,
                                                plotsY2, new Text(chart.Description))
                {
                    Position = FigureWriter.FigurePositions.H
                };

                listToReport.Add(plot);
                tracker.AddReference(chart, plot);
            }
            break;

            case ChartTypes.XYY2Y3Plot:
            {
                var axisOptionsY = getAxisOptions(chart, firstOrdinate);
                var plotsY       = getPlots(chart, firstOrdinate);
                addOrdinateToLegendEntry(plotsY, firstOrdinate);

                var axisOptionsY2 = getAxisOptions(chart, secondOrdinate);
                axisOptionsY2.BackgroundColor = string.Empty;
                var plotsY2 = getPlots(chart, secondOrdinate);
                addOrdinateToLegendEntry(plotsY2, secondOrdinate);

                var axisOptionsY3 = getAxisOptions(chart, thirdOrdinate);
                axisOptionsY3.BackgroundColor = string.Empty;
                var plotsY3 = getPlots(chart, thirdOrdinate);
                addOrdinateToLegendEntry(plotsY3, thirdOrdinate);

                var plot = new PlotThreeOrdinates(colors, axisOptionsY, plotsY, axisOptionsY2,
                                                  plotsY2, axisOptionsY3, plotsY3,
                                                  new Text(chart.Description))
                {
                    Position = FigureWriter.FigurePositions.H
                };

                listToReport.Add(plot);
                tracker.AddReference(chart, plot);
            }
            break;
            }

            _builderRepository.Report(listToReport, tracker);
        }