56 lines
1.6 KiB
C++
56 lines
1.6 KiB
C++
#ifndef USERVALUE_H
|
|
#define USERVALUE_H
|
|
|
|
#include "common/math/mathTypes.h"
|
|
#include "common/utilities/typeTrans.h"
|
|
#include <vector>
|
|
|
|
template<typename T>
|
|
std::vector<T> cutVector(std::vector<T> vec, size_t startID, size_t length){
|
|
std::vector<T> result;
|
|
result.assign(vec.begin()+startID, vec.begin()+startID+length);
|
|
return result;
|
|
}
|
|
|
|
struct UserValue{
|
|
Vec6 moveAxis;
|
|
double gripperPos;
|
|
|
|
void setData(std::vector<double> rawData){
|
|
#ifdef CTRL_BY_SDK
|
|
if(rawData.size() != 7){
|
|
std::cout << "[ERROR] UserValue::setData, the size of rawDate is " << rawData.size() << " but not 7" << std::endl;
|
|
}
|
|
gripperPos = rawData.at(6);
|
|
rawData = cutVector(rawData, 0, 6);
|
|
moveAxis = typeTrans::getValue(rawData, moveAxis);
|
|
#endif
|
|
#ifdef CTRL_BY_KEYBOARD
|
|
if(rawData.size() != 7){
|
|
std::cout << "[ERROR] UserValue::setData, the size of rawDate is " << rawData.size() << " but not 7" << std::endl;
|
|
}
|
|
gripperPos = rawData.at(6);
|
|
rawData = cutVector(rawData, 0, 6);
|
|
moveAxis = typeTrans::getValue(rawData, moveAxis);
|
|
#endif
|
|
#ifdef CTRL_BY_JOYSTICK
|
|
if(rawData.size() != 7){
|
|
std::cout << "[ERROR] UserValue::setData, the size of rawDate is " << rawData.size() << " but not 7" << std::endl;
|
|
}
|
|
gripperPos = rawData.at(6);
|
|
rawData = cutVector(rawData, 0, 6);
|
|
moveAxis = typeTrans::getValue(rawData, moveAxis);
|
|
#endif
|
|
}
|
|
|
|
UserValue(){
|
|
setZero();
|
|
}
|
|
void setZero(){
|
|
moveAxis.setZero();
|
|
gripperPos = 0;
|
|
// gripperTau = 0;
|
|
}
|
|
};
|
|
|
|
#endif |