コード例 #1
0
        public void BuildLayout()
        {
            if (_reflectionX)
            {
                Factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionX));
            }
            if (_reflectionY)
            {
                Factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionY));
            }

            var form = new FormImposition()
            {
                FormatLoader = CardBoardFormatLoader,
                Factory      = Factory
            };

            if (DialogResult.OK == form.ShowDialog())
            {
            }
        }
コード例 #2
0
        public void BuildLayout()
        {
            FormImpositionSettings formSettings = new FormImpositionSettings();

            if (null != _cardboardFormatLoader)
            {
                formSettings.FormatLoader = _cardboardFormatLoader;
            }

            if (DialogResult.OK == formSettings.ShowDialog())
            {
                // build factory entities
                if (_reflectionX)
                {
                    _factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionX));
                }
                if (_reflectionY)
                {
                    _factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionY));
                }

                try
                {
                    // build imposition solutions
                    if (formSettings.Mode == 0)
                    {
                        _impositionTool = new ImpositionToolCardboardFormat(_factory, formSettings.CardboardFormat);
                    }
                    else
                    {
                        _impositionTool = new ImpositionToolXY(_factory, formSettings.NumberDirX, formSettings.NumberDirY);
                    }
                    // -> margins
                    _impositionTool.HorizontalAlignment = formSettings.HorizontalAlignment;
                    _impositionTool.VerticalAlignment   = formSettings.VerticalAlignment;
                    _impositionTool.SpaceBetween        = new Vector2D(formSettings.ImpSpaceX, formSettings.ImpSpaceY);
                    _impositionTool.Margin    = new Vector2D(formSettings.ImpMarginLeftRight, formSettings.ImpMarginBottomTop);
                    _impositionTool.MinMargin = new Vector2D(formSettings.ImpRemainingMarginLeftRight, formSettings.ImpRemainingMarginBottomTop);
                    // -> allowed patterns
                    _impositionTool.AllowRotationInColumnDirection = formSettings.AllowColumnRotation;
                    _impositionTool.AllowRotationInRowDirection    = formSettings.AllowRowRotation;
                    // -> offsets
                    _impositionTool.ImpositionOffset = new Vector2D(formSettings.OffsetX, formSettings.OffsetY);

                    _solutions = new List <ImpositionSolution>();

                    // instantiate ProgressWindow and launch process
                    ProgressWindow progress = new ProgressWindow();
                    System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(GenerateImpositionSolutions), progress);
                    progress.ShowDialog();

                    if (null != _solutions && _solutions.Count > 0)
                    {
                        FormImposition form = new FormImposition();
                        // set solutions
                        form.Solutions = _solutions;
                        form.Format    = formSettings.CardboardFormat;
                        // show imposition dlg
                        if (DialogResult.OK == form.ShowDialog(this))
                        {
                        }
                    }
                }
                catch (PicToolTooLongException /*ex*/)
                {
                    MessageBox.Show(
                        string.Format(Properties.Resources.ID_ABANDONPROCESSING
                                      , Pic.Factory2D.Properties.Settings.Default.AreaMaxNoSegments)
                        , Application.ProductName
                        , MessageBoxButtons.OK
                        , MessageBoxIcon.Stop);
                }
                catch (Exception ex)
                {
                    _log.Error(ex.ToString());
                }
            }
        }
コード例 #3
0
ファイル: FactoryViewerBase.cs プロジェクト: minrogi/PLMPack
        public void BuildLayout()
        {
            FormImpositionSettings formSettings = new FormImpositionSettings();
            if (null != _cardboardFormatLoader)
                formSettings.FormatLoader = _cardboardFormatLoader;

            if (DialogResult.OK == formSettings.ShowDialog())
            {
                // build factory entities
                if (_reflectionX) _factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionX));
                if (_reflectionY) _factory.ProcessVisitor(new PicVisitorTransform(Transform2D.ReflectionY));

                // build imposition solutions
                if (formSettings.Mode == 0)
                {
                    _impositionTool = new ImpositionToolCardboardFormat(_factory, formSettings.CardboardFormat);
                }
                else
                {
                    _impositionTool = new ImpositionToolXY(_factory, formSettings.NumberDirX, formSettings.NumberDirY);
                }
                // -> margins
                _impositionTool.SpaceBetween = new Vector2D(formSettings.ImpSpaceX, formSettings.ImpSpaceX);
                _impositionTool.Margin = new Vector2D(formSettings.ImpMarginLeftRight, formSettings.ImpMarginBottomTop);
                _impositionTool.MinMargin = new Vector2D(formSettings.ImpRemainingMarginLeftRight, formSettings.ImpRemainingMarginBottomTop);
                _impositionTool.HorizontalAlignment = formSettings.HorizontalAlignment;
                _impositionTool.VerticalAlignment = formSettings.VerticalAlignment;
                // -> patterns
                _impositionTool.AllowRotationInColumnDirection = formSettings.AllowColumnRotation;
                _impositionTool.AllowRotationInRowDirection = formSettings.AllowRowRotation;
                // -> offset
                _impositionTool.ImpositionOffset = Vector2D.Zero;

                try
                {
                    // instantiate ProgressWindow and launch process
                    ProgressWindow progress = new ProgressWindow();
                    System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(GenerateImpositionSolutions), progress);
                    progress.ShowDialog();

                    if (null != _solutions && _solutions.Count > 0)
                    {
                        FormImposition form = new FormImposition();
                        form.Solutions = _solutions;
                        form.Format = formSettings.CardboardFormat;
                        if (DialogResult.OK == form.ShowDialog(this))
                        {
                        }
                    }
                }
                catch (PicToolTooLongException /*ex*/)
                {
                    MessageBox.Show(
                        string.Format(Properties.Resources.ID_ABANDONPROCESSING
                        , Pic.Factory2D.Properties.Settings.Default.AreaMaxNoSegments)
                        , Application.ProductName
                        , MessageBoxButtons.OK);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
        }