/*
 * Greg Tedder
 * January 3, 2009
 * gregtedder@gmail.com
 * http://www.codeugly.com/
 *
 */

function main(doc){
	var FPS = 8;
	var cam = doc.activeCamera();
	
	//get filename
    var path=OS.runSavePanel();
    if(path==null){
	return;
	}
        
    var file=new File(path);
    var lastpathcomp=file.lastPathComponent();
    var dir=file.directory()+"/";
    var comps= lastpathcomp.split(/\./);
    var filename=comps[0];
	
	// FPS is set at top
	var each_time = 1 / FPS;
	
	//////////////////////
	// South East
	cam.setParameter("position",new Vec3D(-10.606, 13, 10.606));
	cam.setParameter("rotation",new Vec3D(-45,-26.5,0));
	var count = 10;
	
    for(var i=0; i<8; i++){
    	var this_time = each_time * i;
		doc.setAnimPosition(this_time);
		
		//render the frame
		doc.render(dir+"se/"+filename+count+".png");
		count++;
	}
	
	////////////////
	// South
	cam.setParameter("position",new Vec3D(0, 13, 15));
	cam.setParameter("rotation",new Vec3D(0,-26.5,0));
	count = 20; // make it easy to see the transitions in file
	
    for(var i=0; i<8; i++){
    	var this_time = each_time * i;
		doc.setAnimPosition(this_time);
		
		//render the frame
		doc.render(dir+"s/"+filename+count+".png");
		count++;
	}
	
	//////////////////////
	// South West
	cam.setParameter("position",new Vec3D(10.606, 13, 10.606));
	cam.setParameter("rotation",new Vec3D(45,-26.5,0));
	count = 30; // make it easy to see the transitions in file
	
    for(var i=0; i<8; i++){
    	var this_time = each_time * i;
		doc.setAnimPosition(this_time);
		
		//render the frame
		doc.render(dir+"sw/"+filename+count+".png");
		count++;
	}
	
	////////////////
	// West
	cam.setParameter("position",new Vec3D(15, 13, 0));
	cam.setParameter("rotation",new Vec3D(90,-26.5,0));
	count = 40; // make it easy to see the transitions in file
	
    for(var i=0; i<8; i++){
    	var this_time = each_time * i;
		doc.setAnimPosition(this_time);
		
		//render the frame
		doc.render(dir+"w/"+filename+count+".png");
		count++;
	}
	
	//////////////////////
	// North West
	cam.setParameter("position",new Vec3D(10.606, 13, -10.606));
	cam.setParameter("rotation",new Vec3D(135,-26.5,0));
	count = 50; // make it easy to see the transitions in file
	
    for(var i=0; i<8; i++){
    	var this_time = each_time * i;
		doc.setAnimPosition(this_time);
		
		//render the frame
		doc.render(dir+"nw/"+filename+count+".png");
		count++;
	}
	
	////////////////
	// North
	cam.setParameter("position",new Vec3D(0, 13, -15));
	cam.setParameter("rotation",new Vec3D(180,-26.5,0));
	count = 60; // make it easy to see the transitions in file
	
    for(var i=0; i<8; i++){
    	var this_time = each_time * i;
		doc.setAnimPosition(this_time);
		
		//render the frame
		doc.render(dir+"n/"+filename+count+".png");
		count++;
	}
	
	//////////////////////
	// North East
	cam.setParameter("position",new Vec3D(-10.606, 13, -10.606));
	cam.setParameter("rotation",new Vec3D(225,-26.5,0));
	count = 70; // make it easy to see the transitions in file
	
    for(var i=0; i<8; i++){
    	var this_time = each_time * i;
		doc.setAnimPosition(this_time);
		
		//render the frame
		doc.render(dir+"ne/"+filename+count+".png");
		count++;
	}
	
	////////////////
	// East
	cam.setParameter("position",new Vec3D(-15, 13, 0));
	cam.setParameter("rotation",new Vec3D(270,-26.5,0));
	count = 80; // make it easy to see the transitions in file
	
    for(var i=0; i<8; i++){
    	var this_time = each_time * i;
		doc.setAnimPosition(this_time);
		
		//render the frame
		doc.render(dir+"e/"+filename+count+".png");
		count++;
	}
}