Programa.cs

Programa base em Console, apenas para debug, depois será removido para o netduino.


using System;
using System.Threading;

namespace fotografia
{
    internal class Program
    {
        public static IFotografia ft = new fotografia();
        public static Funcoes funcoes = new Funcoes();

        private static void Main()
        {
            //IFotografia ft_teste = new fotografia();
            //ft_teste.CameraFabricante(_CamerasFabricante.Canon);
            //ft_teste.ObjetivaMM = 31;
            //ft_teste.SensorHmm = 22.3;
            //ft_teste.FatordeCorte = 1.6;
            //var t = ft_teste.CalculoAnguloVisaoH();

            Console.WriteLine("Inicializando sistema!...");
            Thread.Sleep(700);
            Console.Clear();

            #region DesenhoTelaInicial

            Console.WriteLine("╔═════════════════════════════════════════════════════╗");
            Console.WriteLine("║░░░░░░░░░░░░░░Escolha a opção desejada░░░░░░░░░░░░░░░║");
            Console.WriteLine("╠═════════════════════════════════════════════════════╣");
            Console.WriteLine("║     1. Novo Panorama                                ║");
            Console.WriteLine("║     2. 360º                                         ║");
            Console.WriteLine("║     3. Opções                                       ║");
            Console.WriteLine("║     4. Configurações da Câmera (Modelo,Fabricante)  ║");
            Console.WriteLine("╚═════════════════════════════════════════════════════╝");

            #endregion DesenhoTelaInicial

            string sOpcao = Console.ReadLine();

            try
            {
                int n = int.Parse(sOpcao);
                switch (n)
                {
                    case 1:
                        CreateNewPanorama();
                        break;

                    case 2:
                        break;

                    case 3:
                        break;

                    case 4:
                        ConfiguraCamera();
                        break;

                    default:
                        Console.WriteLine("Invalida escolha");
                        Thread.Sleep(700);
                        Main();
                        break;
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Erro geral...");
                Thread.Sleep(700);
                Main();
            }
        }

        private static void CreateNewPanorama()
        {
            Console.Clear();

            #region ConfiguraçãoPadraoCamera

            ft.CameraFabricante(_CamerasFabricante.Canon);
            ft.ObjetivaMM = 50;
            ft.SensorHmm = 22.3;
            ft.SensorVmm = 14.9D;
            ft.FatordeCorte = 1.6;

            #endregion ConfiguraçãoPadraoCamera

            Console.WriteLine("Informe zoom da objetiva utilizada");
            string ObjetivaMM = Console.ReadLine();
            ft.ObjetivaMM = int.Parse(ObjetivaMM);

            Console.WriteLine("Mova posição X,Y inicial e confirme (setando em X=20,y=10)");

            double[] valoresXY = new double[2];
            valoresXY[0] = 20;
            valoresXY[1] = 10;
            funcoes.PosicaoInicialXY = valoresXY;

            Console.ReadKey();
            Console.WriteLine("Mova posição X,Y final e confirme (setando em X=40,y=5)");

            double[] valoresFinalXY = new double[2];
            valoresFinalXY[0] = 40;
            valoresFinalXY[1] = 5;
            funcoes.PosicaoFinallXY = valoresFinalXY;
            Console.ReadKey();

            Console.WriteLine("------------------- Calculando ------------------");
            Console.WriteLine("O ângulo de visão dessa lente com essa câmera na horizontal é: " + ft.CalculoAnguloVisaoH());
            Console.WriteLine("O ângulo de visão dessa lente com essa câmera na vertical é: " + ft.CalculoAnguloVisaoV());
            Console.WriteLine("-------------------------------------");
            Console.WriteLine(funcoes.StartPanorama(ft));

            Console.ReadKey();
        }

        private static void ConfiguraCamera()
        {
            Console.Clear();
            Console.WriteLine("Somente para Canon, esta utilizando a 7D ? (S/N)");
            string is7D = Console.ReadLine();
            if (is7D.ToUpper() == "S")
            {
                ft.CameraFabricante(_CamerasFabricante.Canon);
                ft.ObjetivaMM = 50;
                ft.SensorHmm = 22.3;
                ft.SensorVmm = 14.9D;
                ft.FatordeCorte = 1.6;
            }
            else
            {
                Console.WriteLine("Erro, apenas canon 7d");
                Thread.Sleep(700);
                Main();
            }
        }
    }
}

Nenhum comentário:

Postar um comentário