37 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
42 virtual bool ok()
const override;
44 void invoke(
const std::function<
void()>& task);
47 Eigen::Isometry3f resolve_pose(
const std::shared_ptr<const EstimationFrame>& frame);
52 bool drawable_filter(
const std::string& name);
53 void drawable_selection();
56 std::atomic_bool viewer_started;
57 std::atomic_bool request_to_terminate;
58 std::atomic_bool kill_switch;
61 bool enable_partial_rendering;
62 int partial_rendering_budget;
65 bool show_current_coord;
66 bool show_current_points;
68 int submap_color_mode;
70 bool show_odometry_scans;
71 bool show_odometry_keyframes;
72 bool show_odometry_factors;
77 bool show_odometry_status;
80 std::pair<double, double> last_point_stamps;
81 Eigen::Vector3d last_imu_vel;
82 Eigen::Matrix<double, 6, 1> last_imu_bias;
83 double last_median_distance;
84 std::vector<double> last_voxel_resolutions;
86 using FactorLine = std::tuple<Eigen::Vector3f, Eigen::Vector3f, Eigen::Vector4f, Eigen::Vector4f>;
87 using FactorLineGetter = std::function<std::optional<FactorLine>(
const gtsam::NonlinearFactor*)>;
88 std::vector<std::pair<gtsam_points::weak_ptr<gtsam::NonlinearFactor>, FactorLineGetter>> odometry_factor_lines;
89 std::unordered_map<std::uint64_t, Eigen::Isometry3f> odometry_poses;
91 bool show_mapping_tools;
94 bool show_memory_stats;
95 int submap_memstats_count;
96 std::vector<SubMapMemoryStats> submap_memstats;
98 int global_factor_stats_count;
99 std::vector<FactorMemoryStats> global_factor_memstats;
101 size_t total_gl_bytes;
104 bool point_size_metric;
105 bool point_shape_circle;
108 Eigen::Vector2f z_range;
109 Eigen::Vector2f auto_z_range;
110 double last_submap_z;
112 double factors_alpha;
114 bool auto_intensity_range;
115 Eigen::Vector2f intensity_range;
118 std::unique_ptr<TrajectoryManager> trajectory;
119 std::vector<Eigen::Isometry3f> submap_keyframes;
121 std::vector<std::pair<int, int>> global_between_factors;
123 std::mutex invoke_queue_mutex;
124 std::vector<std::function<void()>> invoke_queue;
127 std::shared_ptr<spdlog::logger> logger;