|
@@ -5,7 +5,12 @@ using System;
|
|
|
using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Collections.ObjectModel;
|
|
|
+using System.Globalization;
|
|
|
+using System.IO;
|
|
|
+using System.Linq;
|
|
|
using System.Runtime.CompilerServices;
|
|
|
+using System.Text;
|
|
|
+using System.Threading;
|
|
|
using UnityEngine;
|
|
|
|
|
|
namespace Assets.StreetLight.Scripts
|
|
@@ -19,29 +24,26 @@ namespace Assets.StreetLight.Scripts
|
|
|
|
|
|
void Start()
|
|
|
{
|
|
|
- var cylinderUL = GameObject.Find("CylinderUL");
|
|
|
- var cylinderUR = GameObject.Find("CylinderUR");
|
|
|
- var cylinderDR = GameObject.Find("CylinderDR");
|
|
|
- var cylinderDL = GameObject.Find("CylinderDL");
|
|
|
- var sphere = GameObject.Find("Sphere");
|
|
|
- //// World to Unity Position
|
|
|
- ////var calibrationVectors = new List<Tuple<Vector3, Vector3>> {
|
|
|
- //// new Tuple<Vector3, Vector3>( new Vector3(-0.5225359f, -2.012292f, 3.934204f), new Vector3(cylinderUL.transform.position.x, cylinderUL.transform.position.y, cylinderUL.transform.position.z) ),
|
|
|
+ var filePath = @"C:\Users\nick.steyer\SmartStreetLight\StreetLight\Calibration.csv";
|
|
|
|
|
|
- //// new Tuple<Vector3, Vector3>(new Vector3(2.538264f, -2.015675f, 2.318164f), new Vector3(cylinderUR.transform.position.x, cylinderUR.transform.position.y, cylinderUR.transform.position.z)),
|
|
|
- //// new Tuple<Vector3, Vector3>(new Vector3(-1.551626f, -1.86093f, 2.275376f), new Vector3(cylinderDR.transform.position.x, cylinderDR.transform.position.y, cylinderDR.transform.position.z)),
|
|
|
- //// new Tuple<Vector3, Vector3>(new Vector3(-1.095514f, -1.981828f, 2.849167f), new Vector3(cylinderDL.transform.position.x, cylinderDL.transform.position.y, cylinderDL.transform.position.z)),
|
|
|
- //// new Tuple<Vector3, Vector3>(new Vector3(0.6326299f, -1.908295f, 2.349819f), new Vector3(sphere.transform.position.x, sphere.transform.position.y, sphere.transform.position.z))
|
|
|
- ////};
|
|
|
- var calibrationVectors = new List<CalibrationPoint> {
|
|
|
- new CalibrationPoint(new Vector3(-0.5225359f, -2.012292f, 3.934204f), new Vector3(cylinderUL.transform.position.x, cylinderUL.transform.position.y, cylinderUL.transform.position.z)),
|
|
|
- new CalibrationPoint(new Vector3(2.538264f, -2.015675f, 2.318164f), new Vector3(cylinderUR.transform.position.x, cylinderUR.transform.position.y, cylinderUR.transform.position.z)),
|
|
|
- new CalibrationPoint(new Vector3(-1.551626f, -1.86093f, 2.275376f), new Vector3(cylinderDR.transform.position.x, cylinderDR.transform.position.y, cylinderDR.transform.position.z)),
|
|
|
- new CalibrationPoint(new Vector3(-1.095514f, -1.981828f, 2.849167f), new Vector3(cylinderDL.transform.position.x, cylinderDL.transform.position.y, cylinderDL.transform.position.z)),
|
|
|
- new CalibrationPoint(new Vector3(0.6326299f, -1.908295f, 2.349819f), new Vector3(sphere.transform.position.x, sphere.transform.position.y, sphere.transform.position.z))
|
|
|
- };
|
|
|
+ var calibrationPoints = new List<CalibrationPoint>();
|
|
|
|
|
|
- PositionCalculator = new PositionCalculator(calibrationVectors);
|
|
|
+ var lines = File.ReadAllLines(filePath);
|
|
|
+ foreach (var line in lines.Skip(1))
|
|
|
+ {
|
|
|
+ var coordinates = line.Split(',').Skip(1).ToArray();
|
|
|
+ calibrationPoints.Add(new CalibrationPoint(
|
|
|
+ new Vector3(
|
|
|
+ float.Parse(coordinates[0], CultureInfo.InvariantCulture),
|
|
|
+ float.Parse(coordinates[1], CultureInfo.InvariantCulture),
|
|
|
+ float.Parse(coordinates[2], CultureInfo.InvariantCulture)),
|
|
|
+ new Vector3(
|
|
|
+ float.Parse(coordinates[3], CultureInfo.InvariantCulture),
|
|
|
+ float.Parse(coordinates[4], CultureInfo.InvariantCulture),
|
|
|
+ float.Parse(coordinates[5], CultureInfo.InvariantCulture))));
|
|
|
+ }
|
|
|
+
|
|
|
+ PositionCalculator = new PositionCalculator(calibrationPoints);
|
|
|
|
|
|
Persons = new ObservableCollection<Person>();
|
|
|
personDetector = new ZedPersonDetector(FindObjectOfType<ZEDManager>());
|