//-------------------------------------------------------------------------------------------------- public override bool Start() { if (_SourceEntity != null) { _SelectionContext = WorkspaceController.Selection.OpenContext(); _SelectionContext.Include(_SourceEntity); } else if (_Shapes != null) { _SelectionContext = WorkspaceController.Selection.OpenContext(); _AisShapes = new List <AIS_Shape>(_Shapes.Count); foreach (var shape in _Shapes) { var aisShape = new AIS_Shape(shape); aisShape.SetColor(Colors.FilteredSubshapes); aisShape.Attributes().SetPointAspect(Marker.CreateBitmapPointAspect(Marker.BallImage, Colors.FilteredSubshapes)); aisShape.Attributes().WireAspect().SetWidth(2); aisShape.SetZLayer(-2); WorkspaceController.Workspace.AisContext.Display(aisShape, false); WorkspaceController.Workspace.AisContext.Activate(aisShape, 0, false); WorkspaceController.Workspace.AisContext.SetSelectionSensitivity(aisShape, 0, 10); _AisShapes.Add(aisShape); } } else { _SelectionContext = WorkspaceController.Selection.OpenContext(SelectionContext.Options.IncludeAll); } _SelectionContext.SetSubshapeSelection(_SubshapeTypes); _SelectionContext.SetSelectionFilter(_SelectionFilter); return(true); }
//-------------------------------------------------------------------------------------------------- public override bool Start() { _SelectionContext = WorkspaceController.Selection.OpenContext(SelectionContext.Options.None); foreach (var entity in WorkspaceController.VisualShapes.GetVisibleEntities()) { if (!entity.IsVisible) { continue; } var castedEntity = entity as T; if (castedEntity == null) { continue; } if (_FilterFunc != null) { if (!_FilterFunc(entity as T)) { continue; } } _SelectionContext.Include(entity); } return(true); }