37 #ifndef MOVEIT_PICK_PLACE_MANIPULATION_PIPELINE_ 38 #define MOVEIT_PICK_PLACE_MANIPULATION_PIPELINE_ 41 #include <boost/thread.hpp> 42 #include <boost/shared_ptr.hpp> 43 #include <boost/function.hpp> 82 void push(
const ManipulationPlanPtr& grasp);
boost::function< void()> empty_queue_callback_
std::vector< ManipulationStagePtr > stages_
void processingThread(unsigned int index)
Represent the sequence of steps that are executed for a manipulation plan.
std::vector< ManipulationPlanPtr > failed_
boost::mutex queue_access_lock_
boost::mutex result_lock_
virtual ~ManipulationPipeline()
const ManipulationStagePtr & getLastStage() const
void setVerbose(bool flag)
void setEmptyQueueCallback(const boost::function< void()> &callback)
const ManipulationStagePtr & getFirstStage() const
const std::vector< ManipulationPlanPtr > & getFailedManipulationPlans() const
std::vector< boost::thread * > processing_threads_
std::deque< ManipulationPlanPtr > queue_
ManipulationPipeline(const std::string &name, unsigned int nthreads)
void push(const ManipulationPlanPtr &grasp)
std::vector< ManipulationPlanPtr > success_
const std::vector< ManipulationPlanPtr > & getSuccessfulManipulationPlans() const
boost::function< void()> solution_callback_
unsigned int empty_queue_threads_
const std::string & getName() const
ManipulationPipeline & addStage(const ManipulationStagePtr &next)
void setSolutionCallback(const boost::function< void()> &callback)
boost::condition_variable queue_access_cond_
void reprocessLastFailure()