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

        public void ClearSubshapes()
        {
            foreach (var subshape in Subshapes)
            {
                if (subshape.AisShape != null)
                {
                    WorkspaceController.Workspace.AisContext.Remove(subshape.AisShape, false);
                }
            }
            Subshapes.Clear();
        }
コード例 #2
0
        //--------------------------------------------------------------------------------------------------

        void _ProcessMouseSelect(MouseEventData data)
        {
            foreach (var detectedShape in data.DetectedShapes)
            {
                var subshape = Subshapes.FirstOrDefault(sh => sh.Shape.IsEqual(detectedShape));
                if (subshape != null)
                {
                    subshape.IsSelected = !subshape.IsSelected;
                    subshape.AisShape.SetColor(subshape.IsSelected ? Quantity_NameOfColor.Quantity_NOC_RED.ToColor() : Quantity_NameOfColor.Quantity_NOC_BLUE1.ToColor());
                    ChangedSubshape = subshape;
                    RaiseFinished();
                    break;
                }
            }
        }
コード例 #3
0
        //--------------------------------------------------------------------------------------------------

        public void AddSubshape(TopoDS_Shape shape, Trsf trsf, bool isSelected, int refId)
        {
            var subshape = new Subshape()
            {
                Shape      = shape,
                IsSelected = isSelected,
                AisShape   = new AIS_Shape(shape),
                RefId      = refId
            };

            //Debug.WriteLine(string.Format("Added component to sum: {0}", Subshapes.Count));

            subshape.AisShape.SetLocalTransformation(trsf);
            subshape.AisShape.SetColor(isSelected ? Colors.FilteredSubshapesHot : Colors.FilteredSubshapes);

            subshape.AisShape.Attributes().WireAspect().SetWidth(2);
            subshape.AisShape.SetZLayer(-2);
            WorkspaceController.Workspace.AisContext.Display(subshape.AisShape, false);
            WorkspaceController.Workspace.AisContext.Activate(subshape.AisShape, 0, false);
            WorkspaceController.Workspace.AisContext.SetSelectionSensitivity(subshape.AisShape, 0, 10);

            Subshapes.Add(subshape);
        }