38 #ifndef PCL_REGISTRATION_VISUALIZER_H_
39 #define PCL_REGISTRATION_VISUALIZER_H_
42 #include <boost/thread.hpp>
43 #include <boost/function.hpp>
44 #include <boost/bind.hpp>
59 template<
typename Po
intSource,
typename Po
intTarget>
68 registration_method_name_ (),
69 update_visualizer_ (),
70 first_update_flag_ (),
73 visualizer_updating_mutex_ (),
74 cloud_intermediate_ (),
75 cloud_intermediate_indices_ (),
76 cloud_target_indices_ (),
77 maximum_displayed_correspondences_ (0)
96 this, _1, _2, _3, _4);
103 visualizer_updating_mutex_.lock ();
105 first_update_flag_ =
false;
107 visualizer_updating_mutex_.unlock ();
141 visualizer_updating_mutex_.lock ();
144 maximum_displayed_correspondences_ = maximum_displayed_correspondences;
147 visualizer_updating_mutex_.unlock();
154 return maximum_displayed_correspondences_;
164 getIndexedName (std::string &root_name,
size_t &
id)
166 std::stringstream id_stream_;
168 std::string indexed_name_ = root_name + id_stream_.str ();
169 return indexed_name_;
173 boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer_;
176 boost::thread viewer_thread_;
179 std::string registration_method_name_;
184 PointTarget> &cloud_tgt,
const std::vector<int> &indices_tgt)> update_visualizer_;
187 bool first_update_flag_;
196 boost::mutex visualizer_updating_mutex_;
202 std::vector<int> cloud_intermediate_indices_;
205 std::vector<int> cloud_target_indices_;
208 size_t maximum_displayed_correspondences_;
215 #endif //#ifndef PCL_REGISTRATION_VISUALIZER_H_