public void GenerateShapeView(Scene.Shape shape) { tbdx.Text = shape.dx.ToString(); tbdy.Text = shape.dy.ToString(); tbdz.Text = shape.dz.ToString(); dx_slider.Value = shape.dx; dy_slider.Value = shape.dy; dz_slider.Value = shape.dz; tbsx.Text = shape.scale_x.ToString(); tbsy.Text = shape.scale_y.ToString(); tbsz.Text = shape.scale_z.ToString(); scx_slider.Value = shape.scale_x; scy_slider.Value = shape.scale_y; scz_slider.Value = shape.scale_z; tbrx.Text = shape.rotation_x.ToString(); tbry.Text = shape.rotation_y.ToString(); tbrz.Text = shape.rotation_z.ToString(); rx_slider.Value = shape.rotation_x; ry_slider.Value = shape.rotation_y; rz_slider.Value = shape.rotation_z; cp.SelectedColor = System.Windows.Media.Color.FromRgb(shape.main_clr.R, shape.main_clr.G, shape.main_clr.B); }
public void AddShape(string ShapeName) { Scene.Shape shape = null; if (ShapeName == "Box") { shape = new Shapes.Box(); } else if (ShapeName == "IcoSphere") { shape = new Shapes.IcoSphere(3); } else if (ShapeName == "Conus") { shape = new Shapes.Conus(); } else if (ShapeName == "Cylinder") { shape = new Shapes.Cylinder(); } else if (ShapeName == "Toroid") { shape = new Shapes.Toroid(); } if (shape != null) { shape.dx = 0; shape.dy = 0; shape.dz = 0; shape.scale_x = 100; shape.scale_y = 100; shape.scale_z = 100; shape.rotation_x = 0; shape.rotation_y = 0; shape.rotation_z = 0; shape.main_clr = Render.color(255, 255, 255); if (scene.selected_gid != -1) { scene.groups[scene.selected_gid].shapes.Add(shape); RefreshComboBox(); selecter.SelectedIndex = scene.groups[scene.selected_gid].shapes.Count; } } }
private void Load_Click(object sender, RoutedEventArgs e) { var lfd = new OpenFileDialog(); lfd.Filter = "text|*.txt"; lfd.Title = "Load an scene"; lfd.ShowDialog(); if (lfd.FileName != "") { scene.groups.Clear(); using (StreamReader fs = new StreamReader(lfd.FileName)) { string line; var eye = fs.ReadLine().Split(" "); scene.camera.eye = new Vector3(float.Parse(eye[0]), float.Parse(eye[1]), float.Parse(eye[2])); scene.camera.fov = float.Parse(fs.ReadLine()); scene.camera.pitch = float.Parse(fs.ReadLine()); scene.camera.yaw = float.Parse(fs.ReadLine()); while ((line = fs.ReadLine()) != null) { if (line != "") { if (line == "__group__") { scene.groups.Add(new GroupShapes()); scene.groups[scene.groups.Count - 1].name = fs.ReadLine(); scene.groups[scene.groups.Count - 1].dx = float.Parse(fs.ReadLine()); scene.groups[scene.groups.Count - 1].dy = float.Parse(fs.ReadLine()); scene.groups[scene.groups.Count - 1].dz = float.Parse(fs.ReadLine()); scene.groups[scene.groups.Count - 1].scale_x = float.Parse(fs.ReadLine()); scene.groups[scene.groups.Count - 1].scale_y = float.Parse(fs.ReadLine()); scene.groups[scene.groups.Count - 1].scale_z = float.Parse(fs.ReadLine()); scene.groups[scene.groups.Count - 1].rotation_x = float.Parse(fs.ReadLine()); scene.groups[scene.groups.Count - 1].rotation_y = float.Parse(fs.ReadLine()); scene.groups[scene.groups.Count - 1].rotation_z = float.Parse(fs.ReadLine()); continue; } Scene.Shape shape = new Scene.Shape(); if (line == "Box") { shape = new Shapes.Box(); } else if (line == "IcoSphere") { shape = new Shapes.IcoSphere(); } else if (line == "Toroid") { shape = new Shapes.Toroid(); } else if (line == "Conus") { shape = new Shapes.Conus(); } else if (line == "Cylinder") { shape = new Shapes.Cylinder(); } shape.dx = float.Parse(fs.ReadLine()); shape.dy = float.Parse(fs.ReadLine()); shape.dz = float.Parse(fs.ReadLine()); shape.scale_x = float.Parse(fs.ReadLine()); shape.scale_y = float.Parse(fs.ReadLine()); shape.scale_z = float.Parse(fs.ReadLine()); shape.rotation_x = float.Parse(fs.ReadLine()); shape.rotation_y = float.Parse(fs.ReadLine()); shape.rotation_z = float.Parse(fs.ReadLine()); var clr = fs.ReadLine().Split(" "); shape.main_clr = Render.color(int.Parse(clr[0]), int.Parse(clr[1]), int.Parse(clr[2])); scene.groups[scene.groups.Count - 1].shapes.Add(shape); } } RefreshComboBox(); } } }
private void LoadGroup_Click(object sender, RoutedEventArgs e) { var lfd = new OpenFileDialog(); lfd.Filter = "text|*.txt"; lfd.Title = "Load an scene"; lfd.ShowDialog(); if (lfd.FileName != "") { scene.groups.Add(new GroupShapes()); scene.selected_gid = scene.groups.Count - 1; using (StreamReader fs = new StreamReader(lfd.FileName)) { string line; scene.groups[scene.selected_gid].name = fs.ReadLine(); while ((line = fs.ReadLine()) != null) { if (line != "") { Scene.Shape shape = new Scene.Shape(); if (line == "Box") { shape = new Shapes.Box(); } else if (line == "IcoSphere") { shape = new Shapes.IcoSphere(); } else if (line == "Toroid") { shape = new Shapes.Toroid(); } else if (line == "Conus") { shape = new Shapes.Conus(); } else if (line == "Cylinder") { shape = new Shapes.Cylinder(); } shape.dx = float.Parse(fs.ReadLine()); shape.dy = float.Parse(fs.ReadLine()); shape.dz = float.Parse(fs.ReadLine()); shape.scale_x = float.Parse(fs.ReadLine()); shape.scale_y = float.Parse(fs.ReadLine()); shape.scale_z = float.Parse(fs.ReadLine()); shape.rotation_x = float.Parse(fs.ReadLine()); shape.rotation_y = float.Parse(fs.ReadLine()); shape.rotation_z = float.Parse(fs.ReadLine()); var clr = fs.ReadLine().Split(" "); shape.main_clr = Render.color(int.Parse(clr[0]), int.Parse(clr[1]), int.Parse(clr[2])); scene.groups[scene.selected_gid].shapes.Add(shape); } } } RefreshGroupsCB(); group_selecter.SelectedIndex = scene.groups.Count; } }