Преглед изворни кода

Change so that a negative bevelSize indicates subtraction.

Felix Fontein пре 6 година
родитељ
комит
291c61e6c0

+ 1 - 3
docs/api/en/geometries/ExtrudeBufferGeometry.html

@@ -51,8 +51,7 @@
 			bevelEnabled: true,
 			bevelEnabled: true,
 			bevelThickness: 1,
 			bevelThickness: 1,
 			bevelSize: 1,
 			bevelSize: 1,
-			bevelSegments: 1,
-			bevelSubtract: false
+			bevelSegments: 1
 		};
 		};
 
 
 		var geometry = new THREE.ExtrudeBufferGeometry( shape, extrudeSettings );
 		var geometry = new THREE.ExtrudeBufferGeometry( shape, extrudeSettings );
@@ -78,7 +77,6 @@
 				<li>bevelThickness — float. How deep into the original shape the bevel goes. Default is 6.</li>
 				<li>bevelThickness — float. How deep into the original shape the bevel goes. Default is 6.</li>
 				<li>bevelSize — float. Distance from the shape outline that the bevel extends. Default is bevelThickness - 2.</li>
 				<li>bevelSize — float. Distance from the shape outline that the bevel extends. Default is bevelThickness - 2.</li>
 				<li>bevelSegments — int. Number of bevel layers. Default is 3.</li>
 				<li>bevelSegments — int. Number of bevel layers. Default is 3.</li>
-				<li>bevelSubtract — bool. Subtract bevel instead of adding it. Default is false.</li>
 				<li>extrudePath — THREE.CurvePath. A 3D spline path along which the shape should be extruded.</li>
 				<li>extrudePath — THREE.CurvePath. A 3D spline path along which the shape should be extruded.</li>
 				<li>UVGenerator —  Object. object that provides UV generator functions</li>
 				<li>UVGenerator —  Object. object that provides UV generator functions</li>
 			</ul>
 			</ul>

+ 1 - 3
docs/api/en/geometries/ExtrudeGeometry.html

@@ -51,8 +51,7 @@
 			bevelEnabled: true,
 			bevelEnabled: true,
 			bevelThickness: 1,
 			bevelThickness: 1,
 			bevelSize: 1,
 			bevelSize: 1,
-			bevelSegments: 1,
-			bevelSubtract: false
+			bevelSegments: 1
 		};
 		};
 
 
 		var geometry = new THREE.ExtrudeGeometry( shape, extrudeSettings );
 		var geometry = new THREE.ExtrudeGeometry( shape, extrudeSettings );
@@ -78,7 +77,6 @@
 				<li>bevelThickness — float. How deep into the original shape the bevel goes. Default is 6.</li>
 				<li>bevelThickness — float. How deep into the original shape the bevel goes. Default is 6.</li>
 				<li>bevelSize — float. Distance from the shape outline that the bevel extends. Default is bevelThickness - 2.</li>
 				<li>bevelSize — float. Distance from the shape outline that the bevel extends. Default is bevelThickness - 2.</li>
 				<li>bevelSegments — int. Number of bevel layers. Default is 3.</li>
 				<li>bevelSegments — int. Number of bevel layers. Default is 3.</li>
-				<li>bevelSubtract — bool. Subtract bevel instead of adding it. Default is false.</li>
 				<li>extrudePath — THREE.CurvePath. A 3D spline path along which the shape should be extruded.</li>
 				<li>extrudePath — THREE.CurvePath. A 3D spline path along which the shape should be extruded.</li>
 				<li>UVGenerator —  Object. object that provides UV generator functions</li>
 				<li>UVGenerator —  Object. object that provides UV generator functions</li>
 			</ul>
 			</ul>

+ 1 - 3
docs/api/en/geometries/TextBufferGeometry.html

@@ -55,8 +55,7 @@
 				bevelEnabled: true,
 				bevelEnabled: true,
 				bevelThickness: 10,
 				bevelThickness: 10,
 				bevelSize: 8,
 				bevelSize: 8,
-				bevelSegments: 5,
-				bevelSubtract: false
+				bevelSegments: 5
 			} );
 			} );
 		} );
 		} );
 		</code>
 		</code>
@@ -76,7 +75,6 @@
 			<li>bevelThickness — Float. How deep into text bevel goes. Default is 10.</li>
 			<li>bevelThickness — Float. How deep into text bevel goes. Default is 10.</li>
 			<li>bevelSize — Float. How far from text outline is bevel. Default is 8.</li>
 			<li>bevelSize — Float. How far from text outline is bevel. Default is 8.</li>
 			<li>bevelSegments — Integer. Number of bevel segments. Default is 3.</li>
 			<li>bevelSegments — Integer. Number of bevel segments. Default is 3.</li>
-			<li>bevelSubtract — bool. Subtract bevel instead of adding it. Default is false.</li>
 		</ul>
 		</ul>
 		</p>
 		</p>
 
 

+ 1 - 3
docs/api/en/geometries/TextGeometry.html

@@ -55,8 +55,7 @@
 				bevelEnabled: true,
 				bevelEnabled: true,
 				bevelThickness: 10,
 				bevelThickness: 10,
 				bevelSize: 8,
 				bevelSize: 8,
