Example #1
0
        //--------------------------------------------------------------------------------------------------

        #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));
        }
Example #2
0
        //--------------------------------------------------------------------------------------------------

        public override void Delete()
        {
            SelectedConstraints.ForEach(c => Sketch.DeleteConstraint(c));
            SelectedSegments.ForEach(s => Sketch.DeleteSegment(s));
            SelectedPoints.ForEach(p => SketchUtils.DeletePointTrySubstituteSegments(Sketch, p));

            Sketch.SolveConstraints(true);
            InteractiveContext.Current.UndoHandler.Commit();

            Select(null, null);
        }
Example #3
0
        //--------------------------------------------------------------------------------------------------

        void _UpdateStatusText()
        {
            if (SelectedSegments.Any() && !SelectedPoints.Any() && !SelectedConstraints.Any())
            {
                StatusText = SelectedSegments.Count == 1 ? string.Format(SegmentSelectedStatusText, SelectedSegments[0].GetType().Name) : string.Format(MultiSegmentSelectedStatusText, SelectedSegments.Count);
            }
            else if (!SelectedSegments.Any() && SelectedPoints.Any() && !SelectedConstraints.Any())
            {
                StatusText = SelectedPoints.Count == 1 ? string.Format(PointSelectedStatusText, SelectedPoints[0]) : string.Format(MultiPointSelectedStatusText, SelectedPoints.Count);
            }
            else if (!SelectedSegments.Any() && !SelectedPoints.Any() && SelectedConstraints.Any())
            {
                StatusText = SelectedConstraints.Count == 1 ? string.Format(ConstraintSelectedStatusText, SelectedConstraints[0].GetType().Name) : string.Format(MultiConstraintSelectedStatusText, SelectedConstraints.Count);
            }
            else
            if (SelectedSegments.Any() || SelectedPoints.Any() || SelectedConstraints.Any())
            {
                StatusText = MixedSelectedStatusText;
            }
            else
            {
                StatusText = UnselectedStatusText;
            }
        }