For the bending and twisting of the model you would need to create a Cal3D model with various morph targets that you could animate between. See the following article for some information on this:
http://kb.worldviz.com/articles/1233
Scaling could be done either within the morph targets of the Cal3D model or using the
<vizact>.sizeTo command.