Exemplo n.º 1
0
 /// <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;
                                }
                            }
                        }
                    }
                }
            }
        }