瀏覽代碼

*Geometry.clone() clean up.

Mr.doob 9 年之前
父節點
當前提交
53796b3697

+ 9 - 9
src/extras/geometries/BoxGeometry.js

@@ -128,17 +128,17 @@ THREE.BoxGeometry.prototype.constructor = THREE.BoxGeometry;
 
 THREE.BoxGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.BoxGeometry(
-		this.parameters.width,
-		this.parameters.height,
-		this.parameters.depth,
-		this.parameters.widthSegments,
-		this.parameters.heightSegments,
-		this.parameters.depthSegments
+	var parameters = this.parameters;
+
+	return new THREE.BoxGeometry(
+		parameters.width,
+		parameters.height,
+		parameters.depth,
+		parameters.widthSegments,
+		parameters.heightSegments,
+		parameters.depthSegments
 	);
 
-	return geometry;
-
 };
 
 THREE.CubeGeometry = THREE.BoxGeometry; // backwards compatibility

+ 7 - 9
src/extras/geometries/CircleBufferGeometry.js

@@ -70,15 +70,13 @@ THREE.CircleBufferGeometry.prototype.constructor = THREE.CircleBufferGeometry;
 
 THREE.CircleBufferGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.CircleBufferGeometry(
-		this.parameters.radius,
-		this.parameters.segments,
-		this.parameters.thetaStart,
-		this.parameters.thetaLength
-	);
-
-	geometry.copy( this );
+	var parameters = this.parameters;
 
-	return geometry;
+	return new THREE.CircleBufferGeometry(
+		parameters.radius,
+		parameters.segments,
+		parameters.thetaStart,
+		parameters.thetaLength
+	);
 
 };

+ 7 - 7
src/extras/geometries/CircleGeometry.js

@@ -60,13 +60,13 @@ THREE.CircleGeometry.prototype.constructor = THREE.CircleGeometry;
 
 THREE.CircleGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.CircleGeometry(
-		this.parameters.radius,
-		this.parameters.segments,
-		this.parameters.thetaStart,
-		this.parameters.thetaLength
-	);
+	var parameters = this.parameters;
 
-	return geometry;
+	return new THREE.CircleGeometry(
+		parameters.radius,
+		parameters.segments,
+		parameters.thetaStart,
+		parameters.thetaLength
+	);
 
 };

+ 11 - 11
src/extras/geometries/CylinderGeometry.js

@@ -173,17 +173,17 @@ THREE.CylinderGeometry.prototype.constructor = THREE.CylinderGeometry;
 
 THREE.CylinderGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.CylinderGeometry(
-		this.parameters.radiusTop,
-		this.parameters.radiusBottom,
-		this.parameters.height,
-		this.parameters.radialSegments,
-		this.parameters.heightSegments,
-		this.parameters.openEnded,
-		this.parameters.thetaStart,
-		this.parameters.thetaLength
+	var parameters = this.parameters;
+
+	return new THREE.CylinderGeometry(
+		parameters.radiusTop,
+		parameters.radiusBottom,
+		parameters.height,
+		parameters.radialSegments,
+		parameters.heightSegments,
+		parameters.openEnded,
+		parameters.thetaStart,
+		parameters.thetaLength
 	);
 
-	return geometry;
-
 };

+ 5 - 7
src/extras/geometries/DodecahedronGeometry.js

@@ -59,13 +59,11 @@ THREE.DodecahedronGeometry.prototype.constructor = THREE.DodecahedronGeometry;
 
 THREE.DodecahedronGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.DodecahedronGeometry(
-		this.parameters.radius,
-		this.parameters.detail
-	);
-
-	geometry.copy( this );
+	var parameters = this.parameters;
 
-	return geometry;
+	return new THREE.DodecahedronGeometry(
+		parameters.radius,
+		parameters.detail
+	);
 
 };

+ 5 - 7
src/extras/geometries/IcosahedronGeometry.js

