void MarkedList::create_move_grips(){ delete_move_grips(true); int number_of_grips_made = 0; std::list<HeeksObj*>::iterator Iter ; for(Iter = m_list.begin(); Iter != m_list.end() && number_of_grips_made<100; Iter++){ HeeksObj* object = *Iter; if(object->GetType() == GripperType)continue; std::list<GripData> vl; std::list<GripData>::iterator It; object->GetGripperPositionsTransformed(&vl, false); for(It = vl.begin(); It != vl.end() && number_of_grips_made<100; It++) { move_grips.push_back(new GripperSelTransform(*It, object)); number_of_grips_made++; } } }
void MarkedList::update_move_grips(){ if(gripping)return; std::list<HeeksObj*>::iterator Iter ; std::list<Gripper*>::iterator Iter2; Iter2 = move_grips.begin(); for(Iter = m_list.begin(); Iter != m_list.end(); Iter++){ if(Iter2 == move_grips.end())break; HeeksObj* object = *Iter; if(object->GetType() == GripperType)continue; std::list<GripData> vl; std::list<GripData>::iterator It; object->GetGripperPositionsTransformed(&vl, false); for(It = vl.begin(); It != vl.end(); It++){ Gripper* gripper = *Iter2; gripper->m_data = *It; Iter2++; if(Iter2 == move_grips.end())break; } } }