/// <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); }
/// <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; } }