Пример #1
0
        private void CameraListBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            CameraFieldsFlowLayoutPanel.Controls.Clear();

            switch (CameraListBox.SelectedItem)
            {
            case "Ray Tracing":
                cameraBuffer = new RaytracingCamera();
                break;

            case "Projection":
                cameraBuffer = new ProjectionCamera();
                break;
            }



            FieldInfo[] list = cameraBuffer.GetType().GetFields();

            int offset = list.Length - 9; //Camera has 9 fields

            NameTextBox.Text = Convert.ToString(list[offset].GetValue(cameraBuffer));

            Vector3 tempPos = (Vector3)list[offset + 1].GetValue(cameraBuffer);

            XTextBox.Text = Convert.ToString(tempPos.X);
            YTextBox.Text = Convert.ToString(tempPos.Y);
            ZTextBox.Text = Convert.ToString(tempPos.Z);

            Vector3 tempDir = (Vector3)list[offset + 2].GetValue(cameraBuffer);

            XTextBox2.Text = Convert.ToString(tempDir.X);
            YTextBox2.Text = Convert.ToString(tempDir.Y);
            ZTextBox2.Text = Convert.ToString(tempDir.Z);

            SensitivityTextBox.Text = Convert.ToString(list[offset + 3].GetValue(cameraBuffer));

            RadiansTextBox1.Text = Convert.ToString(list[offset + 4].GetValue(cameraBuffer));
            RadiansTextBox2.Text = Convert.ToString(list[offset + 5].GetValue(cameraBuffer));

            HorizontalResolutionTextBox.Text = Convert.ToString(list[offset + 7].GetValue(cameraBuffer));
            VerticalResolutionTextBox.Text   = Convert.ToString(list[offset + 8].GetValue(cameraBuffer));

            for (int i = 0; i < offset; ++i)
            {
                FieldDisplay fd = new FieldDisplay(list[i], cameraBuffer, CameraFieldsFlowLayoutPanel);
                CameraFieldsFlowLayoutPanel.Controls.Add(fd);
            }

            cameraBuffer.Dispose();
        }
Пример #2
0
 private void DeleteButton_Click(object sender, EventArgs e)
 {
     Environment.Cameras.Remove(camera);
     camera.Dispose();
     Parent.Controls.Remove(this);
 }