コード例 #1
0
        //--------------------------------------------------------------------------------------------------

        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);
        }
コード例 #2
0
        //--------------------------------------------------------------------------------------------------

        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);
        }