void JointSliders::UDPReceiverWorker() { double *data = new double[m_TotNumLinks]; UDPSocket sockfd(12345); cout << "\nListening in port 12345...\n"; cout << flush; string sourceAddress; // Address of datagram source unsigned short sourcePort; // Port of datagram source while (m_Running) { int rc = sockfd.recvFrom((char *)data, 8*m_TotNumLinks, sourceAddress, sourcePort); size_t k = 0; for (size_t h = 0; h < m_Robots->size(); h ++) { Robot *robot = m_Robots->at(h); size_t n = robot->GetLinks().size(); for (size_t i = 0; i < n; i++) { robot->ActuateJoint((int) i, data[k]); k = k + 1; } robot->Update(m_Verbose); } } //while (m_Running) delete [] data; }
void JointSliders::SliderCBWorker() { size_t k = 0; for (size_t h = 0; h < m_Robots->size(); h ++) { Robot *robot = m_Robots->at(h); size_t n = robot->GetLinks().size(); for (size_t i = 0; i < n; i++) { robot->ActuateJoint((int) i, m_Sliders.at(k)->value()); k = k + 1; } robot->Update(m_Verbose); } }