(bind-func rotate-joint
(lambda (obj name x y z)
;; rotate chest joint
(h3dFindNodes obj name H3DNodeTypes_Joint)
(let ((joint (h3dGetNodeFindResult 0))
(dat (salloc 9 float)))
(h3dGetNodeTransform joint
(pref-ptr dat 0) (pref-ptr dat 1) (pref-ptr dat 2)
(pref-ptr dat 3) (pref-ptr dat 4) (pref-ptr dat 5)
(pref-ptr dat 6) (pref-ptr dat 7) (pref-ptr dat 8))
(h3dSetNodeTransform joint
(pref dat 0) (pref dat 1) (pref dat 2)
(+ (pref dat 3) x)
(+ (pref dat 4) y)
(+ (pref dat 5) z)
(pref dat 6) (pref dat 7) (pref dat 8)))))