Orbit Object Classes

by sirfizx

HTML

<script src="http://mrdoob.github.com/three.js/build/three.min.js"></script>
<script src="http://mrdoob.github.com/three.js/examples/js/controls/OrbitControls.js"></script>
<div id="container"></div>

JavaScript

var container, renderer, camera, scene, controls, stats, light, mesh;

var init = function () {
    container = document.getElementById("container");
    scene = new THREE.Scene();
    //renderer
    renderer = new THREE.CanvasRenderer({
        antialias: true
    });
    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.setClearColorHex(0x000000, 1);
    container.appendChild(renderer.domElement);

    //camera
    camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 2.5, 10000);
    camera.position.x = 50;
    camera.position.y = 50;
    camera.position.z = 150;
    scene.add(camera);

    //navigation
    controls = new THREE.OrbitControls(camera, renderer.domElement);
    //controls.addEventListener("change", render);                     // Not needed in this case
    controls.target.set(50, 50, -50);                                  // changed

    //light
    scene.add(new THREE.AmbientLight(0x505050));
    
    scene.add( new THREE.AxisHelper( 100 ) );                         // ADDED
    
    //textures
    var bottomPlaneTexture = THREE.ImageUtils.loadTexture( "http://i748.photobucket.com/albums/xx127/GPL_Texture_Repository/Brick_And_Block/ConcreteBlock2.png" );
    var topPlaneTexture = THREE.ImageUtils.loadTexture( "http://www.edwardchee.com/edward_chee/textures_files/003_ceiling_BlackTin02.jpg" );
    
    //materials
    var topPlaneMaterial = new THREE.MeshLambertMaterial({
        side: THREE.DoubleSide,
        color: 0x8B6200,
        map: topPlaneTexture
    });
    var bottomPlaneMaterial = new THREE.MeshLambertMaterial({
        side: THREE.DoubleSide,
        color: 0x8B6200,
        map: bottomPlaneTexture
    });
    
    //geometry container
    var planeContainer = new THREE.Object3D();
    planeContainer.name = "planeContainer";
    
    //geometry
    var planeGeom = new THREE.PlaneGeometry(100, 100,4,4);
    var matrixRot = new THREE.Matrix4().makeRotationX(-Math.PI / 2);
    var...