private ConstraintSetPalletTruck BuildConstraintSet()
        {
            ConstraintSetPalletTruck constraintSet = new ConstraintSetPalletTruck(SelectedTruckProperties);

            constraintSet.MinDistanceLoadWall = new Vector2D(uCtrlMinDistanceLoadWall.ValueX, uCtrlMinDistanceLoadWall.ValueY);
            constraintSet.MinDistanceLoadRoof = uCtrlMinDistLoadRoof.Value;
            constraintSet.AllowMultipleLayers = chkbAllowMultipleLayers.Checked;
            return(constraintSet);
        }
        private ConstraintSetPalletTruck BuildConstraintSet()
        {
            ConstraintSetPalletTruck constraintSet = new ConstraintSetPalletTruck(SelectedTruckProperties)
            {
                MinDistanceLoadWall = new Vector2D(uCtrlMinDistanceLoadWall.ValueX, uCtrlMinDistanceLoadWall.ValueY),
                MinDistanceLoadRoof = uCtrlMinDistanceLoadRoof.Value,
                OptMaxNumber        = uCtrlMaxNoPallets.Value,
                AllowMultipleLayers = chkbAllowMultipleLayers.Checked
            };

            return(constraintSet);
        }
예제 #3
0
        private ConstraintSetPalletTruck BuildConstraintSet()
        {
            ConstraintSetPalletTruck constraintSet = new ConstraintSetPalletTruck(SelectedTruckProperties)
            {
                MinDistanceLoadWall = uCtrlMinDistanceLoadWall.Value,
                MinDistanceLoadRoof = uCtrlMinDistanceLoadRoof.Value,
                OptMaxNumber        = uCtrlMaxNoPallets.Value,
                OptMaxLayerNumber   = new OptInt(!chkbAllowMultipleLayers.Checked, 1)
            };

            return(constraintSet);
        }
 private void OnCriterionChanged(object sender, EventArgs e)
 {
     try
     {
         ConstraintSetPalletTruck constraintSet = _solution.Analysis.ConstraintSet as ConstraintSetPalletTruck;
         constraintSet.OptMaxNumber = uCtrlMaxNoPallets.Value;
         _solution.RebuildSolutionItemList();
     }
     catch (Exception ex)
     {
         _log.Error(ex.ToString());
     }
     // update drawing & grid
     graphCtrlSolution.Invalidate();
     UpdateGrid();
 }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            cbPallets.Initialize(_document, this, null != AnalysisBase ? AnalysisBase.Content : null);
            cbTrucks.Initialize(_document, this, null != AnalysisBase ? AnalysisBase.Container : null);

            // event handling
            uCtrlLayerList.LayerSelected   += OnLayerSelected;
            uCtrlLayerList.RefreshFinished += OnLayerSelected;
            uCtrlLayerList.ButtonSizes      = new Size(200, 100);

            if (null == AnalysisBase)
            {
                tbName.Text        = _document.GetValidNewAnalysisName(ItemDefaultName);
                tbDescription.Text = tbName.Text;

                uCtrlMinDistanceLoadWall.ValueX = Settings.Default.MinDistancePalletTruckWallX;
                uCtrlMinDistanceLoadWall.ValueY = Settings.Default.MinDistancePalletTruckWallY;
                uCtrlMinDistanceLoadRoof.Value  = Settings.Default.MinDistancePalletTruckRoof;
                chkbAllowMultipleLayers.Checked = Settings.Default.AllowMultipleLayers;
                uCtrlMaxNoPallets.Value         = new OptInt(false, 1);
            }
            else
            {
                tbName.Text        = AnalysisBase.Name;
                tbDescription.Text = AnalysisBase.Description;

                ConstraintSetPalletTruck constraintSet = AnalysisBase.ConstraintSet as ConstraintSetPalletTruck;
                if (null == constraintSet)
                {
                    return;
                }

                uCtrlMinDistanceLoadWall.ValueX = constraintSet.MinDistanceLoadWall.X;
                uCtrlMinDistanceLoadWall.ValueY = constraintSet.MinDistanceLoadWall.Y;
                uCtrlMinDistanceLoadRoof.Value  = constraintSet.MinDistanceLoadRoof;
                chkbAllowMultipleLayers.Checked = constraintSet.AllowMultipleLayers;
                uCtrlMaxNoPallets.Value         = constraintSet.OptMaxNumber;
            }
            checkBoxBestLayersOnly.Checked = Settings.Default.KeepBestSolutions;
        }