The current code rotates the plane without any limits at all sides:

import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.objects.special.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.special.*;
import org.papervision3d.materials.shaders.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.lights.*;
import org.papervision3d.render.*;
import org.papervision3d.view.*;
import org.papervision3d.events.*;
import org.papervision3d.core.utils.*;
import org.papervision3d.core.utils.virtualmouse.VirtualM ouse;

var viewport:Viewport3D = new Viewport3D(0, 0, true, true);
addChild(viewport);
viewport.buttonMode = true;

var renderer:BasicRenderEngine = new BasicRenderEngine();

var scene:Scene3D = new Scene3D();

var camera:Camera3D = new Camera3D();
camera.zoom = 11;
camera.focus = 100;

var mam:MovieMaterial = new MovieMaterial(face);
mam.interactive = true;
mam.smooth = true;
mam.animated = true;

var plane:Plane = new Plane(mam, 300, 300, 6, 6); //texture, width, height, num of poly's...
scene.addChild(plane);

addEventListener(Event.ENTER_FRAME, loop);

function loop(e:Event):void
{
var xDist:Number = mouseX - stage.stageWidth * 0.5;
var yDist:Number = mouseY - stage.stageHeight * 0.5;
plane.rotationY += xDist * 0.01;
plane.rotationX += -yDist * 0.01;


renderer.renderScene(scene, camera, viewport);
}

face.addEventListener(MouseEvent.CLICK, faceClick);

function faceClick(e:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.yahoo.com"));
}


I would like to change the loop, so that the rotation is something like this:
http://www.dehash.com/?page_id=151

Anyone know the best way to tweak to code in the loop section? Thanks

Also, how can I trim the import section?