@@ -5,7 +5,7 @@ var utils = require('../utils');
55
66var DEFAULT_RADIUS = 1 ;
77var helperMatrix = new THREE . Matrix4 ( ) ;
8- var rad = THREE . Math . degToRad ;
8+ var degToRad = THREE . Math . degToRad ;
99var warn = debug ( 'components:geometry:warn' ) ;
1010
1111/**
@@ -50,7 +50,6 @@ module.exports.Component = registerComponent('geometry', {
5050 height : { default : 2 , min : 0 , if : { primitive : [ 'box' , 'plane' ] } } ,
5151 openEnded : { default : false , if : { primitive : [ 'cylinder' ] } } ,
5252 p : { default : 2 , if : { primitive : [ 'torusKnot' ] } , type : 'int' } ,
53- translate : { default : { x : 0 , y : 0 , z : 0 } } ,
5453 primitive : {
5554 default : '' ,
5655 oneOf : [ '' , 'box' , 'circle' , 'cylinder' , 'plane' ,
@@ -75,6 +74,7 @@ module.exports.Component = registerComponent('geometry', {
7574 thetaLength : { default : 360 , min : 0 , if : { primitive : [ 'circle' , 'cylinder' , 'ring' ,
7675 'sphere' ] } } ,
7776 thetaStart : { default : 0 , if : { primitive : [ 'circle' , 'cylinder' , 'ring' , 'sphere' ] } } ,
77+ translate : { type : 'vec3' } ,
7878 width : { default : 2 , min : 0 , if : { primitive : [ 'box' , 'plane' ] } }
7979 } ,
8080
@@ -125,40 +125,40 @@ function getGeometry (data, schema) {
125125 }
126126 case 'circle' : {
127127 return new THREE . CircleGeometry (
128- data . radius , data . segments , rad ( data . thetaStart ) , rad ( data . thetaLength ) ) ;
128+ data . radius , data . segments , degToRad ( data . thetaStart ) , degToRad ( data . thetaLength ) ) ;
129129 }
130130 case 'cone' : {
131131 return new THREE . CylinderGeometry (
132132 data . radiusTop , data . radiusBottom , data . height ,
133133 data . segmentsRadial , data . segmentsHeight ,
134- data . openEnded , rad ( data . thetaStart ) , rad ( data . thetaLength ) ) ;
134+ data . openEnded , degToRad ( data . thetaStart ) , degToRad ( data . thetaLength ) ) ;
135135 }
136136 case 'cylinder' : {
137137 return new THREE . CylinderGeometry (
138138 data . radius , data . radius , data . height ,
139139 data . segmentsRadial , data . segmentsHeight ,
140- data . openEnded , rad ( data . thetaStart ) , rad ( data . thetaLength ) ) ;
140+ data . openEnded , degToRad ( data . thetaStart ) , degToRad ( data . thetaLength ) ) ;
141141 }
142142 case 'plane' : {
143143 return new THREE . PlaneBufferGeometry ( data . width , data . height ) ;
144144 }
145145 case 'ring' : {
146146 return new THREE . RingGeometry (
147147 data . radiusInner , data . radiusOuter , data . segmentsTheta , data . segmentsPhi ,
148- rad ( data . thetaStart ) , rad ( data . thetaLength ) ) ;
148+ degToRad ( data . thetaStart ) , degToRad ( data . thetaLength ) ) ;
149149 }
150150 case 'sphere' : {
151151 // thetaLength's default for spheres is different from those of the other geometries.
152152 // For now, we detect if thetaLength is exactly 360 to switch to a different default.
153153 if ( data . thetaLength === 360 ) { data . thetaLength = 180 ; }
154154 return new THREE . SphereBufferGeometry (
155- data . radius , data . segmentsWidth , data . segmentsHeight , rad ( data . phiStart ) ,
156- rad ( data . phiLength ) , rad ( data . thetaStart ) , rad ( data . thetaLength ) ) ;
155+ data . radius , data . segmentsWidth , data . segmentsHeight , degToRad ( data . phiStart ) ,
156+ degToRad ( data . phiLength ) , degToRad ( data . thetaStart ) , degToRad ( data . thetaLength ) ) ;
157157 }
158158 case 'torus' : {
159159 return new THREE . TorusGeometry (
160160 data . radius , data . radiusTubular * 2 , data . segmentsRadial , data . segmentsTubular ,
161- rad ( data . arc ) ) ;
161+ degToRad ( data . arc ) ) ;
162162 }
163163 case 'torusKnot' : {
164164 return new THREE . TorusKnotGeometry (
0 commit comments