global proc bing_particleToPtcCmd(){
string $framePad;
int $startFrame , $endFrame ;
$temp = `intFieldGrp -q -value startField`;
$startFrame = $temp[0];
$temp= `intFieldGrp -q -value endField`;
$endFrame = $temp[0];
string $rifArgs =`textFieldGrp -q -text ptcField`;
for ($i=$startFrame ;$i<=$endFrame ;$i++){
currentTime $i;
if($i>=0){
if($i<10) {$framePad=("000"+$i);}
else if($i<100) {$framePad=("00"+$i);}
else if($i<1000) {$framePad=("0"+$i);}
else if($i<10000) {$framePad=(""+$i);}
}
else {
if($i>-10) {$framePad=("-000"+abs($i));}
else if($i>-100) {$framePad=("-00"+abs($i));}
else if($i>-1000) {$framePad=("-0"+abs($i));}
else if($i>-10000) {$framePad=("-"+abs($i));}
}
string $rifArgsBuf[];
int $tokenNum = `tokenize $rifArgs "." $rifArgsBuf`;
particleToPtc -fileName ($rifArgsBuf[0]+"."+$framePad+"."+$rifArgsBuf[1] );
}
}
global proc bing_particleLight(){
if(`window -exists renderScriptWriterUI`) deleteUI renderScriptWriterUI;
windowPref -sa ;
windowPref -ra ;
window -wh 400 500 renderScriptWriterUI;
columnLayout -adj true;
text " ";
text "select particle system ";
text " ";
rowLayout -nc 2 -cw 200 200 -ct2 "left" "left";
intFieldGrp -label "startFrame" -cw2 80 120 -nf 1 -value1 1 startField;
intFieldGrp -label "endFrame" -cw2 59 110 -nf 1 -value1 24 endField;
setParent..;
textFieldGrp -label "ptc files" -cw2 80 300 -text "C:/temp/pointCloud/pointCloud.ptc" ptcField;
text " ";
rowLayout -nc 3 -cw3 100 200 100;
text " ";
button -w 200 -label "generate ptc" -c "bing_particleToPtcCmd";
text " ";
setParent..;
text " ";
text "renderScriptWriter ";
text " ";
separator -w 400 ;
text " ";
textFieldGrp -label "rifilter" -cw2 80 300 filterField;
textFieldGrp -label "imagePath" -cw2 80 300 -text "C:/temp" imagePathField;
textFieldGrp -label "imageFileName" -cw2 80 300 -text "test" imageNameField;
textFieldGrp -label "ribFileName" -cw2 80 300 -text "C:/temp/test" ribNameField;
textFieldGrp -label "scriptFileName" -cw2 80 300 -text "C:/temp/renderScript.bat" scriptNameField;
text " ";
rowLayout -nc 3 -cw3 100 200 100;
text " ";
text " ";
button -w 80 -label "genernate"
-c ("string $renderScript = `bing_genRenderScript`;"+
"string $fileName = `textFieldGrp -q -text scriptNameField`;"+
" bing_renderScriptFileWriter($fileName,$renderScript)") ;
setParent..;
text " " ;
separator -w 400 ;
showWindow renderScriptWriterUI ;
windowPref -la;
}
global proc string bing_genRenderScript(){
//getting rendering scripts
string $framePad;
int $startFrame , $endFrame ;
$temp = `intFieldGrp -q -value startField`;
$startFrame = $temp[0];
$temp= `intFieldGrp -q -value endField`;
$endFrame = $temp[0];
string $rifilter = `textFieldGrp -q -text filterField`;
string $rifArgs =`textFieldGrp -q -text ptcField`;
string $ribFileName = `textFieldGrp -q -text ribNameField`;
string $imagePath = `textFieldGrp -q -text imagePathField`;
string $imageFileName = `textFieldGrp -q -text imageNameField`;
string $renderScript;
int $i;
for ($i=$startFrame;$i<=$endFrame;$i++){
if($i>=0){
if($i<10) {$framePad=("000"+$i);}
else if($i<100) {$framePad=("00"+$i);}
else if($i<1000) {$framePad=("0"+$i);}
else if($i<10000) {$framePad=(""+$i);}
}
else {
if($i>-10) {$framePad=("-000"+abs($i));}
else if($i>-100) {$framePad=("-00"+abs($i));}
else if($i>-1000) {$framePad=("-0"+abs($i));}
else if($i>-10000) {$framePad=("-"+abs($i));}
}
string $rifArgsBuf[];
int $temp = `tokenize $rifArgs "." $rifArgsBuf`;
$renderScript+="prman ";
$renderScript+="-rif "+$rifilter+" ";
$renderScript+="-rifargs "+$rifArgsBuf[0]+"."+$framePad+"."+$rifArgsBuf[1]+" "+"-rifend ";
$renderScript+="\""+$ribFileName+"."+$framePad+".rib\"";
//$renderScript+=$imagePath+"/"+$imageFileName+"."+$framePad+".tif"+"\r\n";
$renderScript+="\r\n";
}
return $renderScript;
}
global proc bing_renderScriptFileWriter(string $fileName,string $renderScript){
int $file = `fopen $fileName "w"`;
fwrite($file , $renderScript);
// fflush($file);
fclose($file);
}
bing_particleLight;