Exemplo n.º 1
0
        /// <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();
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        /// <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);
            }
        }
Exemplo n.º 6
0
 /*
  * public void OnCaseAnalysisRemoved(Document doc, BoxCasePalletAnalysis caseAnalysis)
  * {
  * }
  */
 public void OnTruckAnalysisRemoved(Document doc, CasePalletAnalysis analysis, SelCasePalletSolution selectedSolution, TruckAnalysis truckAnalysis)
 {
 }
Exemplo n.º 7
0
 public void ProcessAnalysis(TruckAnalysis truckAnalysis)
 {
     truckAnalysis.Solutions = GenerateSolutions(truckAnalysis);
 }