@@ -35,13 +35,11 @@ THREE.IcosahedronGeometry.prototype.constructor = THREE.IcosahedronGeometry;
 
 THREE.IcosahedronGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.IcosahedronGeometry(
-		this.parameters.radius,
-		this.parameters.detail
-	);
-
-	geometry.copy( this );
+	var parameters = this.parameters;
 
-	return geometry;
+	return new THREE.IcosahedronGeometry(
+		parameters.radius,
+		parameters.detail
+	);
 
 };

+ 5 - 7
src/extras/geometries/OctahedronGeometry.js

@@ -28,13 +28,11 @@ THREE.OctahedronGeometry.prototype.constructor = THREE.OctahedronGeometry;
 
 THREE.OctahedronGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.OctahedronGeometry(
-		this.parameters.radius,
-		this.parameters.detail
-	);
-
-	geometry.copy( this );
+	var parameters = this.parameters;
 
-	return geometry;
+	return new THREE.OctahedronGeometry(
+		parameters.radius,
+		parameters.detail
+	);
 
 };

+ 7 - 9
src/extras/geometries/PlaneBufferGeometry.js

@@ -97,15 +97,13 @@ THREE.PlaneBufferGeometry.prototype.constructor = THREE.PlaneBufferGeometry;
 
 THREE.PlaneBufferGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.PlaneBufferGeometry(
-		this.parameters.width,
-		this.parameters.height,
-		this.parameters.widthSegments,
-		this.parameters.heightSegments
-	);
-
-	geometry.copy( this );
+	var parameters = this.parameters;
 
-	return geometry;
+	return new THREE.PlaneBufferGeometry(
+		parameters.width,
+		parameters.height,
+		parameters.widthSegments,
+		parameters.heightSegments
+	);
 
 };

+ 7 - 7
src/extras/geometries/PlaneGeometry.js

@@ -25,13 +25,13 @@ THREE.PlaneGeometry.prototype.constructor = THREE.PlaneGeometry;
 
 THREE.PlaneGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.PlaneGeometry(
-		this.parameters.width,
-		this.parameters.height,
-		this.parameters.widthSegments,
-		this.parameters.heightSegments
-	);
+	var parameters = this.parameters;
 
-	return geometry;
+	return new THREE.PlaneGeometry(
+		parameters.width,
+		parameters.height,
+		parameters.widthSegments,
+		parameters.heightSegments
+	);
 
 };

+ 7 - 14
src/extras/geometries/PolyhedronGeometry.js

@@ -242,20 +242,13 @@ THREE.PolyhedronGeometry.prototype.constructor = THREE.PolyhedronGeometry;
 
 THREE.PolyhedronGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.PolyhedronGeometry(
-		this.parameters.vertices,
-		this.parameters.indices,
-		this.parameters.radius,
-		this.parameters.detail
-	);
-
-	return geometry.copy( this );
-
-};
-
-THREE.PolyhedronGeometry.prototype.copy = function ( source ) {
+	var parameters = this.parameters;
 
-	THREE.Geometry.prototype.copy.call( this, source );
-	return this;
+	return new THREE.PolyhedronGeometry(
+		parameters.vertices,
+		parameters.indices,
+		parameters.radius,
+		parameters.detail
+	);
 
 };

+ 9 - 9
src/extras/geometries/RingGeometry.js

@@ -93,15 +93,15 @@ THREE.RingGeometry.prototype.constructor = THREE.RingGeometry;
 
 THREE.RingGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.RingGeometry(
-		this.parameters.innerRadius,
-		this.parameters.outerRadius,
-		this.parameters.thetaSegments,
-		this.parameters.phiSegments,
-		this.parameters.thetaStart,
-		this.parameters.thetaLength
+	var parameters = this.parameters;
+
+	return new THREE.RingGeometry(
+		parameters.innerRadius,
+		parameters.outerRadius,
+		parameters.thetaSegments,
+		parameters.phiSegments,
+		parameters.thetaStart,
+		parameters.thetaLength
 	);
 
-	return geometry;
-
 };

