Пример #1
0
    void Find_Gather_Points(Corelation relation, out GameObject pointX, out GameObject pointY)
    {
        pointX = GameObject.Find(relation.PointX.ToUpper());
        pointY = GameObject.Find(relation.PointY.ToUpper());

        GatherActivePoints(pointX, pointY);
    }
Пример #2
0
 Vector3 ConfigureEdgeWeight(Corelation relation, GameObject edge, Vector3 scale)
 {
     if (relation.Weight >= low && relation.Weight <= mid_low)
     {
         if (scale != Vector3.zero)
         {
             scale = Scale(scale, 0.8f, 0.8f);
         }
         SetEdgeColor(edge, Color.black);
     }
     if (relation.Weight > mid_low && relation.Weight <= mid)
     {
         if (scale != Vector3.zero)
         {
             scale = Scale(scale, 2f, 2f);
         }
         SetEdgeColor(edge, Color.blue);
     }
     if (relation.Weight > mid && relation.Weight <= high || Math.Abs(mid - high) < 0.00001)
     {
         if (scale != Vector3.zero)
         {
             scale = Scale(scale, 3f, 3f);
         }
         SetEdgeColor(edge, Color.yellow);
     }
     return(scale);
 }
Пример #3
0
        public void Proceed()
        {
            if (IsAllChecked())
            {
                CorelationSignalChartValues.Clear();

                if (IsCrossCorelation)
                {
                    FinalSignal = Corelation.CrossCorealtion(FirstSignal, SecondSignal, Normalize);
                }
                else
                {
                    FinalSignal = Corelation.autoCorelation(FirstSignal, Normalize);
                }

                if (FinalSignal.Count > 0)
                {
                    OutputString = "";
                    foreach (var item in FinalSignal)
                    {
                        OutputString += $"{item:F3} ";
                    }

                    OutputSignal.Text = OutputString;

                    foreach (var item in FinalSignal)
                    {
                        CorelationSignalChartValues.Add(new ObservableValue(item));
                    }

                    BindSeries();
                }
            }
        }
Пример #4
0
    void Load_Init_Prefab_Edge(Corelation relation, out GameObject pointX, out GameObject pointY, out Vector3 region_start, out Vector3 region_end, out GameObject edge)
    {
        Find_Gather_Points(relation, out pointX, out pointY);

        region_start          = pointX.transform.position;
        region_end            = pointY.transform.position;
        edge                  = Instantiate(Resources.LoadAsync("Edge").asset as GameObject);
        edge.name             = string.Concat(relation.PointX, "_", relation.PointY);
        edge.transform.parent = transform;
    }
Пример #5
0
    IList <Region> CollectActiveRegions(Corelation relation, IList <Region> regions_storage)
    {
        var pointX = global.Current_Region_list.SingleOrDefault(a => a.Abbreviation.ToUpper() == relation.PointX.ToUpper());
        var pointY = global.Current_Region_list.SingleOrDefault(a => a.Abbreviation.ToUpper() == relation.PointY.ToUpper());

        if (regions_storage.Contains(pointX))
        {
            regions_storage.Add(pointX);
        }
        if (!regions_storage.Contains(pointY))
        {
            regions_storage.Add(pointY);
        }

        return(regions_storage);
    }
Пример #6
0
    void Configure_Transformation(Corelation relation, GameObject edge, Vector3 region_start, Vector3 region_end)
    {
        var offset   = region_end - region_start;
        var position = (region_start + region_end) / 2;

        edge.transform.position = position;

        var scale = edge.transform.localScale;

        scale.y = Vector3.Distance(region_start, edge.transform.position);

        scale = ConfigureEdgeWeight(relation, edge, scale);

        edge.transform.localScale = scale;

        edge.transform.rotation = Quaternion.FromToRotation(Vector3.up, offset);
    }