public void OnTrackedObjectUpdate(TrackedObjectData data) { TimeSinceLastUpdate = 0; TimeFadeAmount = 0;// Mathf.Max(0.0f, TimeFadeAmount -= Time.deltaTime); scores[(int)data.type] += 1; for (int it = 0; it < scores.Length; it++) { if (scores[it] > scores[(int)bestClassification]) { bestClassification = (TrackedObjectType)it; } } for (int it = 0; it < renderers.Length; it++) { if (renderers[it] != null) { renderers[it].enabled = (it == (int)bestClassification); } } this.transform.position = data.position; Vector3 eulerAngles = this.transform.eulerAngles; eulerAngles.y = data.rotation; this.transform.eulerAngles = eulerAngles; }
public override void SetMarkerData(TrackedObjectData data) { if (data != null) { trackedNameText.text = data.name; } }
public override FrustumTrackedObject AddTrackedObject(Transform obj, TrackedObjectData data = null) { var ft = base.AddTrackedObject <FrustumTrackedTransformRoot>(obj, data); TestTrackedObject(ft); ft.RefreshState(); return(ft); }
public TrackedObjectData GetTrackedObjectData() { TrackedObjectData tod = new TrackedObjectData(); tod.position = this.transform.position; tod.rotation = this.transform.eulerAngles.y; tod.type = Type; return(tod); }
protected virtual T AddTrackedObject <T>(Transform obj, TrackedObjectData data = null) where T : FrustumTrackedObject { var ft = AddTrackedObject <T>(obj); if (data == null) { data = new TrackedObjectData { name = obj.name }; } ft.data = data; return(ft); }
public void OnTrackedObjectUpdate(List <TrackedObjectData> trackedObjects) { for (int it = 0; it < trackedObjects.Count; it++) { TrackedObjectData tod = trackedObjects[it]; bool anyFound = false; for (int j = 0; j < activeObjects.Count; j++) { TrackedObject to = activeObjects[j]; if (to.ID == tod.id) { anyFound = true; to.OnTrackedObjectUpdate(tod); break; } } if (!anyFound) { TrackedObject to = null; if (trackedObjectsPool.Count > 0) { int lastIdx = trackedObjectsPool.Count - 1; to = trackedObjectsPool[lastIdx]; trackedObjectsPool.RemoveAt(lastIdx); to.gameObject.SetActive(true); Debug.Log("Recycling"); } else { Debug.Log("Created tracked object"); to = createTrackedObject(); } to.ResetObject(tod.id); activeObjects.Add(to); to.transform.parent = activeObjectParent; to.OnTrackedObjectUpdate(tod); } } }
// Update is called once per frame void Update() { timeSinceLastUpdate += Time.deltaTime; if (timeSinceLastUpdate >= updateFreq) { timeSinceLastUpdate = 0.0f; float radius = this.transform.localScale.magnitude * 0.5f; GroundTruthObject[] objs = worldParent.GetComponentsInChildren <GroundTruthObject>(); List <TrackedObjectData> tods = new List <TrackedObjectData>(); int idx = 0; foreach (GroundTruthObject obj in objs) { if ((obj.transform.position - this.transform.position).magnitude < radius) { TrackedObjectData tod = obj.GetTrackedObjectData(); tod.id = idx; idx++; tods.Add(tod); } } manager.OnTrackedObjectUpdate(tods); } }
public override FrustumTrackedObject AddTrackedObject(Transform objTransform, TrackedObjectData data = null) { return(AddTrackedObject <FrustumTrackedObjectWithRenderer>(objTransform, data)); }
public virtual void SetMarkerData(TrackedObjectData data) { Debug.Log("Nem marker created with name " + data.name); }
public abstract FrustumTrackedObject AddTrackedObject(Transform obj, TrackedObjectData data = null);