public IFinalVisualizer GetFinalVisualizer(ICostReviewer storage) { var costVisualizationSize = parameters.CostVisualizationSize; var totalSize = new Point(Math.Max(getParticleVisualizationSize().X, costVisualizationSize.X), getParticleVisualizationSize().Y + costVisualizationSize.Y); var videoMaker = new VideoMaker(getMainPath() + "MergedPictures\\", getMainPath() + "FinalVideo\\", parameters.VideoName + ".avi", totalSize); var accumAllToOneCost = new AccumCostReviewer(new SingleCoreCostReviewer(storage)); var finalVis = new FinalVisualizer(videoMaker, parameters.SnapTime, new CostPrinter(getMainPath() + "CostPrints\\", accumAllToOneCost, "FINAL")); return(finalVis); }
public IStepVisualizer GetStepVisualizer(ICostReviewer storage) { var picturePartMakers = new List <PicturePartMaker>(); var costVisualizationSize = parameters.CostVisualizationSize; var costVisualizer = new CostVisualizer(storage, costVisualizationSize, parameters.CostName); picturePartMakers.Add(new PicturePartMaker() { StartCoordinates = new Point(0, 0), StepDrawer = (int i) => { return ((Bitmap) Image.FromFile(getMainPath() + "ParticlePictures\\" + i + ".jpg")); } }); picturePartMakers.Add(new PicturePartMaker() { StartCoordinates = new Point(0, getParticleVisualizationSize().Y), StepDrawer = costVisualizer.GetCostOfStep }); var totalSize = new Point(Math.Max(getParticleVisualizationSize().X, costVisualizationSize.X), getParticleVisualizationSize().Y + costVisualizationSize.Y); var pictureMerger = new PictureMerger(getMainPath() + "MergedPictures\\", picturePartMakers, totalSize); var daPictureOutput = new CombinedPictureVisualizer(getMainPath() + "ParticlePictures\\", getParticleVisualizationSize().Y, getParticleVisualizationSize().X) { Visualizers = parameters .ParticleSubVisualizers }; var mergedPicViz = new MergedPictureVisualizer(pictureMerger, daPictureOutput, parameters.SnapTime); var costPrinter = new CostPrinter(getMainPath() + "CostPrints\\", storage, ""); return(new StepVisualizer(costPrinter, mergedPicViz)); }
public AccumCostReviewer(ICostReviewer storage) { this.storage = storage; }
public MaxStepCostCalculator(ICostReviewer decoReviewer) { this.decoReviewer = decoReviewer; }
public CostPrinter(string printPath, ICostReviewer storage, string commonFileName) { this.printPath = printPath; this.storage = storage; this.commonFileName = commonFileName; }
public CostVisualizer(ICostReviewer showStorage, Point size, string name) { this.showStorage = showStorage; this.size = size; this.name = name; }
public FinalReviewCostStorage() { smStorage = new SmallCostStorage(); maxStepCostCalc = new MaxStepCostCalculator(smStorage); }
public SingleCoreCostReviewer(ICostReviewer decoCostStorage) { this.decoCostStorage = decoCostStorage; }