Institut de Robòtica i Informàtica Industrial
KRD Group

The CuikSuite Project

varnames.h

Go to the documentation of this file.
00001 #ifndef VARNAMESH
00002 #define VARNAMESH
00003 
00004 #include <stdio.h>
00005 
00033 #define LINK_ROT(vname,linkName,vn,cn) sprintf(vname,"_%s_%s_%s",linkName,(vn==0?"u":(vn==1?"v":"w")),(cn==0?"x":(cn==1?"y":"z")))
00034 
00051 #define LINK_ROT2(vname,linkName,vn,cn) (vn<3?LINK_ROT(vname,linkName,vn,cn):sprintf(vname,"_%s_wp_%s",linkName,(cn==0?"x":(cn==1?"y":"z"))))
00052 
00053 
00071 #define LINK_ROT3_E(vname,linkName,rn,cn) (rn==cn?sprintf(vname,"_%s_qq_%u",linkName,rn):sprintf(vname,"_%s_qq_%u_%u",linkName,rn,cn)) 
00072 
00086 #define LINK_ROT3_Q(vname,linkName,j) sprintf(vname,"_%s_q_%u",linkName,j)
00087 
00101 #define LINK_TRANS(vname,linkName,cn) sprintf(vname,"_%s_r_%s",linkName,(cn==0?"x":(cn==1?"y":"z")))
00102 
00120 #define FREE_JOINT_VAR(vname,id,id1,ln1,id2,ln2,k) (id1==0?LINK_TRANS(vname,ln2,k):(id2==0?LINK_TRANS(vname,ln1,k):sprintf(vname,"_%s_%s_%s_%u",ln1,ln2,(k==0?"x":(k==1?"y":"z")),id)))
00121 
00133 #define PRS_JOINT_VAR(vname,id,ln1,ln2) sprintf(vname,"_d_%s_%s_%u",ln1,ln2,id)
00134 
00148 #define UNV_JOINT_VAR(vname,id,ln1,ln2,i,k) sprintf(vname,"_uni_%s_%s_%s_%s_%u",(i==0?"u":"v"),ln1,ln2,(k==0?"x":(k==1?"y":"z")),id)
00149 
00161 #define SPH_SPH_JOINT_VAR(vname,id,ln1,ln2,i) sprintf(vname,"_sph_sph_%s_%s_%s_%u",ln1,ln2,(i==0?"x":(i==1?"y":"z")),id)
00162 
00176 #define IN_PATCH_JOINT_CTRL_VAR(vname,id,ln1,ln2,i) sprintf(vname,"_in_patch_%s_%s_%s_%u",ln1,ln2,(i==0?"u":(i==1?"v":"w")),id)
00177 
00191 #define IN_PATCH_JOINT_SCALE_VAR(vname,id,ln1,ln2) sprintf(vname,"_in_patch_%s_%s_l_%u",ln1,ln2,id)
00192 
00193 
00212 #define ROT_JOINT_VAR_REF(vname,id,k,ln1,ln2,i) sprintf(vname,"_%s_%s_%s_%s_%u",(k==0?"w1":"w2"),ln1,ln2,(i==0?"x":(i==1?"y":"z")),id)
00213 
00214 
00233 #define UNV_JOINT_VAR_REF(vname,id,k,ln1,ln2,i) sprintf(vname,"_%s_%s_%s_%s_%u",(k==0?"w1":"w2"),ln1,ln2,(i==0?"x":(i==1?"y":"z")),id)
00234 
00250 #define COS_VAR(vname,id,ln1,ln2) sprintf(vname,"_cos_%s_%s_%u",ln1,ln2,id)
00251 
00252 
00268 #define COS_VAR_UNI(vname,id,ln1,ln2,k) sprintf(vname,"_cos_%u_%s_%s_%u",k,ln1,ln2,id)
00269 
00283 #define SPH_JOINT_VAR_REF(vname,id,v,ln1,ln2,k) sprintf(vname,"_sph_%s_%s_%s_%s_%u",(v==0?"w1":"w2"),ln1,ln2,(k==0?"x":(k==1?"y":"z")),id)
00284 
00285 
00297 #define BODY_VERTEX(vname,linkName,bID,vID,k) sprintf(vname,"_%s_b%u_v%u_%s",linkName,bID,vID,(k==0?"x":(k==1?"y":"z")))
00298 
00311 #define SPHERE_CENTER(vname,linkName,bID,k) sprintf(vname,"_center_%s_b%u_%s",linkName,bID,(k==0?"x":(k==1?"y":"z")))
00312 
00326 #define DIF_CENTERS_LL(vname,linkName1,bID1,linkName2,bID2,k) sprintf(vname,"_diff_%s_b%u_%s_b%u_%s",linkName1,bID1,linkName2,bID2,(k==0?"x":(k==1?"y":"z")))
00327 
00340 #define DIF_CENTERS_LO(vname,linkName1,bID1,oID,k) sprintf(vname,"_diff_%s_b%u_o%u_%s",linkName1,bID1,oID,(k==0?"x":(k==1?"y":"z")))
00341 
00359 #define SP_BB_PREFIX(prefix,ln1,b1,ln2,b2) sprintf(prefix,"spbb_%s_b%u_%s_b%u",ln1,b1,ln2,b2)
00360 
00361 
00377 #define SP_BO_PREFIX(prefix,ln1,b1,on) sprintf(prefix,"spbo_%s_b%u_%s",ln1,b1,on) 
00378 
00388 #define SP_VAR(vname,prefix,k) sprintf(vname,"_%s_%s",prefix,(k==0?"a":(k==1?"b":(k==2?"c":"d"))))
00389 
00390 
00391 #endif