Exemplo n.º 1
0
        Stream(ArrayList data, PromptOptions opts)
        {
            data.Add(new Snoop.Data.ClassSeparator(typeof(PromptOptions)));

            data.Add(new Snoop.Data.String("Message", opts.Message));
            data.Add(new Snoop.Data.Bool("Append keywords to message", opts.AppendKeywordsToMessage));
            data.Add(new Snoop.Data.Bool("Is read-only", opts.IsReadOnly));
            data.Add(new Snoop.Data.Object("Keywords", opts.Keywords));

            PromptEditorOptions promptEdOpts = opts as PromptEditorOptions;

            if (promptEdOpts != null)
            {
                Stream(data, promptEdOpts);
                return;
            }

            JigPromptOptions jigPromptOpts = opts as JigPromptOptions;

            if (jigPromptOpts != null)
            {
                Stream(data, jigPromptOpts);
                return;
            }
        }
Exemplo n.º 2
0
            protected override SamplerStatus Sampler(JigPrompts prompts)
            {
                JigPromptOptions jigOpts = new JigPromptOptions();
                jigOpts.UserInputControls = (UserInputControls.Accept3dCoordinates | UserInputControls.NoZeroResponseAccepted | UserInputControls.NoNegativeResponseAccepted);

                if(mPromptCounter == 0)
                {
                    jigOpts.Message = "\nEllipse Major axis:";
                    PromptPointResult dres = prompts.AcquirePoint(jigOpts);

                    Point3d axisPointTemp = dres.Value;
                    if(axisPointTemp != mAxisPt)
                    {
                        mAxisPt = axisPointTemp;
                    }
                    else
                        return SamplerStatus.NoChange;

                    if(dres.Status == PromptStatus.Cancel)
                        return SamplerStatus.Cancel;
                    else
                        return SamplerStatus.OK;

                }
                else if (mPromptCounter == 1)
                {
                    jigOpts.BasePoint = mCenterPt;
                    jigOpts.UseBasePoint = true;
                    jigOpts.Message = "\nEllipse Minor axis:";
                    double radiusRatioTemp = -1;
                    PromptPointResult res = prompts.AcquirePoint(jigOpts);
                    acquiredPoint = res.Value;
                    radiusRatioTemp = mCenterPt.DistanceTo(acquiredPoint);

                    if (radiusRatioTemp != mRadiusRatio)
                        mRadiusRatio = radiusRatioTemp;
                    else
                        return SamplerStatus.NoChange;

                    if(res.Status == PromptStatus.Cancel)
                        return SamplerStatus.Cancel;
                    else
                        return SamplerStatus.OK;

                }
                else
                {
                    return SamplerStatus.NoChange;
                }
            }