public void Save() { var path = Path.Combine(Application.RootFolder, "Routes", Name + ".route"); if (!File.Exists(path)) { File.Delete(path); } List <string> lines = new List <string>(); lines.Add(PreviewCameraPosition.ConvertToString()); lines.Add(PreviewCameraDirection.ConvertToString()); lines.Add(""); lines.Add(SpawnPosition.ConvertToString()); lines.Add(SpawnRotation.ConvertToString()); lines.Add(""); Application.Console.WriteLine("[Route.Save]: Saving route " + Name + " with " + Barriers.Count + " barriers"); foreach (var b in Barriers) { Application.Console.WriteLine("[Route.Save]: Writing barrier with midpoint " + b.Midpoint.X + " | " + b.Midpoint.Y); for (int j = 0; j < b.Coordinates.Count; j++) { lines.Add(b.Coordinates[j].ConvertToString()); Application.Console.WriteLine(b.Coordinates[j].ConvertToString()); } lines.Add(""); } File.WriteAllLines(path, lines); }
private void InitGL() { if (glview == null) { previewType = PreviewGeometryType.Cube; previewCameraMode = PreviewCameraMode.Perspective; previewPosition = PreviewCameraPosition.Perspective; glview = new OpenTK.GLControl(GraphicsMode.Default); glview.Load += Glview_Load; glview.Paint += Glview_Paint; glview.MouseWheel += Glview_MouseWheel; glview.MouseMove += Glview_MouseMove; glview.MouseDown += Glview_MouseDown; FHost.Child = glview; previewObject = new Transform(); camera = new Camera(); camera.LocalEulerAngles = new Vector3(25, 45, 0); camera.LocalPosition = new Vector3(0, 0, 3); camera.OnCameraChanged += Camera_OnCameraChanged; light = new Light(); light.LocalPosition = new Vector3(0, 2, 2); light.Color = new Vector3(1, 1, 1); light.LocalScale = new Vector3(0.01f, 0.01f, 0.01f); } }
private void CameraPosition_Click(object sender, RoutedEventArgs e) { MenuItem s = sender as MenuItem; PreviewCameraPosition ctype; Enum.TryParse <PreviewCameraPosition>(s.Header.ToString().Replace("_", ""), out ctype); previewPosition = ctype; switch (previewPosition) { case PreviewCameraPosition.Back: rotX = 0; rotY = 180; break; case PreviewCameraPosition.Front: rotX = 0; rotY = 0; break; case PreviewCameraPosition.Top: rotX = 90; rotY = 0; break; case PreviewCameraPosition.Bottom: rotX = 270; rotY = 0; break; case PreviewCameraPosition.Right: rotX = 0; rotY = 90; break; case PreviewCameraPosition.Left: rotX = 0; rotY = 270; break; case PreviewCameraPosition.Perspective: rotX = 25; rotY = 45; break; default: rotX = 0; rotY = 0; break; } rotation = Quaternion.FromEulerAngles(rotX * ((float)Math.PI / 180.0f), rotY * ((float)Math.PI / 180.0f), 0); Invalidate(); }
private void CameraPosition_Click(object sender, RoutedEventArgs e) { MenuItem s = sender as MenuItem; PreviewCameraPosition ctype; Enum.TryParse <PreviewCameraPosition>(s.Header.ToString().Replace("_", ""), out ctype); previewPosition = ctype; switch (previewPosition) { case PreviewCameraPosition.Back: camera.LocalEulerAngles = new Vector3(0, 180, 0); break; case PreviewCameraPosition.Front: camera.LocalEulerAngles = new Vector3(0, 0, 0); break; case PreviewCameraPosition.Top: camera.LocalEulerAngles = new Vector3(90, 0, 0); break; case PreviewCameraPosition.Bottom: camera.LocalEulerAngles = new Vector3(270, 0, 0); break; case PreviewCameraPosition.Right: camera.LocalEulerAngles = new Vector3(0, 90, 0); break; case PreviewCameraPosition.Left: camera.LocalEulerAngles = new Vector3(0, 270, 0); break; case PreviewCameraPosition.Perspective: camera.LocalEulerAngles = new Vector3(25, 45, 0); break; default: camera.LocalEulerAngles = new Vector3(0, 0, 0); break; } Invalidate(); }
private void InitGL() { if (glview == null) { previewType = PreviewGeometryType.Cube; previewCameraMode = PreviewCameraMode.Perspective; previewPosition = PreviewCameraPosition.Perspective; glview = new GLControl(GraphicsMode.Default); glview.Load += Glview_Load; glview.Paint += Glview_Paint; glview.MouseWheel += Glview_MouseWheel; glview.MouseMove += Glview_MouseMove; glview.MouseDown += Glview_MouseDown; FHost.Child = glview; previewObject = new Transform(); camera = new Camera(); camera.LocalEulerAngles = new Vector3(25, 45, 0); camera.LocalPosition = new Vector3(0, 0, 3); } }
private void InitGL() { if (glview == null) { previewType = PreviewGeometryType.Cube; previewCameraMode = PreviewCameraMode.Perspective; previewPosition = PreviewCameraPosition.Front; glview = new TK.GLControl(new GraphicsMode(new ColorFormat(8, 8, 8, 8), 24)); glview.Load += Glview_Load; glview.Paint += Glview_Paint; glview.MouseWheel += Glview_MouseWheel; glview.MouseMove += Glview_MouseMove; glview.MouseDown += Glview_MouseDown; FHost.Child = glview; rotX = 25; rotY = 45; rotation = Quaternion.FromEulerAngles(rotX * ((float)Math.PI / 180.0f), rotY * ((float)Math.PI / 180.0f), 0); cameraTranslation = new Vector3(0, 0, 3); objectTranslation = new Vector3(0, 0, 0); } }