示例#1
0
        static Displayable deserialise_displayable(FDisplayable?displayable)
        {
            if (displayable.HasValue)
            {
                var d = displayable.Value;

                switch (d.DisplayableValueType)
                {
                case FDisplayableValue.NONE: break;

                case FDisplayableValue.FValue:
                    return(new DisplayableFloat(d.DisplayableName, d.DisplayableValue <FValue>()?.Val));

                case FDisplayableValue.FValues:
                    var v3 = d.DisplayableValue <FValues>().GetValueOrDefault();
                    _float_out.Clear();
                    for (var i = 0; i < v3.ValsLength; i++)
                    {
                        _float_out.Add((float)v3.Vals(i));
                    }

                    return(new DisplayableValues(d.DisplayableName, _float_out.ToArray()));

                case FDisplayableValue.FVector3s:
                    var v2 = d.DisplayableValue <FVector3s>().GetValueOrDefault();
                    _vector_out.Clear();
                    for (var i = 0; i < v2.PointsLength; i++)
                    {
                        var p = v2.Points(i).GetValueOrDefault();
                        var v = new Vector3((float)p.X, (float)p.Y, (float)p.Z);
                        _vector_out.Add(v);
                    }

                    return(new DisplayableVector3S(d.DisplayableName, _vector_out.ToArray()));

                case FDisplayableValue.FValuedVector3s:
                    var flat_fvec3 = d.DisplayableValue <FValuedVector3s>().GetValueOrDefault();
                    _output.Clear();

                    for (var i = 0; i < flat_fvec3.PointsLength; i++)
                    {
                        var val = (float)flat_fvec3.Vals(i);
                        var p   = flat_fvec3.Points(i).GetValueOrDefault();
                        var v   = new Points.ValuePoint(new Vector3((float)p.X, (float)p.Y, (float)p.Z), val, 1);
                        _output.Add(v);
                    }

                    return(new DisplayableValuedVector3S(d.DisplayableName, _output.ToArray()));

                case FDisplayableValue.FString:
                    return(new DisplayableString(d.DisplayableName, d.DisplayableValue <FString>()?.Str));

                case FDisplayableValue.FByteArray: break;

                default: throw new ArgumentOutOfRangeException();
                }
            }

            return(null);
        }
示例#2
0
 /// <inheritdoc />
 /// <summary>
 /// </summary>
 public override void Display(Points.ValuePoint points)
 {
     if (this._text_component)
     {
         this._text_component.text = points.ToString();
     }
 }
示例#3
0
        /// <inheritdoc />
        /// <summary>
        /// </summary>
        public override void Display(Points.ValuePoint points)
        {
      #if NEODROID_DEBUG
            DebugPrinting.DisplayPrint(points, this.Identifier, this.Debugging);
      #endif

            this.SetText(points.ToString());
        }
示例#4
0
        /// <summary>
        /// </summary>
        /// <param name="size"></param>
        /// <param name="min_val"></param>
        /// <param name="max_val"></param>
        /// <param name="particle_size"></param>
        /// <returns></returns>
        public static Points.ValuePoint[] SampleRandomSeries(
            int size,
            float min_val       = 0,
            float max_val       = 5,
            float particle_size = 1)
        {
            _points.Clear();
            for (var j = 0; j < size; j++)
            {
                var point = new Vector3(j, Random.Range(min_val, max_val), 0);
                var vp    = new Points.ValuePoint(point, Random.Range(min_val, max_val), particle_size);
                _points.Add(vp);
            }

            var points = _points.ToArray();

            return(points);
        }
示例#5
0
        /// <summary>
        /// </summary>
        /// <param name="size"></param>
        /// <param name="min_val"></param>
        /// <param name="max_val"></param>
        /// <param name="particle_size_min"></param>
        /// <param name="particle_size_max"></param>
        /// <returns></returns>
        public static Points.ValuePoint[] SampleRandomSeries(int size,
                                                             float min_val           = 0,
                                                             float max_val           = 5,
                                                             float particle_size_min = 0.2f,
                                                             float particle_size_max = 1.8f)
        {
            var s = new SampleSpace3 {
                _space = Space3.MinusOneOne
            };

            _points.Clear();
            for (var j = 0; j < size; j++)
            {
                var point = s.Sample() * max_val;
                var vp    = new Points.ValuePoint(point,
                                                  Random.Range(min_val, max_val),
                                                  Random.Range(particle_size_min, particle_size_max));
                _points.Add(vp);
            }

            var points = _points.ToArray();

            return(points);
        }
示例#6
0
 /// <inheritdoc />
 /// <summary>
 /// </summary>
 public override void Display(Points.ValuePoint points)
 {
     throw new NotImplementedException();
 }
示例#7
0
 public override void Display(Points.ValuePoint points)
 {
     this.PlotSeries(new[] { points });
 }
示例#8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="point"></param>
 public abstract void Display(Points.ValuePoint point);