+ 10 - 12
src/extras/geometries/SphereBufferGeometry.js

@@ -102,18 +102,16 @@ THREE.SphereBufferGeometry.prototype.constructor = THREE.SphereBufferGeometry;
 
 THREE.SphereBufferGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.SphereBufferGeometry(
-		this.parameters.radius,
-		this.parameters.widthSegments,
-		this.parameters.heightSegments,
-		this.parameters.phiStart,
-		this.parameters.phiLength,
-		this.parameters.thetaStart,
-		this.parameters.thetaLength
+	var parameters = this.parameters;
+
+	return new THREE.SphereBufferGeometry(
+		parameters.radius,
+		parameters.widthSegments,
+		parameters.heightSegments,
+		parameters.phiStart,
+		parameters.phiLength,
+		parameters.thetaStart,
+		parameters.thetaLength
 	);
 
-	geometry.copy( this );
-
-	return geometry;
-
 };

+ 10 - 10
src/extras/geometries/SphereGeometry.js

@@ -27,16 +27,16 @@ THREE.SphereGeometry.prototype.constructor = THREE.SphereGeometry;
 
 THREE.SphereGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.SphereGeometry(
-		this.parameters.radius,
-		this.parameters.widthSegments,
-		this.parameters.heightSegments,
-		this.parameters.phiStart,
-		this.parameters.phiLength,
-		this.parameters.thetaStart,
-		this.parameters.thetaLength
+	var parameters = this.parameters;
+
+	return new THREE.SphereGeometry(
+		parameters.radius,
+		parameters.widthSegments,
+		parameters.heightSegments,
+		parameters.phiStart,
+		parameters.phiLength,
+		parameters.thetaStart,
+		parameters.thetaLength
 	);
 
-	return geometry;
-
 };

+ 5 - 7
src/extras/geometries/TetrahedronGeometry.js

@@ -28,13 +28,11 @@ THREE.TetrahedronGeometry.prototype.constructor = THREE.TetrahedronGeometry;
 
 THREE.TetrahedronGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.TetrahedronGeometry(
-		this.parameters.radius,
-		this.parameters.detail
-	);
-
-	geometry.copy( this );
+	var parameters = this.parameters;
 
-	return geometry;
+	return new THREE.TetrahedronGeometry(
+		parameters.radius,
+		parameters.detail
+	);
 
 };

+ 8 - 8
src/extras/geometries/TorusGeometry.js

@@ -80,14 +80,14 @@ THREE.TorusGeometry.prototype.constructor = THREE.TorusGeometry;
 
 THREE.TorusGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.TorusGeometry(
-		this.parameters.radius,
-		this.parameters.tube,
-		this.parameters.radialSegments,
-		this.parameters.tubularSegments,
-		this.parameters.arc
+	var parameters = this.parameters;
+
+	return new THREE.TorusGeometry(
+		parameters.radius,
+		parameters.tube,
+		parameters.radialSegments,
+		parameters.tubularSegments,
+		parameters.arc
 	);
 
-	return geometry;
-
 };

+ 10 - 10
src/extras/geometries/TorusKnotGeometry.js

@@ -115,16 +115,16 @@ THREE.TorusKnotGeometry.prototype.constructor = THREE.TorusKnotGeometry;
 
 THREE.TorusKnotGeometry.prototype.clone = function () {
 
-	var geometry = new THREE.TorusKnotGeometry(
-		this.parameters.radius,
-		this.parameters.tube,
-		this.parameters.radialSegments,
-		this.parameters.tubularSegments,
-		this.parameters.p,
-		this.parameters.q,
-		this.parameters.heightScale
+	var parameters = this.parameters;
+
+	return new THREE.TorusKnotGeometry(
+		parameters.radius,
+		parameters.tube,
+		parameters.radialSegments,
+		parameters.tubularSegments,
+		parameters.p,
+		parameters.q,
+		parameters.heightScale
 	);
 
-	return geometry;
-
 };