00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "JointData.h"
00011 #include <string.h>
00012
00013 JointData::JointData(
00014 long neckTiltValue,
00015 long headPanValue,
00016 long headTiltValue,
00017 long mouthValue,
00018 long earLValue,
00019 long earRValue,
00020 long legFR1Value,
00021 long legFR2Value,
00022 long legFR3Value,
00023 long legFL1Value,
00024 long legFL2Value,
00025 long legFL3Value,
00026 long legHR1Value,
00027 long legHR2Value,
00028 long legHR3Value,
00029 long legHL1Value,
00030 long legHL2Value,
00031 long legHL3Value,
00032 long tailPanValue,
00033 long tailTiltValue
00034 )
00035 {
00036 data[neckTilt] = neckTiltValue;
00037 data[headPan] = headPanValue;
00038 data[headTilt] = headTiltValue;
00039 data[mouth] = mouthValue;
00040 data[earL] = earLValue;
00041 data[earR] = earRValue;
00042 data[legFR1] = legFR1Value;
00043 data[legFR2] = legFR2Value;
00044 data[legFR3] = legFR3Value;
00045 data[legFL1] = legFL1Value;
00046 data[legFL2] = legFL2Value;
00047 data[legFL3] = legFL3Value;
00048 data[legHR1] = legHR1Value;
00049 data[legHR2] = legHR2Value;
00050 data[legHR3] = legHR3Value;
00051 data[legHL1] = legHL1Value;
00052 data[legHL2] = legHL2Value;
00053 data[legHL3] = legHL3Value;
00054 data[tailPan] = tailPanValue;
00055 data[tailTilt] = tailTiltValue;
00056 }
00057
00058 JointData& JointData::operator=(const JointData& other)
00059 {
00060 for (int i = 0; i < numOfJoint; i++)
00061 data[i] = other.data[i];
00062 return *this;
00063 }
00064
00065 JointData::JointData(const JointData& other)
00066 {
00067 *this = other;
00068 }
00069
00070 JointData::JointID JointData::getIDFromName(const char* jointName)
00071 {
00072 if(strcmp(jointName, "headTilt210") == 0 || strcmp(jointName, "neckTilt") == 0)
00073 return neckTilt;
00074 else if(strcmp(jointName, "headRoll210") == 0 || strcmp(jointName, "headTilt") == 0)
00075 return headTilt;
00076 else
00077 {
00078 for (int i=0;i<JointData::numOfJoint;i++)
00079 if (strcmp(jointName,getJointName((JointID)i))==0)
00080 return (JointID)i;
00081 return numOfJoint;
00082 }
00083 }
00084
00085 In& operator>>(In& stream,JointData& jointData)
00086 {
00087 stream.read(jointData.data,sizeof(jointData.data));
00088 return stream;
00089 }
00090
00091 Out& operator<<(Out& stream, const JointData& jointData)
00092 {
00093 stream.write(jointData.data,sizeof(jointData.data));
00094 return stream;
00095 }
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144