/// <summary> /// Reads the stored additional information. /// </summary> /// <param name="cameraSetup"></param> The camera setup to modify with the parsed information. public void ReadCOLIBRIVRAdditionalInformation(CameraSetup cameraSetup) { string[] lines = File.ReadAllLines(additionalInfoFile); foreach (string line in lines) { if (!line.StartsWith("#")) { string[] split = line.Split(' '); if (split.Length > 2) { Vector3 newInitialViewingPosition = new Vector3(GeneralToolkit.ParseFloat(split[0]), GeneralToolkit.ParseFloat(split[1]), GeneralToolkit.ParseFloat(split[2])); cameraSetup.SetAdditionalParameters(newInitialViewingPosition); } } } }
/// <summary> /// Reads the stored additional information. /// </summary> /// <param name="cameraSetup"></param> The camera setup to modify with the parsed information. public void ReadCOLIBRIVRAdditionalInformation(CameraSetup cameraSetup) { string[] lines = File.ReadAllLines(additionalInfoFile); for (int i = 0; i < lines.Length; ++i) { if (lines[i].Contains("INITIAL_VIEWING_POSITION")) { string[] split = lines[++i].Split(' '); if (split.Length == 3) { Vector3 newInitialViewingPosition = new Vector3(GeneralToolkit.ParseFloat(split[0]), GeneralToolkit.ParseFloat(split[1]), GeneralToolkit.ParseFloat(split[2])); cameraSetup.SetAdditionalParameters(newInitialViewingPosition); } continue; } if (lines[i].Contains("DISTANCE_RANGE")) { while (i + 1 < lines.Length && !lines[i + 1].StartsWith("#")) { string[] split = lines[++i].Split(' '); if (split.Length == 3) { int cameraReferenceIndex = GeneralToolkit.ParseInt(split[0]); Vector2 newDistanceRange = new Vector2(GeneralToolkit.ParseFloat(split[1]), GeneralToolkit.ParseFloat(split[2])); // Find the referenced camera and set its distance range foreach (CameraModel camera in cameraSetup.cameraModels) { if (camera.cameraReferenceIndex == cameraReferenceIndex) { camera.distanceRange = newDistanceRange; } } } } } } }