SatDump 2.0.0-alpha-76a915210
Loading...
Searching...
No Matches
normal_line.h
Go to the documentation of this file.
1#pragma once
2
6
8
9namespace satdump
10{
11 namespace projection
12 {
26 class NormalLineRaytracer : public SatelliteRaytracerSatTrack
27 {
28 private:
29 std::vector<double> timestamps;
30
31 int image_width;
32 float scan_angle;
33
34 double timestamp_offset;
35 bool invert_scan;
36 bool rotate_yaw;
37
38 float roll_offset;
39 float pitch_offset;
40 float yaw_offset;
41
42 float yaw_offset_asc;
43 float yaw_offset_des;
44
45 // Pre-computed stuff
46 std::vector<predict_position> sat_positions;
47 std::vector<bool> sat_ascendings;
48
49 public:
50 NormalLineRaytracer(nlohmann::json cfg);
51 bool get_position(double x, double y, geodetic::geodetic_coords_t &pos, double *otime);
52 };
53
54 class NormalLineRaytracerOld : public SatelliteRaytracerSatTrack
55 {
56 private:
57 std::vector<double> timestamps;
58
59 int image_width;
60 float scan_angle;
61
62 double timestamp_offset;
63 bool invert_scan;
64 bool rotate_yaw;
65
66 float roll_offset;
67 float pitch_offset;
68 float yaw_offset;
69
70 float yaw_offset_asc;
71 float yaw_offset_des;
72
73 // Pre-computed stuff
74 std::vector<geodetic::geodetic_coords_t> sat_positions;
75 std::vector<double> az_angles;
76 std::vector<bool> sat_ascendings;
77
78 public:
79 NormalLineRaytracerOld(nlohmann::json cfg);
80 bool get_position(double x, double y, geodetic::geodetic_coords_t &pos, double *otime);
81 };
82 } // namespace proj
83} // namespace satdump
bool get_position(double x, double y, geodetic::geodetic_coords_t &pos, double *otime)
Get geodetic position of a pixel (can be fractional)
Definition normal_line.cpp:119
bool get_position(double x, double y, geodetic::geodetic_coords_t &pos, double *otime)
Get geodetic position of a pixel (can be fractional)
Definition normal_line.cpp:39