var range_camera=300;
var Zoom=1;
var type_of_view=0;
var head_cam_rc=0;


function Camera(lat,long,alti,range,head,tilt) {
	range=range*Zoom;
	if (type_of_view!=2) {  // filtrage rotation camera
				head=head%360;head_cam_rc=head_cam_rc%360;
				if ((head-head_cam_rc)>180) head_cam_rc+=360; 
				if ((head_cam_rc-head)>180) head_cam_rc-=360; 
				head_cam_rc=0.1*head+0.9*head_cam_rc;
				head=head_cam_rc;
	}
	switch(type_of_view) {
 	case 0:  // Flying
		 var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_ABSOLUTE);
		lookAt.setLatitude(lat);
		lookAt.setLongitude(long);
		lookAt.setRange(range);
		lookAt.setTilt(tilt);
		lookAt.setAltitude (1 +alti)   ;
		lookAt.setHeading (head)   ;

		ge.getView().setAbstractView(lookAt);
		break; 	
		case 1:  // altitude
		 var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_ABSOLUTE);
		lookAt.setLatitude(lat);
		lookAt.setLongitude(long);
		lookAt.setRange(range);
		lookAt.setTilt(tilt);
		lookAt.setAltitude (1+alti )   ;
		lookAt.setHeading (head)   ;
		ge.getView().setAbstractView(lookAt);
		break; 	
		case 2:  // Vue depuis la plateforme. First person view
		 var lookAt = ge.getView().copyAsCamera(ge.ALTITUDE_ABSOLUTE);
		lookAt.setLatitude(lat);
		lookAt.setLongitude(long);
		lookAt.setHeading (head)   ;
		lookAt.setTilt(90+Platef[0].tilt);
		lookAt.setRoll (-Platef[0].roll);
		lookAt.setAltitude (2+alti )   ;	
		ge.getView().setAbstractView(lookAt);
		break;
		case 3:  // Port
		 var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_ABSOLUTE);
		lookAt.setLatitude(lat);
		lookAt.setLongitude(long);
		lookAt.setRange(range);
		lookAt.setTilt(tilt);
		lookAt.setAltitude (10+alti )   ;
		lookAt.setHeading ((head+90)%360)   ;
		ge.getView().setAbstractView(lookAt);
		break;
		case 4:  // STARBORD
		 var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_ABSOLUTE);
		lookAt.setLatitude(lat);
		lookAt.setLongitude(long);
		lookAt.setRange(range);
		lookAt.setTilt(tilt);
		lookAt.setAltitude (10 +alti)   ;
		lookAt.setHeading ((head+270)%360)   ;
		ge.getView().setAbstractView(lookAt);
		break;
		}	
}


		
function Modif_Range(v) {
  		if (v=="moins") {
			Zoom=Zoom*2;
		} else {
			Zoom=Zoom/2;
		}
		Plateform_view();
		
}

