/// <summary> /// Creates a new DockContentTruckAnalysis view /// </summary> /// <param name="analysis"></param> /// <returns></returns> public DockContentTruckAnalysis CreateTruckAnalysisView(TruckAnalysis analysis) { DockContentTruckAnalysis form = new DockContentTruckAnalysis(this, analysis); AddView(form); return(form); }
/// <summary> /// Constructor used when editing an existing analysis /// </summary> /// <param name="document">Parent document</param> /// <param name="truckAnalysis">Truck analysis</param> public FormNewTruckAnalysis(Document document, TruckAnalysis truckAnalysis) { InitializeComponent(); // set unit labels UnitsManager.AdaptUnitLabels(this); // set truck analysis ref _truckAnalysis = truckAnalysis; }
public DockContentTruckAnalysis(IDocument document, TruckAnalysis truckAnalysis) { _document = document; _truckAnalysis = truckAnalysis; _truckAnalysis.AddListener(this); InitializeComponent(); }
private List <TruckSolution> GenerateSolutions(TruckAnalysis truckAnalysis) { List <TruckSolution> solutions = new List <TruckSolution>(); HalfAxis.HAxis[] axis = { HalfAxis.HAxis.AXIS_Z_N, HalfAxis.HAxis.AXIS_Z_P }; // build layer using truck length / width foreach (LayerPattern pattern in LayerPattern.All) { for (int swapPos = 0; swapPos < (pattern.CanBeSwapped ? 2 : 1); ++swapPos) { for (int orientation = 0; orientation < 2; ++orientation) { try { Layer2D layer = BuildLayer(truckAnalysis.ParentSolution, truckAnalysis.TruckProperties, truckAnalysis.ConstraintSet , axis[orientation], swapPos == 1); double actualLength = 0.0, actualWidth = 0.0; if (!pattern.GetLayerDimensionsChecked(layer, out actualLength, out actualWidth)) { continue; } pattern.GenerateLayer(layer, actualLength, actualWidth); TruckSolution sol = new TruckSolution("sol", truckAnalysis); BoxLayer boxLayer = new BoxLayer(0.0, 0); foreach (LayerPosition layerPos in layer) { boxLayer.AddPosition(layerPos.Position, layerPos.LengthAxis, layerPos.WidthAxis); } sol.Layer = boxLayer; // insert solution if (sol.PalletCount > 0) { solutions.Add(sol); } } catch (Exception ex) { _log.Error(string.Format("Exception caught: {0}", ex.ToString())); } } } } // sort solutions solutions.Sort(); return(solutions); }
/// <summary> /// Edit given truck analysis /// </summary> /// <param name="truckAnalysis"></param> public void EditTruckAnalysis(TruckAnalysis truckAnalysis) { // instantiate form FormNewTruckAnalysis form = new FormNewTruckAnalysis(truckAnalysis.ParentDocument, truckAnalysis); form.Trucks = Trucks.ToArray(); // show form bool recomputeRequired = false; if (recomputeRequired = (DialogResult.OK == form.ShowDialog())) { truckAnalysis.TruckProperties = form.SelectedTruck; } if (recomputeRequired) { truckAnalysis.OnEndUpdate(null); } }
/* * public void OnCaseAnalysisRemoved(Document doc, BoxCasePalletAnalysis caseAnalysis) * { * } */ public void OnTruckAnalysisRemoved(Document doc, CasePalletAnalysis analysis, SelCasePalletSolution selectedSolution, TruckAnalysis truckAnalysis) { }
public void ProcessAnalysis(TruckAnalysis truckAnalysis) { truckAnalysis.Solutions = GenerateSolutions(truckAnalysis); }