|
@@ -55,7 +55,8 @@
|
|
|
<span class="link" id="triangle">triangle</span>,
|
|
|
<span class="link" id="cube">cube</span>,
|
|
|
<span class="link" id="cylinder">cylinder</span>,
|
|
|
- <span class="link" id="both">both</span>
|
|
|
+ <span class="link" id="both">both</span>,
|
|
|
+ <span class="link" id="transformed">transformed</span>
|
|
|
- <span class="link" id="export">export to obj</span>
|
|
|
</div>
|
|
|
|
|
@@ -81,10 +82,13 @@
|
|
|
for (var i = 0; i < scene.children.length; i++) {
|
|
|
var current = scene.children[i];
|
|
|
if (current instanceof THREE.Mesh) {
|
|
|
+ current.geometry.dispose ();
|
|
|
scene.remove (current);
|
|
|
i--;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ console.log (renderer.info);
|
|
|
|
|
|
if (type == 1) {
|
|
|
var material = new THREE.MeshLambertMaterial ( { color : 0x00cc00 } );
|
|
@@ -104,7 +108,7 @@
|
|
|
var material = new THREE.MeshLambertMaterial ( { color : 0x00cc00 } );
|
|
|
var geometry = new THREE.CylinderGeometry( 50, 50, 100, 30, 1 );
|
|
|
scene.add( new THREE.Mesh( geometry, material ) );
|
|
|
- } else if (type == 4) {
|
|
|
+ } else if (type == 4 || type == 5) {
|
|
|
var material = new THREE.MeshLambertMaterial ( { color : 0x00cc00 } );
|
|
|
|
|
|
var geometry = new THREE.Geometry ();
|
|
@@ -115,14 +119,23 @@
|
|
|
geometry.computeFaceNormals ();
|
|
|
var mesh = new THREE.Mesh( geometry, material );
|
|
|
mesh.position.x = -200;
|
|
|
+ if (type == 5) {
|
|
|
+ mesh.rotation.y = Math.PI / 4.0;
|
|
|
+ }
|
|
|
scene.add( mesh );
|
|
|
|
|
|
var geometry2 = new THREE.BoxGeometry( 100, 100, 100 );
|
|
|
var mesh2 = new THREE.Mesh( geometry2, material );
|
|
|
+ if (type == 5) {
|
|
|
+ mesh2.rotation.y = Math.PI / 4.0;
|
|
|
+ }
|
|
|
scene.add( mesh2 );
|
|
|
|
|
|
var geometry3 = new THREE.CylinderGeometry( 50, 50, 100, 30, 1 );
|
|
|
var mesh3 = new THREE.Mesh( geometry3, material );
|
|
|
+ if (type == 5) {
|
|
|
+ mesh3.rotation.y = Math.PI / 4.0;
|
|
|
+ }
|
|
|
mesh3.position.x = 200;
|
|
|
|
|
|
scene.add( mesh3 );
|
|
@@ -155,6 +168,7 @@
|
|
|
document.getElementById( 'cube' ).addEventListener( 'click', function() { addGeometry (2); });
|
|
|
document.getElementById( 'cylinder' ).addEventListener( 'click', function() { addGeometry (3); });
|
|
|
document.getElementById( 'both' ).addEventListener( 'click', function() { addGeometry (4); });
|
|
|
+ document.getElementById( 'transformed' ).addEventListener( 'click', function() { addGeometry (5); });
|
|
|
|
|
|
exportButton = document.getElementById( 'export' );
|
|
|
exportButton.addEventListener( 'click', function() { exportToObj (); });
|
|
@@ -206,7 +220,7 @@
|
|
|
|
|
|
camera.position.x += ( mouseX - camera.position.x ) * .05;
|
|
|
camera.position.y += ( -mouseY - camera.position.y ) * .05;
|
|
|
- camera.lookAt( new THREE.Vector3 (0.0, 0.0, 0.0) );
|
|
|
+ camera.lookAt( scene.position );
|
|
|
|
|
|
light.position.set( camera.position.x, camera.position.y, camera.position.z ).normalize ();
|
|
|
renderer.render( scene, camera );
|