00001 #ifndef PCL_TRACKING_IMPL_TRACKER_H_ 00002 #define PCL_TRACKING_IMPL_TRACKER_H_ 00003 00004 #include <pcl/common/eigen.h> 00005 #include <ctime> 00006 #include <pcl/tracking/boost.h> 00007 #include <pcl/tracking/tracker.h> 00008 00009 template <typename PointInT, typename StateT> bool 00010 pcl::tracking::Tracker<PointInT, StateT>::initCompute () 00011 { 00012 if (!PCLBase<PointInT>::initCompute ()) 00013 { 00014 PCL_ERROR ("[pcl::%s::initCompute] PCLBase::Init failed.\n", getClassName ().c_str ()); 00015 return (false); 00016 } 00017 00018 // If the dataset is empty, just return 00019 if (input_->points.empty ()) 00020 { 00021 PCL_ERROR ("[pcl::%s::compute] input_ is empty!\n", getClassName ().c_str ()); 00022 // Cleanup 00023 deinitCompute (); 00024 return (false); 00025 } 00026 00027 return (true); 00028 } 00029 00030 template <typename PointInT, typename StateT> void 00031 pcl::tracking::Tracker<PointInT, StateT>::compute () 00032 { 00033 if (!initCompute ()) 00034 return; 00035 00036 computeTracking (); 00037 deinitCompute (); 00038 } 00039 00040 #endif