Commit b4d011f3 authored by Alexander Lapshin's avatar Alexander Lapshin

.

parent 822a313a
...@@ -43,6 +43,11 @@ OrbBlock::OrbBlock( ...@@ -43,6 +43,11 @@ OrbBlock::OrbBlock(
#endif #endif
} }
OrbBlock::OrbBlock(const orb_block_data& data)
:m_data(data)
{
}
OrbBlock::~OrbBlock() OrbBlock::~OrbBlock()
{ {
delete m_ip; delete m_ip;
......
...@@ -6,11 +6,13 @@ ...@@ -6,11 +6,13 @@
#include "json_functions.h" #include "json_functions.h"
#include "orb_block_data.h" #include "orb_block_data.h"
class OrbBlock { class OrbBlock
{
public: public:
OrbBlock(); OrbBlock();
OrbBlock(const SInitOrbit& orbit, const TimeJD& beg, const TimeJD& end); OrbBlock(const SInitOrbit& orbit, const TimeJD& beg, const TimeJD& end);
OrbBlock(const SInitOrbit& orbit, const TimeJD& beg, const TimeJD& end, double mind, const std::string& next_orbitid); OrbBlock(const SInitOrbit& orbit, const TimeJD& beg, const TimeJD& end, double mind, const std::string& next_orbitid);
OrbBlock(const orb_block_data& data);
~OrbBlock(); ~OrbBlock();
TimeJD get_beg() const { return get_data().get_beg(); } TimeJD get_beg() const { return get_data().get_beg(); }
...@@ -26,7 +28,7 @@ public: ...@@ -26,7 +28,7 @@ public:
private: private:
SInitOrbit m_orbit; SInitOrbit m_orbit;
orb_block_data m_data; orb_block_data m_data;
XInterpolator* m_ip; XInterpolator* m_ip{nullptr};
#ifdef _DEBUG #ifdef _DEBUG
std::string m_beg_s; std::string m_beg_s;
......
...@@ -5,6 +5,11 @@ ...@@ -5,6 +5,11 @@
OrbBlocksStore::OrbBlocksStore() = default; OrbBlocksStore::OrbBlocksStore() = default;
OrbBlocksStore::OrbBlocksStore(const OrbBlocks& blocks)
: m_blocks(blocks)
{
}
void OrbBlocksStore::init( void OrbBlocksStore::init(
const SInitOrbits& orbits, const SInitOrbits& orbits,
const TimeJD* beg, const TimeJD* beg,
...@@ -188,7 +193,8 @@ void OrbBlocksStore::init_min_dist(const SInitOrbits& orbits, const TimeJD& beg, ...@@ -188,7 +193,8 @@ void OrbBlocksStore::init_min_dist(const SInitOrbits& orbits, const TimeJD& beg,
} }
} }
class MinDistEvaluator { class MinDistEvaluator
{
public: public:
MinDistEvaluator(const XInterpolator& ip1, const XInterpolator& ip2, const TimeJD& base) : MinDistEvaluator(const XInterpolator& ip1, const XInterpolator& ip2, const TimeJD& base) :
m_base(base), m_base(base),
......
...@@ -11,6 +11,7 @@ typedef std::vector<OrbBlock> OrbBlocks; ...@@ -11,6 +11,7 @@ typedef std::vector<OrbBlock> OrbBlocks;
class OrbBlocksStore { class OrbBlocksStore {
public: public:
OrbBlocksStore(); OrbBlocksStore();
OrbBlocksStore(const OrbBlocks& blocks);
void init(const SInitOrbits& orbits, const TimeJD* beg, const TimeJD* end, bool filter_orbits, bool min_dist_forced, bool interpolate); void init(const SInitOrbits& orbits, const TimeJD* beg, const TimeJD* end, bool filter_orbits, bool min_dist_forced, bool interpolate);
void init(const SInitOrbits& orbits, const TimeJD& beg, const TimeJD& end, bool filter_orbits, bool min_dist_forced, bool interpolate); void init(const SInitOrbits& orbits, const TimeJD& beg, const TimeJD& end, bool filter_orbits, bool min_dist_forced, bool interpolate);
void init(); void init();
......
...@@ -34,6 +34,25 @@ orb_block_data::orb_block_data( ...@@ -34,6 +34,25 @@ orb_block_data::orb_block_data(
{ {
} }
orb_block_data::orb_block_data(
std::string orbitid,
const TimeJD& date,
const TimeJD& beg,
const TimeJD& end,
const double mind,
std::string next_orbitid,
const std::vector<IRes>& vecs)
:
m_orbitid(std::move(orbitid)),
m_next_orbitid(std::move(next_orbitid)),
m_date(date),
m_beg(beg),
m_end(end),
m_mind(mind),
m_vecs(vecs)
{
}
void orb_block_data::load(const jsonval& parent) void orb_block_data::load(const jsonval& parent)
{ {
loadjson(parent, "id", m_orbitid); loadjson(parent, "id", m_orbitid);
......
...@@ -19,6 +19,16 @@ public: ...@@ -19,6 +19,16 @@ public:
const TimeJD& end, const TimeJD& end,
double mind, double mind,
std::string next_orbitid); std::string next_orbitid);
orb_block_data(
std::string orbitid,
const TimeJD& date,
const TimeJD& beg,
const TimeJD& end,
double mind,
std::string next_orbitid,
const std::vector<IRes>& vecs
);
void load(const jsonval& parent); void load(const jsonval& parent);
TimeJD get_date() const { return m_date; } TimeJD get_date() const { return m_date; }
TimeJD get_beg() const { return m_beg; } TimeJD get_beg() const { return m_beg; }
......
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