Commit 68c5520b authored by Alexander Lapshin's avatar Alexander Lapshin

.

Merge branch 'master' of https://gitlab.ancprotek.ru/alapshin/common
parents a44bef54 b240e007
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
OpticDelayMeasurement::OpticDelayMeasurement() : OpticMeasurement() OpticDelayMeasurement::OpticDelayMeasurement() : OpticMeasurement()
{ {
TimePrec = 0.01e-3; // По умолчанию назначем точность определения времени TimePrec = 0.01e-4; // По умолчанию назначем точность определения времени
// распространения сигнала равной одной сотой секунды // распространения сигнала равной одной сотой секунды
} }
......
...@@ -2,14 +2,22 @@ ...@@ -2,14 +2,22 @@
#include <utility> #include <utility>
#include "XMLFunctions.h" #include "XMLFunctions.h"
PropInfoBase::PropInfoBase(std::string lightModel, EarthModel earthModel, AtmModel atmModel, const bool sun, const bool moon, const int type) PropInfoBase::PropInfoBase(
std::string lightModel,
EarthModel earthModel,
AtmModel atmModel,
const bool sun,
const bool moon,
const bool prec_itrf,
const int type)
: :
m_atmModel(std::move(atmModel)), m_atmModel(std::move(atmModel)),
m_earthModel(std::move(earthModel)), m_earthModel(std::move(earthModel)),
m_lightModel(std::move(lightModel)), m_lightModel(std::move(lightModel)),
m_sun(sun), m_sun(sun),
m_moon(moon), m_moon(moon),
m_type(type) m_type(type),
m_prec_itrf(prec_itrf)
{ {
} }
...@@ -37,6 +45,9 @@ bool PropInfoBase::Load(myXML::Contain* parent) ...@@ -37,6 +45,9 @@ bool PropInfoBase::Load(myXML::Contain* parent)
LoadXML(con, "AtmModel", m_atmModel, false); LoadXML(con, "AtmModel", m_atmModel, false);
LoadXML(con, "Id", m_id, false, &idloaded); LoadXML(con, "Id", m_id, false, &idloaded);
m_prec_itrf = false;
LoadXML(con, "prec_itrf", m_prec_itrf, false);
return true; return true;
} }
...@@ -58,6 +69,9 @@ void PropInfoBase::load(const jsonval& parent) ...@@ -58,6 +69,9 @@ void PropInfoBase::load(const jsonval& parent)
loadjson(parent, "light", m_lightModel); loadjson(parent, "light", m_lightModel);
loadjson(parent, "earth", m_earthModel); loadjson(parent, "earth", m_earthModel);
loadjson(parent, "atm", m_atmModel, false); loadjson(parent, "atm", m_atmModel, false);
m_prec_itrf = false;
loadjson(parent, "prec_itrf", m_prec_itrf, false);
} }
std::string PropInfoBase::GetAsXML() const std::string PropInfoBase::GetAsXML() const
...@@ -73,6 +87,7 @@ std::string PropInfoBase::GetAsXML() const ...@@ -73,6 +87,7 @@ std::string PropInfoBase::GetAsXML() const
PutValue(outs, "Sun", m_sun); PutValue(outs, "Sun", m_sun);
PutValue(outs, "Moon", m_moon); PutValue(outs, "Moon", m_moon);
PutValue(outs, "LightModel", m_lightModel); PutValue(outs, "LightModel", m_lightModel);
PutValue(outs, "prec_itrf", m_prec_itrf);
outs << "<EarthModel>"; outs << "<EarthModel>";
PutValue(outs, "Model", m_earthModel.GetModel()); PutValue(outs, "Model", m_earthModel.GetModel());
......
...@@ -21,13 +21,21 @@ public: ...@@ -21,13 +21,21 @@ public:
PropInfoBase() PropInfoBase()
{ {
}; };
PropInfoBase(std::string lightModel, EarthModel earthModel, AtmModel atmModel, bool sun, bool moon, int type); PropInfoBase(
std::string lightModel,
EarthModel earthModel,
AtmModel atmModel,
const bool sun,
const bool moon,
const bool prec_itrf,
const int type);
bool Load(myXML::Contain* parent); bool Load(myXML::Contain* parent);
void load(const jsonval& parent); void load(const jsonval& parent);
bool IsSun() const { return m_sun; } bool IsSun() const { return m_sun; }
bool IsMoon() const { return m_moon; } bool IsMoon() const { return m_moon; }
int GetType() const { return m_type; } int GetType() const { return m_type; }
bool is_prec_itrf() const { return m_prec_itrf; }
const AtmModel& GetAtmModel() const { return m_atmModel; } const AtmModel& GetAtmModel() const { return m_atmModel; }
const EarthModel& GetEarthModel() const { return m_earthModel; } const EarthModel& GetEarthModel() const { return m_earthModel; }
std::string GetLightModel() const { return m_lightModel; } std::string GetLightModel() const { return m_lightModel; }
...@@ -35,7 +43,7 @@ public: ...@@ -35,7 +43,7 @@ public:
void ToXml(std::ostream& outs) const; void ToXml(std::ostream& outs) const;
private: private:
static std::string TypeConvert(int value); static std::string TypeConvert(int value) ;
static int TypeConvert(const std::string& value); static int TypeConvert(const std::string& value);
AtmModel m_atmModel; AtmModel m_atmModel;
...@@ -45,6 +53,7 @@ private: ...@@ -45,6 +53,7 @@ private:
bool m_moon; bool m_moon;
int m_type; int m_type;
int m_id; int m_id;
bool m_prec_itrf {false};
}; };
typedef std::map<int, PropInfoBase> PropInfoBases; typedef std::map<int, PropInfoBase> PropInfoBases;
......
...@@ -28,7 +28,7 @@ static double get_step(const SInitOrbit& orbit) ...@@ -28,7 +28,7 @@ static double get_step(const SInitOrbit& orbit)
{ {
const double period = orbit.GetKeplerData().GetPeriod() * 1000 / 60; const double period = orbit.GetKeplerData().GetPeriod() * 1000 / 60;
const double ecc = orbit.GetKeplerData().GetEccentricity(); const double ecc = orbit.GetKeplerData().GetEccentricity();
return get_step(period, ecc); return get_step(period, ecc) / 3;
} }
XInterpolator::XInterpolator() = default; XInterpolator::XInterpolator() = default;
...@@ -198,7 +198,7 @@ Vect6 XInterpolator::get_pos(const TimeJD& date, const bool tks) const ...@@ -198,7 +198,7 @@ Vect6 XInterpolator::get_pos(const TimeJD& date, const bool tks) const
if (ircode != 0) { if (ircode != 0) {
throw Exp() << "interpolation fail\n"; throw Exp() << "interpolation fail\n";
} }
if (!tks) { if (!tks) {
return { return {
outvec[0], outvec[0],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment