diff --git a/include/sot-dyninv/solver-op-space.h b/include/sot-dyninv/solver-op-space.h index cad5f69db7db280b3059be21c6fd4046d507f015..8a5c9b0e00fd7dc3e0a85b6285b500b1f5dd7bdf 100644 --- a/include/sot-dyninv/solver-op-space.h +++ b/include/sot-dyninv/solver-op-space.h @@ -118,7 +118,7 @@ namespace sot { dynamicgraph::Signal<ml::Matrix,int> * JdotSignal, dynamicgraph::Signal<ml::Vector,int> * corrSignal, dynamicgraph::Signal<ml::Matrix,int> * contactPointsSignal ); - void addContactFromTask( const std::string & name ); + void addContactFromTask( const std::string & taskName, const std::string & contactName ); void removeContact( const std::string & name ); void dispContacts( std::ostream& os ) const; diff --git a/src/solver-op-space.cpp b/src/solver-op-space.cpp index 12e7a55b0054019d374732e6c5aca974d032b621..185d610e2ab2cf53f6e82e0321cc1601475134ce 100644 --- a/src/solver-op-space.cpp +++ b/src/solver-op-space.cpp @@ -89,9 +89,9 @@ namespace sot docCommandVoid1("create the contact signals, unpluged.", "string"))); addCommand("addContactFromTask", - makeCommandVoid1(*this,&SolverOpSpace::addContactFromTask, - docCommandVoid1("Add a contact from the named task. Remmeber to plug __p.", - "string"))); + makeCommandVoid2(*this,&SolverOpSpace::addContactFromTask, + docCommandVoid2("Add a contact from the named task. Remmeber to plug __p.", + "string(task name)","string (contact name)"))); addCommand("rmContact", makeCommandVoid1(*this,&SolverOpSpace::removeContact, docCommandVoid1("remove the contact named in arguments.", @@ -153,11 +153,11 @@ namespace sot } void SolverOpSpace:: - addContactFromTask( const std::string & name ) + addContactFromTask( const std::string & taskName,const std::string & contactName ) { using namespace dynamicgraph; - TaskDynPD & task = dynamic_cast<TaskDynPD&> ( g_pool.getEntity( name ) ); + TaskDynPD & task = dynamic_cast<TaskDynPD&> ( g_pool.getEntity( taskName ) ); assert( task.getFeatureList().size() == 1 ); BOOST_FOREACH( FeatureAbstract* fptr, task.getFeatureList() ) { @@ -167,7 +167,7 @@ namespace sot f6->servoCurrentPosition(); f6->FeatureAbstract::selectionSIN = true; } - addContact( name, &task.jacobianSOUT, &task.JdotSOUT,&task.taskVectorSOUT, NULL ); + addContact( contactName, &task.jacobianSOUT, &task.JdotSOUT,&task.taskVectorSOUT, NULL ); } void SolverOpSpace:: @@ -744,7 +744,7 @@ namespace sot if( cmdArgs.good() ) { std::string name; cmdArgs >> name; - addContactFromTask( name ); + addContactFromTask( name,name ); } else { os << "!! A name must be specified. " << std::endl; } }