コード例 #1
0
ファイル: Esperar.cs プロジェクト: xborrell/orbitalModel
        public Esperar(Constantes constantes, IVectorTools vectorTools, int prioridad, float segundosAEsperar)
            : base(constantes, vectorTools, prioridad)
        {
            SolicitarEspera(segundosAEsperar);

            LogData = new LogItem(LogType.Decision, "Esperant", $"Esperant {segundosAEsperar} segons");
        }
コード例 #2
0
ファイル: PasoEsperar.cs プロジェクト: xborrell/orbitalModel
 public PasoEsperar(Constantes constantes, float segundosAEsperar, LogItem logItem)
     : base()
 {
     this.constantes = constantes;
     TiempoRestante = TiempoAEsperar = segundosAEsperar;
     LogData = logItem;
 }
コード例 #3
0
        public PosicionarSateliteEnActitudOrbital(Constantes constantes, IVectorTools vectorTools, int prioridad)
            : base(constantes, vectorTools, prioridad)
        {
            DefinirPaso(new PasoEnfoqueOrbital());
            DefinirPaso(new PasoComprobarEnfoque(ActitudRotacion.Orbital));

            LogData = new LogItem(0, "Orientació orbital", "Orientar el satel·lit amb l'orbita");
        }
コード例 #4
0
        public CalcularSentidoDeLaOrbita(Constantes constantes, IVectorTools vectorTools, int prioridad)
            : base(constantes, vectorTools, prioridad)
        {
            DefinirPaso(new PasoEnfoqueATierra());
            DefinirPaso(new PasoComprobarEnfoque(ActitudRotacion.EnfocadoATierra));
            DefinirPaso(new PasoTomarAltura());
            DefinirPaso(new PasoEsperar(constantes, 5, new LogItem(LogType.Paso, "Esperar", "Esperant per evaluar el sentit")));
            DefinirPaso(new PasoGenerico(new LogItem(LogType.Paso, "Sentit orbita", "Comprobant el sentit de l'orbita"), ComprobarSiLaOrbitaSubeOBaja));

            LogData = new LogItem(LogType.Decision, "Calc. sentit", "Calculant el sentit de l'orbita");
        }
コード例 #5
0
        public CalcularInclinacion(Constantes constantes, IVectorTools vectorTools, int prioridad, ConversorOrbital conversor)
            : base(constantes, vectorTools, prioridad)
        {
            this.conversor = conversor;

            DefinirPaso(new PasoEnfoqueATierra());
            DefinirPaso(new PasoComprobarEnfoque(ActitudRotacion.EnfocadoATierra));
            DefinirPaso(new PasoGenerico(new LogItem(LogType.Paso, "Calc. inclinació", "Calcular l'inclinació"), Calcular));

            LogData = new LogItem(LogType.Decision, "Calc. Inclinació", "Calculant Inclinació");
        }
コード例 #6
0
        public CalcularPeriapsis(Constantes constantes, IVectorTools vectorTools, int prioridad)
            : base(constantes, vectorTools, prioridad)
        {
            DefinirPaso(new PasoEnfoqueATierra());
            DefinirPaso(new PasoComprobarEnfoque(ActitudRotacion.EnfocadoATierra));
            DefinirPaso(new PasoTomarAltura());
            DefinirPaso(new PasoEsperarPeriapsis());
            DefinirPaso(new PasoGenerico(new LogItem(LogType.Paso, "Registrant Periapsis"),
                (data) =>
                {
                    data.Periapsis = data.AlturaDeReferencia;
                    data.OrbitaSubiendo = null;
                    return true;
                }
            ));

            LogData = new LogItem(LogType.Decision, "Calc. Periapsis", "Calculant Periapsis");
        }
コード例 #7
0
ファイル: Circularizar.cs プロジェクト: xborrell/orbitalModel
        public Circularizar(Constantes constantes, IVectorTools vectorTools, int prioridad)
            : base(constantes, vectorTools, prioridad)
        {
            DefinirPaso(new PasoGenerico(new LogItem(LogType.Paso, "Calcular impuls", "Calcular el valor del impuls."), CalcularValoresDelImpulso));
            DefinirPaso(new PasoEnfoqueATierra());
            DefinirPaso(new PasoComprobarEnfoque(ActitudRotacion.EnfocadoATierra));
            DefinirPaso(new PasoTomarAltura());
            DefinirPaso(new PasoEsperarPeriapsis());
            DefinirPaso(new PasoEsperarApoapsis());
            DefinirPaso(new PasoGenerico(new LogItem(LogType.Paso, "Cambiar velocitat"), CambiarVelocidad));

            //DefinirPaso(new Paso( "", EsperarPeriapsis));
            //DefinirPaso(new Paso( "", SolicitarEnfoqueOrbital));
            //DefinirPaso(new Paso( "", ComprobarEnfoqueCorrecto));
            //DefinirPaso(new Paso( "", EsperarMomentoDeIgnicion));
            //DefinirPaso(new Paso( "", EncenderMotor));
            //DefinirPaso(new Paso( "", EsperarDuracionDelImpulso));
            //DefinirPaso(new Paso( "", ApagarMotor));
            DefinirPaso(new PasoGenerico(new LogItem(LogType.Paso, "Resetejar", "Resetejar valors orbitals"), ResetearValoresOrbitales));

            LogData = new LogItem(LogType.Decision, "Orbita circular", "Fer l'orbita circular");
        }
コード例 #8
0
 public PasoEnfoqueATierra()
 {
     LogData = new LogItem(LogType.Paso, "Orientació terra", "Demanar l'orientació a terra.");
 }
コード例 #9
0
 public PasoEnfoqueOrbital()
 {
     LogData = new LogItem(LogType.Paso, "Orientació orbital", "Demanar l'orientació orbital.");
 }
コード例 #10
0
ファイル: PasoGenerico.cs プロジェクト: xborrell/orbitalModel
 public PasoGenerico(LogItem logItem, Func<ISateliteData, bool> paso)
 {
     Accion = paso;
     LogData = logItem;
 }
コード例 #11
0
 public PasoComprobarEnfoque(ActitudRotacion actitudDeseada)
 {
     ActitudDeseada = actitudDeseada;
     LogData = new LogItem(LogType.Paso, "Esperar Orientació", "Esperar l'orientació demanada.");
 }
コード例 #12
0
 public PasoTomarAltura()
 {
     LogData = new LogItem(LogType.Paso, "Alçada referencia", "Mesurar l'Alçada de Referencia");
 }
コード例 #13
0
 public PasoEsperarPeriapsis()
 {
     LogData = new LogItem(LogType.Paso, "Esperant Periapsis");
 }