Beispiel #1
0
        //--------------------------------------------------------------------------------------------------

        bool _EnsureAisObject()
        {
            if (_AisCircle != null)
            {
                return(true);
            }

            if (_Circle == null)
            {
                return(false);
            }

            if (_Circle.Radius() <= 0)
            {
                return(false);
            }

            _AisCircle = new AIS_Circle(_Circle);

            SetAspects(_AisCircle, _Style);

            AisContext.Display(_AisCircle, false);
            AisContext.Deactivate(_AisCircle);
            return(true);
        }
        //--------------------------------------------------------------------------------------------------

        void _UpdateInteractivityStatus()
        {
            if (_AisShape == null)
            {
                return;
            }

            if (_Options.HasFlag(Options.Ghosting))
            {
                AisContext.Display(_AisShape, false);
                AisContext.Deactivate(_AisShape);
                return;
            }

            var layer = _ShapeSource?.GetLayer();

            if (layer == null)
            {
                return;
            }

            bool isVisible = !_IsHidden && layer.IsVisible;

            if (WorkspaceController.VisualShapes.EntityIsolationEnabled)
            {
                isVisible &= WorkspaceController.VisualShapes.GetIsolatedEntities().Contains(_ShapeSource);
            }

            if (isVisible)
            {
                if (AisContext.IsDisplayed(_AisShape))
                {
                    AisContext.Update(_AisShape, false);
                }
                else
                {
                    AisContext.Display(_AisShape, false);
                }

                _UpdateSelectionSensitivity();
            }
            else
            {
                if (AisContext.IsDisplayed(_AisShape))
                {
                    AisContext.Erase(_AisShape, false);
                }
            }

            _RaiseAisObjectChanged();
        }
Beispiel #3
0
        //--------------------------------------------------------------------------------------------------

        bool _EnsureAisObject()
        {
            if (_AisAxis != null)
            {
                return(true);
            }

            _AisAxis = new AIS_AxisEx(new Geom_Line(Ax1.OX));
            _AisAxis.SetWidth(3);
            _AisAxis.SetColor(new Quantity_Color(Quantity_NameOfColor.Quantity_NOC_RED));

            var datumAspect = new Prs3d_DatumAspect();

            datumAspect.LineAspect(Prs3d_DatumParts.Prs3d_DP_XArrow).SetTypeOfLine(Aspect_TypeOfLine.Aspect_TOL_SOLID);
            datumAspect.ArrowAspect().SetLength(5);

            SetAspects(_AisAxis, _Style);

            AisContext.Display(_AisAxis, false);
            AisContext.Deactivate(_AisAxis);
            return(true);
        }
Beispiel #4
0
        //--------------------------------------------------------------------------------------------------

        bool _EnsureAisObject()
        {
            if (_AisLine != null)
            {
                return(true);
            }

            if (((_P1 == null) || (_P2 == null)) &&
                (_GeomLine == null))
            {
                return(false);
            }

            _AisLine = (_GeomLine != null)
                ? new AIS_Line(_GeomLine)
                : new AIS_Line(_P1, _P2);

            SetAspects(_AisLine, _Style);

            AisContext.Display(_AisLine, false);
            AisContext.Deactivate(_AisLine);
            return(true);
        }
Beispiel #5
0
        //--------------------------------------------------------------------------------------------------

        bool _EnsureAisObject()
        {
            if (_AisPoint != null)
            {
                return(true);
            }

            if (_P == null)
            {
                return(false);
            }

            Prs3d_PointAspect pointAspect;

            _AisPoint = new AIS_PointEx(_P);

            switch (_Styles & Styles.ModeMask)
            {
            case Styles.Bitmap:
                _AisPoint.SetMarker(Aspect_TypeOfMarker.Aspect_TOM_USERDEFINED);
                _AisPoint.SetColor(_Color);

                pointAspect = CreateBitmapPointAspect(_Image, Colors.BallMarker);
                _AisPoint.Attributes().SetPointAspect(pointAspect);
                _AisPoint.HilightAttributes().SetPointAspect(pointAspect);
                _AisPoint.HilightAttributes().SetColor(Colors.Highlight);
                _AisPoint.DynamicHilightAttributes().SetPointAspect(pointAspect);
                _AisPoint.DynamicHilightAttributes().SetColor(Colors.Highlight);
                break;

            case Styles.Image:
                _AisPoint.SetMarker(Aspect_TypeOfMarker.Aspect_TOM_USERDEFINED);

                pointAspect = CreateImagePointAspect(_Image);
                _AisPoint.Attributes().SetPointAspect(pointAspect);
                _AisPoint.HilightAttributes().SetPointAspect(pointAspect);
                _AisPoint.HilightAttributes().SetColor(Colors.Highlight);
                _AisPoint.DynamicHilightAttributes().SetPointAspect(pointAspect);
                _AisPoint.DynamicHilightAttributes().SetColor(Colors.Highlight);

                if (_Styles.HasFlag(Styles.Background))
                {
                    _AisPoint.EnableBackground(0.75);
                }
                break;
            }

            if (_Styles.HasFlag(Styles.Topmost))
            {
                _AisPoint.SetZLayer(-4); // TopOSD
                _AisPoint.HilightAttributes().SetZLayer(-4);
                _AisPoint.DynamicHilightAttributes().SetZLayer(-4);
            }

            AisContext.Display(_AisPoint, 0, _Styles.HasFlag(Styles.Selectable) ? 0 : -1, false);
            AisContext.SetSelectionSensitivity(_AisPoint, 0, Math.Min(_Image.Height, _Image.Width));

            _UpdateActivation();

            return(true);
        }