| 28 | } |
| 29 | |
| 30 | Keyframe::Keyframe(Timestamp _time_stamp, |
| 31 | std::vector<Eigen::Vector3i>& _point_ids, |
| 32 | int _index, |
| 33 | Eigen::Vector3d& _svin_T_w_i, |
| 34 | Eigen::Matrix3d& _svin_R_w_i, |
| 35 | cv::Mat& _image, |
| 36 | std::vector<cv::Point3f>& _point_3d, |
| 37 | std::vector<cv::KeyPoint>& _point_2d_uv, |
| 38 | std::map<Keyframe*, int>& KFcounter, |
| 39 | int _sequence, |
| 40 | BriefVocabulary* vocBrief, |
| 41 | const Parameters& params, |
| 42 | const bool is_vio_keyframe) |
| 43 | : params_(params) { |
| 44 | time_stamp = _time_stamp; |
| 45 | |
| 46 | // @Reloc |
| 47 | point_ids_ = _point_ids; |
| 48 | |
| 49 | index = _index; |
| 50 | svin_T_w_i = _svin_T_w_i; |
| 51 | svin_R_w_i = _svin_R_w_i; |
| 52 | T_w_i = svin_T_w_i; |
| 53 | R_w_i = svin_R_w_i; |
| 54 | origin_svin_T = svin_T_w_i; |
| 55 | origin_svin_R = svin_R_w_i; |
| 56 | image = _image.clone(); |
| 57 | point_3d = _point_3d; |
| 58 | point_2d_uv = _point_2d_uv; |
| 59 | |
| 60 | has_loop = false; |
| 61 | loop_index = -1; |
| 62 | has_fast_point = false; |
| 63 | loop_info << 0, 0, 0, 0, 0, 0, 0, 0; |
| 64 | sequence = _sequence; |
| 65 | is_vio_keyframe_ = is_vio_keyframe; |
| 66 | |
| 67 | if (is_vio_keyframe_) computeWindowBRIEFPoint(); |
| 68 | voc = vocBrief; |
| 69 | computeBoW(); |
| 70 | KFcounter_ = KFcounter; // for Covisibility graph |
| 71 | updateConnections(); // for Covisibility graph |
| 72 | |
| 73 | computeBRIEFPoint(); |
| 74 | |
| 75 | if (!params.debug_mode_) image.release(); |
| 76 | } |
| 77 | |
| 78 | Keyframe::Keyframe(int64_t _time_stamp, |
| 79 | int _index, |
nothing calls this directly
no outgoing calls
no test coverage detected