Ejemplo n.º 1
0
        /// <summary>
        /// Конструктор сам задает функцию по указанной точке Лагранжа.
        /// </summary>
        ///
        /// <param name="lagrangianPoint"> Точка Лагранжа.</param>
        /// <param name="basis"> Базис.</param>
        /// <param name="julianDate"> Юлианская дата.</param>
        /// <param name="connectorVector"> Вектор средства связи в системе координат этого ретрранслятора.</param>
        /// <param name="connectorBasis"> Базис средства связи в системе координат этого ретрранслятора.</param>
        /// <param name="view"> Область видимости средства связи.</param>
        /// <param name="id"> Идентификатор.</param>
        ///
        /// <exception cref="ArgumentNullException">
        /// Вызывается при передаче null.
        /// </exception>
        public LagrangianRepeater(double julianDate, LagrangianPoint lagrangianPoint, string id,
                                  Basis basis, Vector connectorVector, Basis connectorBasis, View view) :
            base(UnitVector.UnitVectorX, basis, UnitVector.UnitVectorX)
        {
            switch (lagrangianPoint)
            {
            case LagrangianPoint.EM1: getParamsMethod += LagrangianPoints.GetEarthMoon1; referenceSystem = Planets.Earth; break;

            case LagrangianPoint.EM2: getParamsMethod += LagrangianPoints.GetEarthMoon2; referenceSystem = Planets.Earth; break;

            case LagrangianPoint.EM3: getParamsMethod += LagrangianPoints.GetEarthMoon3; referenceSystem = Planets.Earth; break;

            case LagrangianPoint.EM4: getParamsMethod += LagrangianPoints.GetEarthMoon4; referenceSystem = Planets.Earth; break;

            case LagrangianPoint.EM5: getParamsMethod += LagrangianPoints.GetEarthMoon5; referenceSystem = Planets.Earth; break;

            case LagrangianPoint.SE1: getParamsMethod += LagrangianPoints.GetSunEarth1; referenceSystem = Planets.Sun; break;

            case LagrangianPoint.SE2: getParamsMethod += LagrangianPoints.GetSunEarth2; referenceSystem = Planets.Sun; break;

            case LagrangianPoint.SE3: getParamsMethod += LagrangianPoints.GetSunEarth3; referenceSystem = Planets.Sun; break;

            case LagrangianPoint.SE4: getParamsMethod += LagrangianPoints.GetSunEarth4; referenceSystem = Planets.Sun; break;

            case LagrangianPoint.SE5: getParamsMethod += LagrangianPoints.GetSunEarth5; referenceSystem = Planets.Sun; break;
            }

            connector = new RepeaterConnector(id, connectorVector, connectorBasis, view, this);

            UpdateParams(julianDate);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Конструктор сам задает функцию по указанной точке Лагранжа.
        /// </summary>
        ///
        /// <param name="lagrangianPoint"> Точка Лагранжа.</param>
        /// <param name="connector"> Средство связи.</param>
        /// <param name="basis"> Базис.</param>
        /// <param name="vector"> Координаты.</param>
        /// <param name="velocity"> Скорость.</param>
        ///
        /// <exception cref="ArgumentNullException">
        /// Вызывается при передаче null.
        /// </exception>
        public LagrangianRepeater(LagrangianPoint lagrangianPoint, RepeaterConnector connector, Basis basis,
                                  Vector vector, Vector velocity) : base(connector, vector,
                                                                         basis, velocity, Planets.Sun)
        {
            switch (lagrangianPoint)
            {
            case LagrangianPoint.EM1: getParamsMethod += LagrangianPoints.GetEarthMoon1; referenceSystem = Planets.Earth; break;

            case LagrangianPoint.EM2: getParamsMethod += LagrangianPoints.GetEarthMoon2; referenceSystem = Planets.Earth; break;

            case LagrangianPoint.EM3: getParamsMethod += LagrangianPoints.GetEarthMoon3; referenceSystem = Planets.Earth; break;

            case LagrangianPoint.EM4: getParamsMethod += LagrangianPoints.GetEarthMoon4; referenceSystem = Planets.Earth; break;

            case LagrangianPoint.EM5: getParamsMethod += LagrangianPoints.GetEarthMoon5; referenceSystem = Planets.Earth; break;

            case LagrangianPoint.SE1: getParamsMethod += LagrangianPoints.GetSunEarth1; referenceSystem = Planets.Sun; break;

            case LagrangianPoint.SE2: getParamsMethod += LagrangianPoints.GetSunEarth2; referenceSystem = Planets.Sun; break;

            case LagrangianPoint.SE3: getParamsMethod += LagrangianPoints.GetSunEarth3; referenceSystem = Planets.Sun; break;

            case LagrangianPoint.SE4: getParamsMethod += LagrangianPoints.GetSunEarth4; referenceSystem = Planets.Sun; break;

            case LagrangianPoint.SE5: getParamsMethod += LagrangianPoints.GetSunEarth5; referenceSystem = Planets.Sun; break;
            }
        }