%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /data/www_bck/varak.net_bck/ampache.varak.net/modules/UberViz/
Upload File :
Create Path :
Current File : //data/www_bck/varak.net_bck/ampache.varak.net/modules/UberViz/VizHandler.js

//UberViz VizHandler
//Handle 3D world
//Camera movement
//handle sub vizs

//RENDER AREA DIMS:
//SCREEN DIMS: 800 x 600
//CAM Z: 1000
//FAR CLIP Z: 3000
//TO FILL SCREEN AT Z 0: WIDTH 1840, HEIGHT: 1380


var VizHandler = function() {

	var rendertime = 0; //constantly incrementing value public
	var camera, scene, renderer;
	var debugCube;
	var renderToggle = true;
	var vizHolder;

	var FIXED_SIZE_W = 800;
	var FIXED_SIZE_H = 600;

	function init(){

		//EVENT HANDLERS
		events.on("update", update);

		//RENDERER
		renderer = new THREE.WebGLRenderer({
			antialias: false
		});
		renderer.setSize(FIXED_SIZE_W,FIXED_SIZE_H);
		renderer.setClearColor ( 0x000000 );
		renderer.sortObjects = false;
		$('#viz').append(renderer.domElement);

		//3D SCENE
		camera = new THREE.PerspectiveCamera( 70, FIXED_SIZE_W / FIXED_SIZE_H, 1, 3000 );
		camera.position.z = 1000;
		scene = new THREE.Scene();
		scene.add(camera);

		scene.fog = new THREE.Fog( 0x000000, 2000, 3000 );

		//DEBUG
		// debugHolder =  new THREE.Object3D();
		// scene.add( debugHolder );
		// //debugHolder.visible = false;

		// //Boundary cube
		// var geometry = new THREE.CubeGeometry( 1000, 1000, 1000 );
		// var material = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
		// var mesh = new THREE.Mesh( geometry, material );
		// debugHolder.add( mesh );

		// //Debug Cube
		// geometry = new THREE.CubeGeometry( 100, 100, 100 );
		// debugCube = new THREE.Mesh( geometry, material );
		// debugHolder.add( debugCube );

		// //Debug Plane
		// //covers visible area
		// mesh = new THREE.Mesh( new THREE.PlaneGeometry( 800*2.3, 600*2.3,5,5 ), new THREE.MeshBasicMaterial( { color: 0x00FF00, wireframe: true } )  );
		// debugHolder.add( mesh);


		//INIT VIZ
		vizHolder =  new THREE.Object3D();
		scene.add( vizHolder );

		//SET ACTIVE VIZ HERE
		activeViz = [Bars,WhiteRing];



		activeVizCount = activeViz.length;
		for ( var j = 0; j < activeVizCount; j ++ ) {
			activeViz[j].init();
		}

		
	}

	function update() {

		//render every other frame
		// renderToggle = !renderToggle;
		// if (!renderToggle) return;

		rendertime += 0.01;

		//DEBUG
		// if (level > 0 ) debugCube.scale.x = debugCube.scale.y = debugCube.scale.z = level*15;
		// debugCube.rotation.x += 0.01;
		// debugCube.rotation.y += 0.02;


		// renderer.render( scene, camera );
		

	}


	function onResize(){

		var renderW;
		var renderH;

		if (ControlsHandler.vizParams.fullSize){
			var renderW = window.innerWidth;
			var renderH = window.innerHeight - 7;

			if (ControlsHandler.vizParams.showControls){
				renderW -= 250;
			}
            
            $('#viz').css({top:0});

		}else{
			var renderW = FIXED_SIZE_W;
			var renderH = FIXED_SIZE_H;
			//vertically center viz output
			$('#viz').css({top:window.innerHeight/2 - FIXED_SIZE_H/2});
		}

		camera.aspect = renderW / renderH;
		camera.updateProjectionMatrix();
		renderer.setSize( renderW,renderH);
	}

	return {
		init: init,
		update: update,
		getVizHolder: function() { return vizHolder;},
		getCamera: function() { return camera;},
		getScene: function() { return scene;},
		getRenderer: function() { return renderer;},
		onResize: onResize
	};

}();

Zerion Mini Shell 1.0