コード例 #1
0
ファイル: SketchEditorTool.cs プロジェクト: lanicon/Macad3D
        //--------------------------------------------------------------------------------------------------

        #endregion

        #region Constraint Creation

        public bool CanCreateConstraint <T>() where T : SketchConstraint
        {
            // Don't allow constraint creation if any constraint is selected
            if (SelectedConstraints != null && SelectedConstraints.Any())
            {
                return(false);
            }

            return(SketchConstraintCreator.CanCreate <T>(Sketch, SelectedPoints, SelectedSegmentIndices));
        }
コード例 #2
0
ファイル: SketchEditorTool.cs プロジェクト: lanicon/Macad3D
        //--------------------------------------------------------------------------------------------------

        public List <SketchConstraint> CreateConstraint <T>() where T : SketchConstraint
        {
            if (!CanCreateConstraint <T>())
            {
                return(null);
            }

            var constraints = SketchConstraintCreator.Create <T>(Sketch, SelectedPoints, SelectedSegmentIndices);

            if (constraints != null)
            {
                Sketch.AddElements(null, null, null, constraints);
                Sketch.SolveConstraints(false);
                Sketch.SolveConstraints(true);
                InteractiveContext.Current.UndoHandler.Commit();

                _MoveAction?.Stop();
                Elements.DeselectAll();
                Elements.Select(constraints);
                _UpdateSelections();
            }

            return(constraints);
        }