Fawkes API
Fawkes Development Version
|
00001 00002 /*************************************************************************** 00003 * tabletop_objects_plugin.cpp - Segment table using PCL 00004 * 00005 * Created: Fri Nov 04 23:38:26 2011 00006 * Copyright 2011 Tim Niemueller [www.niemueller.de] 00007 * 00008 ****************************************************************************/ 00009 00010 /* This program is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Library General Public License for more details. 00019 * 00020 * Read the full text in the LICENSE.GPL file in the doc directory. 00021 */ 00022 00023 #include <core/plugin.h> 00024 00025 #include "tabletop_objects_thread.h" 00026 #ifdef HAVE_VISUAL_DEBUGGING 00027 # include "visualization_thread.h" 00028 #endif 00029 00030 using namespace fawkes; 00031 00032 /** Plugin to segment a tabletop via PCL. 00033 * @author Tim Niemueller 00034 */ 00035 class TabletopObjectsPlugin : public fawkes::Plugin 00036 { 00037 public: 00038 /** Constructor. 00039 * @param config Fawkes configuration 00040 */ 00041 TabletopObjectsPlugin(Configuration *config) 00042 : Plugin(config) 00043 { 00044 TabletopObjectsThread *tabobjthr = new TabletopObjectsThread(); 00045 thread_list.push_back(tabobjthr); 00046 #ifdef HAVE_VISUAL_DEBUGGING 00047 TabletopVisualizationThread *visthr = new TabletopVisualizationThread(); 00048 tabobjthr->set_visualization_thread(visthr); 00049 thread_list.push_back(visthr); 00050 #endif 00051 } 00052 }; 00053 00054 PLUGIN_DESCRIPTION("Detect objects on tabletop using PCL") 00055 EXPORT_PLUGIN(TabletopObjectsPlugin)