void apc_sampler_t::link_info(prx::packages::baxter::manipulator_plant_t* manip, const util::vector_t& min_bounds, const util::vector_t& max_bounds, IK_data_base_t* IK_data_base)
 {
     PRX_PRINT("Linking info to apc sampler < " << this << " >", PRX_TEXT_BROWN);
     _manipulator = manip;
     manip_space = manip->get_state_space();
     IK_base = IK_data_base;
     this->min_bounds = min_bounds;
     this->max_bounds = max_bounds;
     if( manip_point == NULL )
         manip_point = manip_space->alloc_point();
 }
 void pno_criterion_t::link_motion_planner(motion_planner_t* mp)
 {
     PRX_DEBUG_COLOR("Linking the motion planner...", PRX_TEXT_CYAN );
     criterion_t::link_motion_planner( mp );
     //I think we need to store a pointer explicitly to a prm* planner
     prm_motion_planner = dynamic_cast<prm_star_t*>( mp );
     if( prm_motion_planner == NULL )
         PRX_FATAL_S("PNO Criterion requires the linked motion planner be a PRM*");
     linked_space = mp->state_space;
     total_volume = linked_space->space_size();
     d = linked_space->get_dimension();
     PRX_PRINT("Working in a " << d << " dimensional space, of size: " << total_volume, PRX_TEXT_LIGHTGRAY );
     free_volume = total_volume;
     //compute_limit();
     
     //Open up an appropriate file for output...
     char* w = std::getenv("PRACSYS_PATH");
     std::string fname(w);
     fname += ("/prx_output/pno_data/");
     //fname += "dim_" + int_to_str( d ) + "_" + int_to_str( time(NULL) ) + ".txt";
     fname += "dim_" + int_to_str( d ) + "_" + ros::this_node::getName().substr(1,ros::this_node::getName().length()) + ".txt";
     
     stat_out.open( fname.c_str() );
 }
 void movable_body_plant_t::print_configuration( ) const
 {
     PRX_PRINT( "Object configuration: " << root_config, PRX_TEXT_GREEN );
 }