Пример #1
0
    /*
     * setText ("表示したいString", 表示先のTextMeshの番号);でHoloLensの画面上のTextMeshにStringが表示可能
     * TextMeshは
     * 1.sceneのHoloLensCameraの子要素としてTextMeshを新たに追加(他のをコピーするとやりやすい)
     * 2.表示したい位置を決める(他のをコピーすることで位置決めが容易)
     * 3.このUpdate()にsetText("表示したいString", 表示先のTextMeshの番号);と記述し、完了
     */
    void Update()
    {
        display();
        setText("Pos: " + destination.transform.position, 0);
        setText("Dis: " + Vector3.Distance(destination.transform.position, transform.position), 1);
        setText("Rot: " + getDistinationVec(), 2);
        setText("Guidance: " + getDirection(), 3);
        setText("Bluetooth State: " + getBluetoothState(), 4);
        setText("GapX: " + csm.getGap().gapX + " GapY: " + csm.getGap().gapY + " Angle: " + csm.getGap().gapAngle, 5);
        setText("Avoiding :" + mr.huNav.isAvoiding, 6);
        setText("Trajectory :" + trajectory.isLineOn, 7);
        if (csm.getPulldogData() != null && csm.getHoloLensData() != null)
        {
            setText("pDataNum :" + csm.getPulldogData().Count + " hDataNum:" + csm.getHoloLensData().Count, 8);
        }
        setText("Test :" + getTestText(), 9);
        if (csm.getPulldogData() != null)
        {
            if (csm.getPulldogData().Count != 0)
            {
                List <JsonTimeAndPositionLog> pulldogData = csm.getPulldogData();
                setText(pulldogData.Last().mTime.Minutes + "," + pulldogData.Last().mTime.Seconds + "," + pulldogData.Last().location.x + "," + pulldogData.Last().location.y, 10);
            }
        }

        if (tsl.getJsonTimeAndPositionLogByBaseTime(blue.getBluetoothBaseTime()).Count != 0)
        {
            List <JsonTimeAndPositionLog> taldList = tsl.getJsonTimeAndPositionLogByBaseTime(blue.getBluetoothBaseTime());
            var now = taldList[taldList.Count - 1];

            setText(now.mTime.Subtract(blue.getBluetoothBaseTime()).Minutes + "," + now.mTime.Subtract(blue.getBluetoothBaseTime()).Seconds + "," + now.location.x + "," + now.location.y, 11);
        }
        setText("Bluetooth :" + blue.getMessageForDisp(), 12);


        dp.humanNav.log.writeMessage_me("me," + transform.position.x + "," + transform.position.z);
    }
Пример #2
0
    // Update is called once per frame

    /*
     * データのサンプリングを行い、データ数が十分であれば座標系同士のズレを計算する
     */
    void Update()
    {
        if (ab != null)
        {
            pData.AddRange(ab.getTAPLDataFromAndroid());                                                                                                                          //Bluetooth通信でPULLDOGの時間・Location情報を取得
            if (pData.Count != 0)                                                                                                                                                 //返値がNullでなければ
            {
                if (pData.Count > CALCULATE_POSITION_NUMBER + 10)                                                                                                                 //サンプリングを行うときにデータをpDataのデータ数を10個余分に見ておくことで、一回のサンプリングで完了できるようにしている(10個は適当)
                {
                    List <List <JsonTimeAndPositionLog> > listForCalGap = samplingFromHoloLensLogList(tsl.getJsonTimeAndPositionLogByBaseTime(ab.getBluetoothBaseTime()), pData); //参照する数だけHoloLensの時間・Location情報を取得
                    if (listForCalGap != null)
                    {                                                                                                                                                             //返値がNullでなければ
                        cordinateGap = calculateGap(listForCalGap);                                                                                                               //Gapを計算
                        for (int i = 0; i < listForCalGap[1].Count || i < listForCalGap[0].Count; i++)                                                                            //データの表示
                        {
                            if (i < listForCalGap[1].Count)
                            {
                                ol.writeMessage_trajectory("HoloLens,Time," + listForCalGap[1][i].mTime.Minutes + ";" + listForCalGap[1][i].mTime.Seconds + ";" + listForCalGap[1][i].mTime.Milliseconds + ",x," + listForCalGap[1][i].location.x + ",y," + listForCalGap[1][i].location.y);
                            }
                            if (i < listForCalGap[0].Count)
                            {
                                ol.writeMessage_trajectory("PullDog,Time," + listForCalGap[0][i].mTime.Minutes + ";" + listForCalGap[0][i].mTime.Seconds + ";" + listForCalGap[0][i].mTime.Milliseconds + ",x," + listForCalGap[0][i].location.x + ",y," + listForCalGap[0][i].location.y);
                            }
                        }
                        ol.writeMessage_trajectory("Gap,x," + cordinateGap.gapX + ",y," + cordinateGap.gapY + ",Angle," + cordinateGap.gapAngle); //データの表示
                        //cordinateGap = new Gap();
                        pData = new List <JsonTimeAndPositionLog>();
                        tsl.clearjTAPLList();
                        //CALCULATE_POSITION_NUMBER += 10;
                    }
                }
            }
        }
    }