...
This commit is contained in:
70
tests/mcc_pzone_test.cpp
Normal file
70
tests/mcc_pzone_test.cpp
Normal file
@@ -0,0 +1,70 @@
|
||||
#include <iostream>
|
||||
|
||||
#include <mcc_coordinate.h>
|
||||
#include <mcc_pzone.h>
|
||||
#include <mcc_pzone_container.h>
|
||||
|
||||
using namespace mcc::impl;
|
||||
|
||||
typedef MccAltLimitPZ<MccAltLimitKind::MIN_ALT_LIMIT> pz_minalt_t;
|
||||
typedef MccAltLimitPZ<MccAltLimitKind::MAX_ALT_LIMIT> pz_maxalt_t;
|
||||
|
||||
static MccSkyPoint::ccte_t::engine_state_t saoras{.meteo{.temperature = 0.0, .humidity = 0.5, .pressure = 1010.0},
|
||||
.wavelength = 0.5,
|
||||
.lat = 43.646711_degs,
|
||||
.lon = 41.440732_degs,
|
||||
.elev = 2100.0};
|
||||
|
||||
int main()
|
||||
{
|
||||
MccSkyPoint::cctEngine.setStateERFA(saoras);
|
||||
|
||||
pz_minalt_t MinAltPZ(10.0_degs, 43.646711_degs);
|
||||
pz_maxalt_t MaxAltPZ(85.0_degs, 43.646711_degs);
|
||||
|
||||
|
||||
MccPZoneContainer cont;
|
||||
|
||||
cont.addPZone(MinAltPZ);
|
||||
auto sz = cont.addPZone(MaxAltPZ);
|
||||
|
||||
std::cout << sz << " pzones were added\n";
|
||||
|
||||
MccSkyPoint sp;
|
||||
|
||||
MccAngleAZ az = 125.1_degs;
|
||||
MccAngleZD zd = 4.2_degs;
|
||||
sp.from(MccSkyAZZD{az, zd});
|
||||
|
||||
std::vector<bool> inzone;
|
||||
bool flag;
|
||||
|
||||
std::cout << "Sky point AZ-ZD: [" << az.degrees() << ", " << zd.degrees() << "]\n";
|
||||
auto err = cont.inPZone(sp, &flag, &inzone);
|
||||
if (!err) {
|
||||
std::cout << "Check 'in zone' flag: common flag = " << std::boolalpha << flag << " :\n";
|
||||
for (int i = 0; i < sz; ++i) {
|
||||
std::cout << "\t" << i + 1 << "-th pzone: " << std::boolalpha << inzone[i] << "\n";
|
||||
}
|
||||
} else {
|
||||
std::cout << "ERR: " << err.message() << "\n";
|
||||
}
|
||||
|
||||
std::cout << "\n\n";
|
||||
// inzone.clear();
|
||||
|
||||
zd = 82.4356_degs;
|
||||
sp.from(MccSkyAZZD{az, zd});
|
||||
std::cout << "Sky point AZ-ZD: [" << az.degrees() << ", " << zd.degrees() << "]\n";
|
||||
err = cont.inPZone(sp, &flag, &inzone);
|
||||
if (!err) {
|
||||
std::cout << "Check 'in zone' flag: common flag = " << std::boolalpha << flag << " :\n";
|
||||
for (int i = 0; i < sz; ++i) {
|
||||
std::cout << "\t" << i + 1 << "-th pzone: " << std::boolalpha << inzone[i] << "\n";
|
||||
}
|
||||
} else {
|
||||
std::cout << "ERR: " << err.message() << "\n";
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user