-				bevelSegments: 5,
-				bevelSubtract: false
+				bevelSegments: 5
 			} );
 			} );
 		} );
 		} );
 		</code>
 		</code>
@@ -76,7 +75,6 @@
 			<li>bevelThickness — Float. How deep into text bevel goes. Default is 10.</li>
 			<li>bevelThickness — Float. How deep into text bevel goes. Default is 10.</li>
 			<li>bevelSize — Float. How far from text outline is bevel. Default is 8.</li>
 			<li>bevelSize — Float. How far from text outline is bevel. Default is 8.</li>
 			<li>bevelSegments — Integer. Number of bevel segments. Default is 3.</li>
 			<li>bevelSegments — Integer. Number of bevel segments. Default is 3.</li>
-			<li>bevelSubtract — bool. Subtract bevel instead of adding it. Default is false.</li>
 		</ul>
 		</ul>
 		</p>
 		</p>
 
 

+ 10 - 20
docs/scenes/js/geometry.js

@@ -852,8 +852,7 @@ var guis = {
 			bevelEnabled: false,
 			bevelEnabled: false,
 			bevelThickness: 1,
 			bevelThickness: 1,
 			bevelSize: 0.5,
 			bevelSize: 0.5,
-			bevelSegments: 3,
-			bevelSubtract: false
+			bevelSegments: 3
 		};
 		};
 
 
 		var fonts = [
 		var fonts = [
@@ -880,8 +879,7 @@ var guis = {
 					bevelEnabled: data.bevelEnabled,
 					bevelEnabled: data.bevelEnabled,
 					bevelThickness: data.bevelThickness,
 					bevelThickness: data.bevelThickness,
 					bevelSize: data.bevelSize,
 					bevelSize: data.bevelSize,
-					bevelSegments: data.bevelSegments,
-					bevelSubtract: data.bevelSubtract
+					bevelSegments: data.bevelSegments
 				} );
 				} );
 				geometry.center();
 				geometry.center();
 
 
@@ -904,9 +902,8 @@ var guis = {
 		folder.add( data, 'weight', weights ).onChange( generateGeometry );
 		folder.add( data, 'weight', weights ).onChange( generateGeometry );
 		folder.add( data, 'bevelEnabled' ).onChange( generateGeometry );
 		folder.add( data, 'bevelEnabled' ).onChange( generateGeometry );
 		folder.add( data, 'bevelThickness', 0.1, 3 ).onChange( generateGeometry );
 		folder.add( data, 'bevelThickness', 0.1, 3 ).onChange( generateGeometry );
-		folder.add( data, 'bevelSize', 0.1, 3 ).onChange( generateGeometry );
+		folder.add( data, 'bevelSize', -0.5, 3 ).onChange( generateGeometry );
 		folder.add( data, 'bevelSegments', 0, 8 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'bevelSegments', 0, 8 ).step( 1 ).onChange( generateGeometry );
-		folder.add( data, 'bevelSubtract' ).onChange( generateGeometry );
 
 
 		generateGeometry();
 		generateGeometry();
 
 
@@ -924,8 +921,7 @@ var guis = {
 			bevelEnabled: false,
 			bevelEnabled: false,
 			bevelThickness: 1,
 			bevelThickness: 1,
 			bevelSize: 0.5,
 			bevelSize: 0.5,
-			bevelSegments: 3,
-			bevelSubtract: false
+			bevelSegments: 3
 		};
 		};
 
 
 		var fonts = [
 		var fonts = [
@@ -952,8 +948,7 @@ var guis = {
 					bevelEnabled: data.bevelEnabled,
 					bevelEnabled: data.bevelEnabled,
 					bevelThickness: data.bevelThickness,
 					bevelThickness: data.bevelThickness,
 					bevelSize: data.bevelSize,
 					bevelSize: data.bevelSize,
-					bevelSegments: data.bevelSegments,
-					bevelSubtract: data.bevelSubtract
+					bevelSegments: data.bevelSegments
 				} );
 				} );
 				geometry.center();
 				geometry.center();
 
 
@@ -976,9 +971,8 @@ var guis = {
 		folder.add( data, 'weight', weights ).onChange( generateGeometry );
 		folder.add( data, 'weight', weights ).onChange( generateGeometry );
 		folder.add( data, 'bevelEnabled' ).onChange( generateGeometry );
 		folder.add( data, 'bevelEnabled' ).onChange( generateGeometry );
 		folder.add( data, 'bevelThickness', 0.1, 3 ).onChange( generateGeometry );
 		folder.add( data, 'bevelThickness', 0.1, 3 ).onChange( generateGeometry );
-		folder.add( data, 'bevelSize', 0.1, 3 ).onChange( generateGeometry );
+		folder.add( data, 'bevelSize', -0.5, 3 ).onChange( generateGeometry );
 		folder.add( data, 'bevelSegments', 0, 8 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'bevelSegments', 0, 8 ).step( 1 ).onChange( generateGeometry );
-		folder.add( data, 'bevelSubtract' ).onChange( generateGeometry );
 
 
 		generateGeometry();
 		generateGeometry();
 
 
@@ -1274,8 +1268,7 @@ var guis = {
 			bevelEnabled: true,
 			bevelEnabled: true,
 			bevelThickness: 1,
 			bevelThickness: 1,
 			bevelSize: 1,
 			bevelSize: 1,
-			bevelSegments: 1,
-			bevelSubtract: false
+			bevelSegments: 1
 		};
 		};
 
 
 		var length = 12, width = 8;
 		var length = 12, width = 8;
