This commit is contained in:
Timur A. Fatkhullin
2026-02-02 02:36:23 +03:00
parent a4d6f17114
commit ae91e7320c
11 changed files with 1311 additions and 103 deletions

View File

@@ -2,7 +2,7 @@
// #include <mcc_ccte_erfa.h>
#include <mcc_coordinate.h>
#include <mcc_serializer.h>
using namespace mcc::impl;
@@ -19,6 +19,21 @@ static skypt_t::ccte_t::engine_state_t saoras{.meteo{.temperature = 0.0, .humidi
static_assert(mcc::mcc_angle_c<double>, "!!!!!!!!!!!!");
template <typename VT>
void serialize(VT const& value)
{
MccSerializer<VT> ser;
std::string s;
auto err = ser(s, value);
if (err) {
std::cout << "SERIALIZing ERR: " << err << "\n";
} else {
std::cout << "SERIALIZED: " << s << "\n";
}
}
int main()
{
skypt_t::cctEngine.setStateERFA(saoras);
@@ -60,9 +75,12 @@ int main()
azzd.setX(111.0_degs), azzd.setY(111.0_degs);
azalt.setX(111.0_degs), azalt.setY(111.0_degs);
hadec_obs.setX(111.0_degs), hadec_obs.setY(111.0_degs);
radec_app.setX(111.0_degs), radec_app.setY(111.0_degs);
pt = radec_obs;
pt.to(icrs, azzd, hadec_obs);
// pt.to(icrs, azzd, hadec_obs, radec_app);
pt.to(icrs, radec_app);
pt.to(radec_obs, hadec_obs, azzd);
std::cout << "\n\nFROM OBSERVED TO ICRS:\n";
std::cout << "OBS COORD EPOCH: " << radec_obs.epoch().UTC() << "\n";
@@ -78,9 +96,50 @@ int main()
std::cout << "HA_OBS = " << hadec_obs.x().sexagesimal(true) << "\n";
std::cout << "AZ = " << azzd.x().sexagesimal() << "\n";
std::cout << "ZD = " << azzd.y().sexagesimal() << "\n";
std::cout << "RA_APP = " << radec_app.x().sexagesimal(true) << "\n";
std::cout << "DEC_APP = " << radec_app.y().sexagesimal() << "\n";
azalt = pt;
std::cout << "ALT = " << azalt.y().sexagesimal() << "\n";
std::cout << "\nIN DEGREES:\n";
std::cout << "RA_ICRS = " << icrs.x().degrees() << "\n";
std::cout << "DEC_ICRS = " << icrs.y().degrees() << "\n";
std::cout << "RA_OBS = " << radec_obs.x().degrees() << "\n";
std::cout << "DEC_OBS = " << radec_obs.y().degrees() << "\n";
std::cout << "HA_OBS = " << hadec_obs.x().degrees() << "\n";
std::cout << "AZ = " << azzd.x().degrees() << "\n";
std::cout << "ZD = " << azzd.y().degrees() << "\n";
std::cout << "RA_APP = " << radec_app.x().degrees() << "\n";
std::cout << "DEC_APP = " << radec_app.y().degrees() << "\n";
std::cout << "\n\nSERIALIZATION TEST:\n";
double v = 7.7;
std::cout << "\tfor 'double' type: ";
serialize(v);
std::cout << "\tfor 'coord pair' type: ";
serialize(radec_obs);
radec_app = pt;
// pt.to(radec_app);
std::cout << "\tfor 'coord pair' type: ";
serialize(radec_app);
azzd = pt;
// pt.to(azzd);
std::cout << "\tfor 'coord pair' type: ";
serialize(azzd);
// pt.from(icrs);
pt = radec_obs;
std::cout << "\tfor 'sky point' type: ";
serialize(pt);
return 0;
}