private void CreateTickInfos(double[] ticks, out LinearTickPosition[] tickInfos, out TickFormattedText[] tickLabels, out GridLinePosition[] lines)
        {
            var tickInfoList  = new List <LinearTickPosition>();
            var tickLabelList = new List <TickFormattedText>();
            var gridLines     = new List <GridLinePosition>();

            if (ticks != null && ticks.Length > 0)
            {
                foreach (var tick in ticks)
                {
                    var t = new LinearTickPosition()
                    {
                        Value    = tick,
                        Position = axis.GetPositionByValue(tick),
                        Length   = LinearAxisModel.MajorTickLength,
                    };
                    tickInfoList.Add(t);
                    var text = new TickFormattedText()
                    {
                        Position = t.Position,
                        Text     = GetTickLabelFormator().GetFormattedText(AxisModel.DataConverter != null ? AxisModel.DataConverter.ToDataValue(tick) : tick),
                    };
                    tickLabelList.Add(text);
                    gridLines.Add(new GridLinePosition(t.Position, true));
                }
            }
            tickInfos  = tickInfoList.ToArray();
            tickLabels = tickLabelList.ToArray();
            lines      = gridLines.ToArray();
        }
Example #2
0
        private LinearTickPosition[] CreateCurrentMinorTicks(Range <double> preAxisRange, Range <double> postAxisRange, List <Range <double> > preRanges, List <Range <double> > postRanges)
        {
            var preMinorTicks  = minorTickCalculator.CreateTicks(preRanges.ToArray(), preAxisRange);
            var postMinorTicks = minorTickCalculator.CreateTicks(postRanges.ToArray(), postAxisRange);
            var minorTicks     = new List <LinearTickPosition>();

            if (preMinorTicks != null && preMinorTicks.Length > 0)
            {
                preMinorTicks.ToList().ForEach((tick) =>
                {
                    if (SweepLinearXAxis.PostPartValid || SweepLinearXAxis.InPrePartRange(tick))
                    {
                        var t = new LinearTickPosition()
                        {
                            Value    = tick,
                            Position = preAxis.GetPositionByValue(tick),
                            Length   = SweepLinearAxisModel.MinorTickLength,
                        };
                        minorTicks.Add(t);
                    }
                });
            }
            if (SweepLinearXAxis.PostPartValid && postMinorTicks != null && postMinorTicks.Length > 0)
            {
                postMinorTicks.ToList().ForEach((tick) =>
                {
                    if (SweepLinearXAxis.InPostPartRange(tick))
                    {
                        var t = new LinearTickPosition()
                        {
                            Value    = tick,
                            Position = postAxis.GetPositionByValue(tick),
                            Length   = SweepLinearAxisModel.MinorTickLength,
                        };
                        minorTicks.Add(t);
                    }
                });
            }

            return(minorTicks.ToArray());
        }
        private void CreateMinorTickInfos(double[] ticks, out LinearTickPosition[] tickInfos)
        {
            var tickInfoList  = new List <LinearTickPosition>();
            var tickLabelList = new List <TickFormattedText>();
            var gridLines     = new List <GridLinePosition>();

            if (ticks != null && ticks.Length > 0)
            {
                foreach (var tick in ticks)
                {
                    var t = new LinearTickPosition()
                    {
                        Value    = tick,
                        Position = axis.GetPositionByValue(tick),
                        Length   = LinearAxisModel.MinorTickLength,
                    };
                    tickInfoList.Add(t);
                }
            }
            tickInfos = tickInfoList.ToArray();
        }
Example #4
0
        private void CreateTickTexts(out TickFormattedText[] texts, out LinearTickPosition[] ticks, out GridLinePosition[] lines)
        {
            var checkPreTicks  = tickCalculator.CreateTicks(new Range <double>(preAxis.Minimum, preAxis.Maximum));
            var checkPostTicks = tickCalculator.CreateTicks(new Range <double>(postAxis.Minimum, postAxis.Maximum));

            var tickTexts = new List <TickFormattedText>();
            var tickPoses = new List <LinearTickPosition>();
            var gridLines = new List <GridLinePosition>();

            if (checkPreTicks != null && checkPreTicks.Length > 0)
            {
                checkPreTicks.ToList().ForEach((tick) =>
                {
                    if (SweepLinearXAxis.PostPartValid == false || SweepLinearXAxis.InPrePartRange(tick))
                    {
                        var text = new TickFormattedText()
                        {
                            Position = preAxis.GetPositionByValue(tick),
                            Text     = GetTickLabelFormator().GetFormattedText(AxisModel.DataConverter != null ? AxisModel.DataConverter.ToDataValue(tick) : tick),
                        };
                        tickTexts.Add(text);
                        var t = new LinearTickPosition()
                        {
                            Value    = tick,
                            Position = text.Position,
                            Length   = SweepLinearAxisModel.MajorTickLength,
                        };
                        tickPoses.Add(t);
                        gridLines.Add(new GridLinePosition(text.Position, true));
                    }
                });
            }

            if (SweepLinearXAxis.PostPartValid && checkPostTicks != null && checkPostTicks.Length > 0)
            {
                checkPostTicks.ToList().ForEach((tick) =>
                {
                    if (SweepLinearXAxis.InPostPartRange(tick))
                    {
                        var text = new TickFormattedText()
                        {
                            Position = postAxis.GetPositionByValue(tick),
                            Text     = GetTickLabelFormator().GetFormattedText(AxisModel.DataConverter != null ? AxisModel.DataConverter.ToDataValue(tick) : tick),
                        };
                        tickTexts.Add(text);
                        var t = new LinearTickPosition()
                        {
                            Value    = tick,
                            Position = text.Position,
                            Length   = SweepLinearAxisModel.MajorTickLength,
                        };
                        tickPoses.Add(t);
                        gridLines.Add(new GridLinePosition(text.Position, true));
                    }
                });
            }

            texts = tickTexts.ToArray();
            ticks = tickPoses.ToArray();
            lines = gridLines.ToArray();
        }