public void SwitchToFaceSelection() { if (InFaceSelection) { return; } foreach (var face in SelectedFaces) { face.IsSelected = false; } SelectedFaces.Clear(); SelectedFaces.UnionWith(GetSelectedObjects() .OfType <Solid>() .SelectMany(x => { var disps = x.Faces.Where(y => y is Displacement); return(disps.Any() ? disps : x.Faces); })); foreach (var face in SelectedFaces) { face.IsSelected = true; } foreach (var obj in SelectedObjects) { obj.IsSelected = false; } SelectedObjects.Clear(); InFaceSelection = true; Mediator.Publish(EditorMediator.SelectionTypeChanged, Document); Mediator.Publish(EditorMediator.SelectionChanged, Document); }
public void Deselect(IEnumerable <Face> faces) { var list = faces.ToList(); SelectedFaces.ExceptWith(list); foreach (var o in list) { o.IsSelected = false; } }
public void Select(IEnumerable <Face> faces) { var list = faces.ToList(); foreach (var face in list) { face.IsSelected = true; } SelectedFaces.UnionWith(list); }
public void Clear() { foreach (var obj in SelectedObjects) { obj.IsSelected = false; } SelectedObjects.Clear(); foreach (var face in SelectedFaces) { face.IsSelected = false; } SelectedFaces.Clear(); }
public void Deselect(Face face) { SelectedFaces.Remove(face); face.IsSelected = false; }
public void Select(Face face) { face.IsSelected = true; SelectedFaces.Add(face); }