Example #1
0
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;
}
Example #2
0
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);
    }
}