|
@@ -93,6 +93,40 @@ function updateGroupGeometry( mesh, geometry ) {
|
|
|
|
|
|
var guis = {
|
|
|
|
|
|
+ BoxBufferGeometry : function( mesh ) {
|
|
|
+
|
|
|
+ var data = {
|
|
|
+ width : 15,
|
|
|
+ height : 15,
|
|
|
+ depth : 15,
|
|
|
+ widthSegments : 1,
|
|
|
+ heightSegments : 1,
|
|
|
+ depthSegments : 1
|
|
|
+ };
|
|
|
+
|
|
|
+ function generateGeometry() {
|
|
|
+
|
|
|
+ updateGroupGeometry( mesh,
|
|
|
+ new THREE.BoxBufferGeometry(
|
|
|
+ data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ var folder = gui.addFolder( 'THREE.BoxBufferGeometry' );
|
|
|
+
|
|
|
+ folder.add( data, 'width', 1, 30 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'height', 1, 30 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'depth', 1, 30 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'widthSegments', 1, 10 ).step( 1 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'heightSegments', 1, 10 ).step( 1 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'depthSegments', 1, 10 ).step( 1 ).onChange( generateGeometry );
|
|
|
+
|
|
|
+ generateGeometry();
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
BoxGeometry : function( mesh ) {
|
|
|
|
|
|
var data = {
|
|
@@ -173,6 +207,36 @@ var guis = {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ CircleBufferGeometry : function( mesh ) {
|
|
|
+
|
|
|
+ var data = {
|
|
|
+ radius : 10,
|
|
|
+ segments : 32,
|
|
|
+ thetaStart : 0,
|
|
|
+ thetaLength : twoPi,
|
|
|
+ };
|
|
|
+
|
|
|
+ function generateGeometry() {
|
|
|
+
|
|
|
+ updateGroupGeometry( mesh,
|
|
|
+ new THREE.CircleBufferGeometry(
|
|
|
+ data.radius, data.segments, data.thetaStart, data.thetaLength
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ var folder = gui.addFolder( 'THREE.CircleBufferGeometry' );
|
|
|
+
|
|
|
+ folder.add( data, 'radius', 1, 20 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'segments', 0, 128 ).step( 1 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'thetaStart', 0, twoPi ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'thetaLength', 0, twoPi ).onChange( generateGeometry );
|
|
|
+
|
|
|
+ generateGeometry();
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
CircleGeometry : function( mesh ) {
|
|
|
|
|
|
var data = {
|
|
@@ -281,6 +345,36 @@ var guis = {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ PlaneBufferGeometry : function( mesh ) {
|
|
|
+
|
|
|
+ var data = {
|
|
|
+ width : 10,
|
|
|
+ height : 10,
|
|
|
+ widthSegments : 1,
|
|
|
+ heightSegments : 1
|
|
|
+ };
|
|
|
+
|
|
|
+ function generateGeometry() {
|
|
|
+
|
|
|
+ updateGroupGeometry( mesh,
|
|
|
+ new THREE.PlaneBufferGeometry(
|
|
|
+ data.width, data.height, data.widthSegments, data.heightSegments
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ var folder = gui.addFolder( 'THREE.PlaneBufferGeometry' );
|
|
|
+
|
|
|
+ folder.add( data, 'width', 1, 30 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'height', 1, 30 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'widthSegments', 1, 30 ).step( 1 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'heightSegments', 1, 30 ).step( 1 ).onChange( generateGeometry );
|
|
|
+
|
|
|
+ generateGeometry();
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
PlaneGeometry : function( mesh ) {
|
|
|
|
|
|
var data = {
|
|
@@ -345,6 +439,42 @@ var guis = {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ SphereBufferGeometry : function( mesh ) {
|
|
|
+
|
|
|
+ var data = {
|
|
|
+ radius : 15,
|
|
|
+ widthSegments : 8,
|
|
|
+ heightSegments : 6,
|
|
|
+ phiStart : 0,
|
|
|
+ phiLength : twoPi,
|
|
|
+ thetaStart : 0,
|
|
|
+ thetaLength : Math.PI,
|
|
|
+ };
|
|
|
+
|
|
|
+ function generateGeometry() {
|
|
|
+
|
|
|
+ updateGroupGeometry( mesh,
|
|
|
+ new THREE.SphereBufferGeometry(
|
|
|
+ data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ var folder = gui.addFolder( 'THREE.SphereBufferGeometry' );
|
|
|
+
|
|
|
+ folder.add( data, 'radius', 1, 30 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'widthSegments', 3, 32 ).step( 1 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'heightSegments', 2, 32 ).step( 1 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'phiStart', 0, twoPi ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'phiLength', 0, twoPi ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'thetaStart', 0, twoPi ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'thetaLength', 0, twoPi ).onChange( generateGeometry );
|
|
|
+
|
|
|
+ generateGeometry();
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
SphereGeometry : function( mesh ) {
|
|
|
|
|
|
var data = {
|
|
@@ -473,6 +603,38 @@ var guis = {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ TorusBufferGeometry : function( mesh ) {
|
|
|
+
|
|
|
+ var data = {
|
|
|
+ radius : 10,
|
|
|
+ tube : 3,
|
|
|
+ radialSegments : 16,
|
|
|
+ tubularSegments : 100,
|
|
|
+ arc : twoPi
|
|
|
+ };
|
|
|
+
|
|
|
+ function generateGeometry() {
|
|
|
+
|
|
|
+ updateGroupGeometry( mesh,
|
|
|
+ new THREE.TorusBufferGeometry(
|
|
|
+ data.radius, data.tube, data.radialSegments, data.tubularSegments, data.arc
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ var folder = gui.addFolder( 'THREE.TorusBufferGeometry' );
|
|
|
+
|
|
|
+ folder.add( data, 'radius', 1, 20 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'tube', 0.1, 10 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'radialSegments', 2, 30 ).step( 1 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'tubularSegments', 3, 200 ).step( 1 ).onChange( generateGeometry );
|
|
|
+ folder.add( data, 'arc', 0.1, twoPi ).onChange( generateGeometry );
|
|
|
+
|
|
|
+ generateGeometry();
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
TorusGeometry : function( mesh ) {
|
|
|
|
|
|
var data = {
|