From 2a907fecd704806e0dabf17b2670af3aa64e1948 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Thu, 14 Mar 2013 02:25:43 +0100 Subject: [PATCH] Added GridHelper. --- editor/js/ui/Viewport.js | 22 +--------------------- src/extras/helpers/GridHelper.js | 29 +++++++++++++++++++++++++++++ utils/build/includes/extras.json | 1 + 3 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 src/extras/helpers/GridHelper.js diff --git a/editor/js/ui/Viewport.js b/editor/js/ui/Viewport.js index 0c6acd0fa0..20dab2be13 100644 --- a/editor/js/ui/Viewport.js +++ b/editor/js/ui/Viewport.js @@ -6,7 +6,6 @@ var Viewport = function ( signals ) { var objects = []; - // helpers var helpersToObjects = {}; @@ -14,26 +13,7 @@ var Viewport = function ( signals ) { var sceneHelpers = new THREE.Scene(); - var size = 500, step = 25; - var geometry = new THREE.Geometry(); - var material = new THREE.LineBasicMaterial( { vertexColors: THREE.VertexColors } ); - var color1 = new THREE.Color( 0x444444 ), color2 = new THREE.Color( 0x888888 ); - - for ( var i = - size; i <= size; i += step ) { - - geometry.vertices.push( new THREE.Vector3( -size, 0, i ) ); - geometry.vertices.push( new THREE.Vector3( size, 0, i ) ); - - geometry.vertices.push( new THREE.Vector3( i, 0, -size ) ); - geometry.vertices.push( new THREE.Vector3( i, 0, size ) ); - - var color = i === 0 ? color1 : color2; - - geometry.colors.push( color, color, color, color ); - - } - - var grid = new THREE.Line( geometry, material, THREE.LinePieces ); + var grid = new THREE.GridHelper( 500, 25 ); sceneHelpers.add( grid ); var selectionBox = new THREE.Mesh( new THREE.CubeGeometry( 1, 1, 1 ), new THREE.MeshBasicMaterial( { color: 0xffff00, wireframe: true, fog: false } ) ); diff --git a/src/extras/helpers/GridHelper.js b/src/extras/helpers/GridHelper.js new file mode 100644 index 0000000000..34f8cbd59f --- /dev/null +++ b/src/extras/helpers/GridHelper.js @@ -0,0 +1,29 @@ +/** + * @author mrdoob / http://mrdoob.com/ + */ + +THREE.GridHelper = function ( size, step ) { + + var geometry = new THREE.Geometry(); + var material = new THREE.LineBasicMaterial( { vertexColors: THREE.VertexColors } ); + var color1 = new THREE.Color( 0x444444 ), color2 = new THREE.Color( 0x888888 ); + + for ( var i = - size; i <= size; i += step ) { + + geometry.vertices.push( new THREE.Vector3( -size, 0, i ) ); + geometry.vertices.push( new THREE.Vector3( size, 0, i ) ); + + geometry.vertices.push( new THREE.Vector3( i, 0, -size ) ); + geometry.vertices.push( new THREE.Vector3( i, 0, size ) ); + + var color = i === 0 ? color1 : color2; + + geometry.colors.push( color, color, color, color ); + + } + + THREE.Line.call( this, geometry, material, THREE.LinePieces ); + +}; + +THREE.GridHelper.prototype = Object.create( THREE.Line.prototype ); diff --git a/utils/build/includes/extras.json b/utils/build/includes/extras.json index 31c8e44438..0e27f289bc 100644 --- a/utils/build/includes/extras.json +++ b/utils/build/includes/extras.json @@ -36,6 +36,7 @@ "src/extras/helpers/ArrowHelper.js", "src/extras/helpers/CameraHelper.js", "src/extras/helpers/DirectionalLightHelper.js", + "src/extras/helpers/GridHelper.js", "src/extras/helpers/HemisphereLightHelper.js", "src/extras/helpers/PointLightHelper.js", "src/extras/helpers/SpotLightHelper.js", -- GitLab