








// transform procedure
global proc TransformNodes(int $row, int $col, int $lay, vector $node_pos[], int $node_val[], int $transform_rs) {
global int $node_num;
int $cur_node_val = 0;
vector $cur_node_pos;
float $sinrot;
for ($i = 0;$i < $node_num; $i++) {
$cur_node_val = $node_val[$i];
$cur_node_pos = $node_pos[$i];
$xrot_col = 8*sin(20*deg_to_rad($cur_node_pos.y+$cur_node_pos.z));
$xrot_col2 = 8*cos(30*deg_to_rad($cur_node_pos.y+$cur_node_pos.z));
$zrot = 8*sin(20*deg_to_rad($cur_node_pos.y));
$zrot2 = 7*cos(26*deg_to_rad($cur_node_pos.y));
$ynodescale_col = abs(8*sin(deg_to_rad(2*($cur_node_pos.y))));
$ynodescale = abs(8*sin(90+18*deg_to_rad((($cur_node_pos.y/.8) + $cur_node_pos.z))));
$xynodescale = abs(8*cos(deg_to_rad(1.25*(($cur_node_pos.y*$cur_node_pos.y) +
($cur_node_pos.z*$cur_node_pos.z*$cur_node_pos.z)))));
$zrot_col = 20*sin(30*deg_to_rad($cur_node_pos.y));
$zrot_col = 5*sin(4*deg_to_rad(45+$cur_node_pos.y));
$sinrot = 15*sin(20*deg_to_rad($i));
$midyrot = .5+1.25*sin(20*deg_to_rad($cur_node_pos.y));
$xrot = 2*sin(5*deg_to_rad($i));
$xrot2= 3*sin(20*deg_to_rad($i));
$xrot3 = sin(20*deg_to_rad($i));
$yrot = 5*sin(2*deg_to_rad($i));
$zrot = 5*sin(7*deg_to_rad($i));
SelectNode($i, $row,$col,$lay, $node_pos,$node_val);
if ($cur_node_pos.x == 0) {
SelectNode($i, $row,$col,$lay, $node_pos,$node_val);
move -r ($xrot_col) ($xrot_col) ($xrot_col*1.2);
}
if ($cur_node_pos.x == 1) {
SelectNode($i, $row,$col,$lay, $node_pos,$node_val);
move -r 0 8 (10+$midyrot);
if (($cur_node_pos.x != ($lay/2) || $cur_node_pos.z % 2 == 0) && ($cur_node_pos.x != 0 ||
$cur_node_pos.z % 2 == 0) && ($cur_node_pos.y != 0 || $cur_node_pos.z % 2 == 0) &&
($cur_node_pos.y != $col || $cur_node_pos.z % 2 == 0)) {
if ($cur_node_pos.z > 0 && $cur_node_pos.z < ($row*2)) {
SelectNode($i, $row,$col,$lay, $node_pos,$node_val);
move -r 0 ($xrot_col*1.2) ($xrot_col/1.5);
setToolTo moveSuperContext;
$test = `manipMoveContext -q -position Move`;
eval(”select -r polySurface1.e[” + $cur_node_val + “]”);
SelectEdgeRing;
$nodeedges = `ls -sl -fl`;
eval(”select -r ” + $nodeedges[4]);
move -r 0 ($ynodescale*1.2) 0;
eval(”select -r ” + $nodeedges[0]);
move -r 0 (-1*$ynodescale*1.2) 0;
SelectNode($i, $row,$col,$lay, $node_pos,$node_val);
$nodeedges = `ls -sl -fl`;
eval(”select -r ” + $nodeedges[12]);
move -r 0 0 -2;
eval(”select -r ” + $nodeedges[1]);
move -r 0 0 2;
}
}
}
if ($cur_node_pos.x == 2) {
SelectNode($i, $row,$col,$lay, $node_pos,$node_val);
move -r $zrot 3 (14+$zrot2);
if (($cur_node_pos.x != ($lay/2) || $cur_node_pos.z % 2 == 0) && ($cur_node_pos.x != 0 ||
$cur_node_pos.z % 2 == 0) && ($cur_node_pos.y != 0 || $cur_node_pos.z % 2 == 0) &&
($cur_node_pos.y != $col || $cur_node_pos.z % 2 == 0)) {
} else if ($cur_node_pos.y > 0 && $cur_node_pos.y < $col){
eval(”select -r polySurface1.e[” + $cur_node_val + “]”);
SelectEdgeRing;
$nodeedges = `ls -sl -fl`;
eval(”select -r ” + $nodeedges[4]);
eval(”select -r ” + $nodeedges[0]);
}
if ($cur_node_pos.y % 2) {
SelectNode($i, $row,$col,$lay, $node_pos,$node_val);
}
}
ShowRefresh(”transform”, $transform_rs);
}
}