Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef WIN32
00019 #define _declspec(dllexport)
00020 #endif // ifndef WIN32
00021
00022 extern "C"{
00023
00024
00026
00028 const int MaxDof = 10;
00029
00030
00031 typedef struct IntVector
00032 {
00033 int length;
00034 int data[MaxDof];
00035 } IntVector;
00036
00037 typedef struct FloatVector
00038 {
00039 int length;
00040 float data[MaxDof];
00041 } FloatVector;
00042
00044
00060 _declspec(dllexport) int kin_setType(int type);
00061
00078 _declspec(dllexport) int kin_setMDH(FloatVector* theta, FloatVector* d,
00079 FloatVector* a, FloatVector* alpha, int typeNr = -1);
00080
00091 _declspec(dllexport) int kin_setLinkLen(FloatVector* links);
00092
00102 _declspec(dllexport) int kin_setImmob(int immobile);
00103
00112 _declspec(dllexport) int kin_setEPC(IntVector* epc);
00113
00122 _declspec(dllexport) int kin_setEncOff(IntVector* encOffset);
00123
00134 _declspec(dllexport) int kin_setRotDir(IntVector* rotDir);
00135
00144 _declspec(dllexport) int kin_setAngOff(FloatVector* angleOffset);
00145
00155 _declspec(dllexport) int kin_setAngRan(FloatVector* angleRange);
00156
00165 _declspec(dllexport) int kin_setTcpOff(FloatVector* tcpOffset);
00166
00168
00176 _declspec(dllexport) int kin_getType();
00177
00184 _declspec(dllexport) int kin_getMaxDOF();
00185
00192 _declspec(dllexport) int kin_getDOF();
00193
00200 _declspec(dllexport) int kin_getDOM();
00201
00211 _declspec(dllexport) int kin_getMDH(FloatVector* theta, FloatVector* d,
00212 FloatVector* a, FloatVector* alpha);
00213
00218 _declspec(dllexport) int kin_getImmob();
00219
00225 _declspec(dllexport) int kin_getEPC(IntVector* epc);
00226
00232 _declspec(dllexport) int kin_getEncOff(IntVector* encOffset);
00233
00239 _declspec(dllexport) int kin_getRotDir(IntVector* rotDir);
00240
00247 _declspec(dllexport) int kin_getAngOff(FloatVector* angleOffset);
00248
00255 _declspec(dllexport) int kin_getAngRan(FloatVector* angleRange);
00256
00262 _declspec(dllexport) int kin_getTcpOff(FloatVector* tcpOffset);
00263
00269 _declspec(dllexport) int kin_getVersion(IntVector* version);
00270
00272
00281 _declspec(dllexport) int kin_init();
00282
00284
00291 _declspec(dllexport) int kin_clean();
00292
00294
00303 _declspec(dllexport) int kin_K4D2mDHAng(FloatVector* angleK4D, FloatVector* angleMDH);
00304
00313 _declspec(dllexport) int kin_mDH2K4DAng(FloatVector* angleMDH, FloatVector* angleK4D);
00314
00323 _declspec(dllexport) int kin_enc2rad(IntVector* enc, FloatVector* angle);
00324
00333 _declspec(dllexport) int kin_rad2enc(FloatVector* angle, IntVector* enc);
00334
00343 _declspec(dllexport) int kin_DK(FloatVector* angle, FloatVector* pose);
00344
00355 _declspec(dllexport) int kin_IK(FloatVector* pose, FloatVector* prev,
00356 FloatVector* angle, int maxBisection = 0);
00357
00358 }
00359
00360
00361