20 #ifndef INSPECTION_PANORAMA_SURVEY_H_
21 #define INSPECTION_PANORAMA_SURVEY_H_
24 #include <unordered_map>
28 #define RAD_FROM_DEG(x) ((x) * M_PI / 180.0)
29 #define DEG_FROM_RAD(x) ((x) * 180.0 / M_PI)
31 namespace inspection {
40 inline PanoAttitude(
double _pan,
double _tilt, int16_t _iy, int16_t _ix) :
48 typedef std::pair<int, int> OrientLookupKey;
49 typedef std::pair<int, inspection::PanoAttitude> OrientLookupValue;
50 typedef std::unordered_map<OrientLookupKey, OrientLookupValue, boost::hash<OrientLookupKey> > OrientLookupMap;
52 void get_orient_lookup(OrientLookupMap* orient_lookup_out,
53 const std::vector<PanoAttitude>& orientations);
55 void GeneratePanoOrientations(std::vector<PanoAttitude>* orientations_out,
58 double pan_radius,
double tilt_radius,
59 double h_fov,
double v_fov,
60 double overlap,
double attitude_tolerance);
64 #endif // INSPECTION_PANORAMA_SURVEY_H_