{ \
if (atomid < 0) { \
memmove(CA, CA+1, 3L*sizeof(float *)); CA[3] = NULL; \
memmove(indicies, indicies+1, 3L*sizeof(int)); indicies[3] = -1; \
} else { \
memmove(CA, CA+1, 3L*sizeof(float *)); CA[3] = framepos+3L*atomid; \
memmove(indicies, indicies+1, 3L*sizeof(int)); indicies[3] = atomid;\
} \
\
if (CA[1] && CA[2] && atomSel->on[indicies[1]] && atomSel->on[indicies[2]]) { \
float midcoord[3]; \
midcoord[0] = (CA[1][0] + CA[2][0])/2.0f; \
midcoord[1] = (CA[1][1] + CA[2][1])/2.0f; \
midcoord[2] = (CA[1][2] + CA[2][2])/2.0f; \
cmdColorIndex.putdata(atomColor->color[indicies[1]], cmdList); \
make_connection(CA[0], CA[1], midcoord, NULL, \
brad, bres, use_cyl); \
cmdColorIndex.putdata(atomColor->color[indicies[2]], cmdList); \
make_connection(NULL, midcoord, CA[2], CA[3], \
brad, bres, use_cyl); \
} \
}