@@ -1301,9 +1294,8 @@ var guis = {
 		folder.add( data, 'steps', 1, 10 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'steps', 1, 10 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'depth', 1, 20 ).onChange( generateGeometry );
 		folder.add( data, 'depth', 1, 20 ).onChange( generateGeometry );
 		folder.add( data, 'bevelThickness', 1, 5 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'bevelThickness', 1, 5 ).step( 1 ).onChange( generateGeometry );
-		folder.add( data, 'bevelSize', 1, 5 ).step( 1 ).onChange( generateGeometry );
+		folder.add( data, 'bevelSize', -4, 5 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'bevelSegments', 1, 5 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'bevelSegments', 1, 5 ).step( 1 ).onChange( generateGeometry );
-		folder.add( data, 'bevelSubtract' ).onChange( generateGeometry );
 
 
 		generateGeometry();
 		generateGeometry();
 
 
@@ -1317,8 +1309,7 @@ var guis = {
 			bevelEnabled: true,
 			bevelEnabled: true,
 			bevelThickness: 1,
 			bevelThickness: 1,
 			bevelSize: 1,
 			bevelSize: 1,
-			bevelSegments: 1,
-			bevelSubtract: false
+			bevelSegments: 1
 		};
 		};
 
 
 		var length = 12, width = 8;
 		var length = 12, width = 8;
@@ -1344,9 +1335,8 @@ var guis = {
 		folder.add( data, 'steps', 1, 10 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'steps', 1, 10 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'depth', 1, 20 ).onChange( generateGeometry );
 		folder.add( data, 'depth', 1, 20 ).onChange( generateGeometry );
 		folder.add( data, 'bevelThickness', 1, 5 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'bevelThickness', 1, 5 ).step( 1 ).onChange( generateGeometry );
-		folder.add( data, 'bevelSize', 1, 5 ).step( 1 ).onChange( generateGeometry );
+		folder.add( data, 'bevelSize', -4, 5 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'bevelSegments', 1, 5 ).step( 1 ).onChange( generateGeometry );
 		folder.add( data, 'bevelSegments', 1, 5 ).step( 1 ).onChange( generateGeometry );
-		folder.add( data, 'bevelSubtract' ).onChange( generateGeometry );
 
 
 		generateGeometry();
 		generateGeometry();
 
 

+ 8 - 2
src/geometries/ExtrudeGeometry.js

@@ -13,7 +13,6 @@
  *  bevelThickness: <float>, // how deep into the original shape bevel goes
  *  bevelThickness: <float>, // how deep into the original shape bevel goes
  *  bevelSize: <float>, // how far from shape outline is bevel
  *  bevelSize: <float>, // how far from shape outline is bevel
  *  bevelSegments: <int>, // number of bevel layers
  *  bevelSegments: <int>, // number of bevel layers
- *  bevelSubtract: <bool>, // subtract bevel instead of adding it
  *
  *
  *  extrudePath: <THREE.Curve> // curve to extrude shape along
  *  extrudePath: <THREE.Curve> // curve to extrude shape along
  *
  *
@@ -111,7 +110,14 @@ function ExtrudeBufferGeometry( shapes, options ) {
 		var bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 6;
 		var bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 6;
 		var bevelSize = options.bevelSize !== undefined ? options.bevelSize : bevelThickness - 2;
 		var bevelSize = options.bevelSize !== undefined ? options.bevelSize : bevelThickness - 2;
 		var bevelSegments = options.bevelSegments !== undefined ? options.bevelSegments : 3;
 		var bevelSegments = options.bevelSegments !== undefined ? options.bevelSegments : 3;
-		var bevelSubtract = options.bevelSubtract !== undefined ? options.bevelSubtract : false;
+		var bevelSubtract = false;
+
+		if ( bevelSize < 0 ) {
+
+			bevelSize = - bevelSize;
+			bevelSubtract = true;
+
+		}
 
 
 		var extrudePath = options.extrudePath;
 		var extrudePath = options.extrudePath;
 
 

+ 0 - 1
src/geometries/TextGeometry.js

@@ -14,7 +14,6 @@
  *  bevelEnabled: <bool>, // turn on bevel
  *  bevelEnabled: <bool>, // turn on bevel
  *  bevelThickness: <float>, // how deep into text bevel goes
  *  bevelThickness: <float>, // how deep into text bevel goes
  *  bevelSize: <float> // how far from text outline is bevel
  *  bevelSize: <float> // how far from text outline is bevel
- *  bevelSubtract: <bool>, // subtract bevel instead of adding it
  * }
  * }
  */
  */