public override void LoadThermalData <T, C>() { if (thermalData == null || !(thermalData is T)) { thermalData = new T(); } VisionDataIO.LoadFromBinary(visionFile, thermalData as T, ref dataHeader); }
IEnumerator GenerateHeatmap() { progress.info = "Adding mesh colliders ..."; progress.value = 0; IEnumerator enableCollision = EnableCollision(true); while (enableCollision.MoveNext()) { yield return(null); } VisionDataIO.Header header; Dictionary <uint, float> values = new Dictionary <uint, float>(); foreach (string file in parameters.files) { if (cancelHeatmapGeneration) { break; } progress.info = "Loading motion data ..."; progress.value = 0.5f; yield return(null); MotionData data = MotionTracker.LoadData(file); if (data == null) { Debug.LogError("Couldn't load data for " + file); continue; } if (cancelHeatmapGeneration) { break; } if (data.positions.Count > 1) { progress.info = "Generating heatmap ..."; progress.value = 0; // Reset values.Clear(); minValue = float.PositiveInfinity; maxValue = 0f; IEnumerator generateValues = GenerateValues(data, values, parameters.customFPS); while (generateValues.MoveNext()) { yield return(null); } if (cancelHeatmapGeneration) { break; } string visionFile = file.Substring(0, file.Length - 3) + Extension; progress.info = "Saving heatmap ..."; progress.value = 0.5f; yield return(null); header.resolution = parameters.resolution; header.minValue = minValue; header.maxValue = maxValue; header.sizeX = parameters.volumeSize.x; header.sizeY = parameters.volumeSize.y; header.sizeZ = parameters.volumeSize.z; VisionDataIO.SaveToBinary(visionFile, header, values); } } progress.info = "Removing mesh colliders ..."; progress.value = 0; enableCollision = EnableCollision(false); while (enableCollision.MoveNext()) { yield return(null); } progress.value = 1f; heatmapCoroutine = null; }