Commit b4d011f3 authored by Alexander Lapshin's avatar Alexander Lapshin

.

parent 822a313a
......@@ -43,6 +43,11 @@ OrbBlock::OrbBlock(
#endif
}
OrbBlock::OrbBlock(const orb_block_data& data)
:m_data(data)
{
}
OrbBlock::~OrbBlock()
{
delete m_ip;
......
......@@ -6,11 +6,13 @@
#include "json_functions.h"
#include "orb_block_data.h"
class OrbBlock {
class OrbBlock
{
public:
OrbBlock();
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 orb_block_data& data);
~OrbBlock();
TimeJD get_beg() const { return get_data().get_beg(); }
......@@ -26,7 +28,7 @@ public:
private:
SInitOrbit m_orbit;
orb_block_data m_data;
XInterpolator* m_ip;
XInterpolator* m_ip{nullptr};
#ifdef _DEBUG
std::string m_beg_s;
......
......@@ -5,6 +5,11 @@
OrbBlocksStore::OrbBlocksStore() = default;
OrbBlocksStore::OrbBlocksStore(const OrbBlocks& blocks)
: m_blocks(blocks)
{
}
void OrbBlocksStore::init(
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:
MinDistEvaluator(const XInterpolator& ip1, const XInterpolator& ip2, const TimeJD& base) :
m_base(base),
......
......@@ -11,6 +11,7 @@ typedef std::vector<OrbBlock> OrbBlocks;
class OrbBlocksStore {
public:
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();
......
......@@ -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)
{
loadjson(parent, "id", m_orbitid);
......
......@@ -19,6 +19,16 @@ public:
const TimeJD& end,
double mind,
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);
TimeJD get_date() const { return m_date; }
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