Пример #1
0
        public override void CopyTo(CrosswalkStyle target)
        {
            base.CopyTo(target);

            if (target is ZebraCrosswalkStyle zebraTarget)
            {
                zebraTarget.UseSecondColor.Value = UseSecondColor;
                zebraTarget.SecondColor.Value    = SecondColor;

                zebraTarget.UseGap.Value    = UseGap;
                zebraTarget.GapLength.Value = GapLength;
                zebraTarget.GapPeriod.Value = GapPeriod;
            }

            if (target is IDashedCrosswalk dashedTarget)
            {
                dashedTarget.DashLength.Value  = DashLength;
                dashedTarget.SpaceLength.Value = SpaceLength;
            }

            if (target is IParallel parallelTarget)
            {
                parallelTarget.Parallel.Value = Parallel;
            }
        }
Пример #2
0
 public override void CopyTo(CrosswalkStyle target)
 {
     base.CopyTo(target);
     if (target is IDoubleCrosswalk doubleTarget)
     {
         doubleTarget.Offset.Value = Offset;
     }
 }
Пример #3
0
 public override void CopyTo(CrosswalkStyle target)
 {
     base.CopyTo(target);
     if (target is ILinedCrosswalk linedTarget)
     {
         linedTarget.LineWidth.Value = LineWidth;
     }
 }
Пример #4
0
 public override void CopyTo(CrosswalkStyle target)
 {
     base.CopyTo(target);
     if (target is IDashedLine dashedTarget)
     {
         dashedTarget.DashLength.Value  = DashLength;
         dashedTarget.SpaceLength.Value = SpaceLength;
     }
 }
Пример #5
0
 public static T GetDefault <T>(StyleType type) where T : Style
 {
     return((type & StyleType.GroupMask) switch
     {
         StyleType.RegularLine when RegularLineStyle.GetDefault((RegularLineStyle.RegularLineType)(int) type) is T tStyle => tStyle,
         StyleType.StopLine when StopLineStyle.GetDefault((StopLineStyle.StopLineType)(int) type) is T tStyle => tStyle,
         StyleType.Filler when FillerStyle.GetDefault((FillerStyle.FillerType)(int) type) is T tStyle => tStyle,
         StyleType.Crosswalk when CrosswalkStyle.GetDefault((CrosswalkStyle.CrosswalkType)(int) type) is T tStyle => tStyle,
         _ => null,
     });
Пример #6
0
 public override void CopyTo(CrosswalkStyle target)
 {
     base.CopyTo(target);
     if (target is ChessBoardCrosswalkStyle chessBoardTarget)
     {
         chessBoardTarget.SquareSide.Value = SquareSide;
         chessBoardTarget.LineCount.Value  = LineCount;
         chessBoardTarget.Invert.Value     = Invert;
     }
 }
Пример #7
0
        public override void CopyTo(CrosswalkStyle target)
        {
            base.CopyTo(target);

            if (target is CustomCrosswalkStyle customTarget)
            {
                customTarget.OffsetBefore.Value = OffsetBefore;
                customTarget.OffsetAfter.Value  = OffsetAfter;
            }
        }
Пример #8
0
        public MarkupCrosswalk(Markup markup, MarkupCrosswalkLine line, CrosswalkStyle style, MarkupRegularLine rightBorder = null, MarkupRegularLine leftBorder = null)
        {
            Markup        = markup;
            CrosswalkLine = line;
            CrosswalkLine.TrajectoryGetter = GetTrajectory;

            RightBorder          = new PropertyClassValue <MarkupRegularLine>("RB", CrosswalkChanged, rightBorder);
            LeftBorder           = new PropertyClassValue <MarkupRegularLine>("LB", CrosswalkChanged, leftBorder);
            style.OnStyleChanged = CrosswalkChanged;
            Style = new PropertyClassValue <CrosswalkStyle>(StyleChanged, style);

            CrosswalkLine.Start.Enter.TryGetPoint(CrosswalkLine.Start.Num, MarkupPoint.PointType.Enter, out MarkupPoint startPoint);
            CrosswalkLine.End.Enter.TryGetPoint(CrosswalkLine.End.Num, MarkupPoint.PointType.Enter, out MarkupPoint endPoint);
            EnterLine = new MarkupEnterLine(Markup, startPoint, endPoint);
        }
Пример #9
0
        public override void CopyTo(CrosswalkStyle target)
        {
            base.CopyTo(target);

            if (target is IDashedCrosswalk dashedTarget)
            {
                dashedTarget.DashLength.Value  = DashLength;
                dashedTarget.SpaceLength.Value = SpaceLength;
            }

            if (target is IParallel parallelTarget)
            {
                parallelTarget.Parallel.Value = Parallel;
            }
        }