예제 #1
0
        public DockContentPackPalletAnalysis CreateAnalysisViewPackPallet(PackPalletAnalysis analysis)
        {
            DockContentPackPalletAnalysis form = new DockContentPackPalletAnalysis(this, analysis);

            AddView(form);
            return(form);
        }
예제 #2
0
 public SelPackPalletSolution(Document document, PackPalletAnalysis analysis, PackPalletSolution sol)
     : base(document)
 {
     _analysis = analysis;
     _solution = sol;
     ID.Name   = sol.Title;
 }
예제 #3
0
 public void ProcessAnalysis(PackPalletAnalysis analysis)
 {
     _packProperties       = analysis.PackProperties;
     _palletProperties     = analysis.PalletProperties;
     _interlayerProperties = analysis.InterlayerProperties;
     _constraintSet        = analysis.ConstraintSet;
     analysis.Solutions    = GenerateSolutions();
 }
        public DockContentPackPalletAnalysis(IDocument document, PackPalletAnalysis analysis)
        {
            _document = document;
            _analysis = analysis;
            _analysis.AddListener(this);

            InitializeComponent();

            _analysis.SolutionSelected         += new PackPalletAnalysis.SelectSolution(onSolutionSelectionChanged);
            _analysis.SolutionSelectionRemoved += new PackPalletAnalysis.SelectSolution(onSolutionSelectionChanged);
        }
예제 #5
0
        public void EditPackPalletAnalsyis(PackPalletAnalysis analysis)
        {
            // do we need to recompute analysis
            bool recomputeRequired = false;

            FormNewAnalysisPackPallet form = new FormNewAnalysisPackPallet(this, analysis);

            form.Packs       = ListByType(typeof(PackProperties)).ToArray();
            form.Pallets     = Pallets.ToArray();
            form.Interlayers = ListByType(typeof(InterlayerProperties)).ToArray();

            if (recomputeRequired = (DialogResult.OK == form.ShowDialog()))
            {
                // analysis name / description
                analysis.Name        = form.ItemName;
                analysis.Description = form.ItemDescription;
                // analysis pack / pallet /interlayer
                analysis.PackProperties       = form.PackProperties;
                analysis.PalletProperties     = form.PalletProperties;
                analysis.InterlayerProperties = form.InterlayerProperties;
                // constraint set
                PackPalletConstraintSet constraintSet = analysis.ConstraintSet;
                constraintSet.OverhangX           = form.OverhangX;
                constraintSet.OverhangY           = form.OverhangY;
                constraintSet.MinOverhangX        = form.MinimumOverhangX;
                constraintSet.MinOverhangY        = form.MinimumOverhangY;
                constraintSet.MinimumSpace        = form.MinimumSpace;
                constraintSet.MaximumSpaceAllowed = form.MaximumSpace;
                constraintSet.LayerSwapPeriod     = form.LayerSwapPeriod;
                constraintSet.InterlayerPeriod    = form.InterlayerPeriod;
                constraintSet.HasFirstInterlayer  = form.HasFirstInterlayer;
                // stop criterions
                constraintSet.MaximumPalletHeight = form.MaximumPalletHeight;
                constraintSet.MaximumPalletWeight = form.MaximumPalletWeight;
            }
            if (recomputeRequired)
            {
                analysis.OnEndUpdate(null);
                if (analysis.Solutions.Count < 1)
                {
                    MessageBox.Show(Properties.Resources.ID_ANALYSISHASNOSOLUTION, Application.ProductName, MessageBoxButtons.OK);
                }
            }
        }
예제 #6
0
 public void OnNewPackPalletAnalysisCreated(Document doc, PackPalletAnalysis analysis)
 {
     _log.Info(string.Format("Loaded analysis {0}", analysis.Name));
 }
예제 #7
0
 public FormNewAnalysisPackPallet(Document document, PackPalletAnalysis analysis)
     : base(document, analysis)
 {
     InitializeComponent();
     _analysis = analysis;
 }
 void onSolutionSelectionChanged(PackPalletAnalysis analysis, SelPackPalletSolution selSolution)
 {
     UpdateSelectButtonText();
     UpdateGridCheckBoxes();
 }
예제 #9
0
 public PackPalletSolutionViewer(PackPalletSolution solution)
 {
     _analysis = null != solution ? solution.Analysis : null;
     _solution = solution;
 }
예제 #10
0
 public void OnNewPackPalletAnalysisCreated(Document doc, PackPalletAnalysis analysis)
 {
 }