Skip to content

Commit 0345c78

Browse files
authored
BufferGeometry: Overwrite copy() in gener (#25536)
1 parent acb58df commit 0345c78

17 files changed

+160
-4
lines changed

examples/jsm/geometries/ParametricGeometry.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,16 @@ class ParametricGeometry extends BufferGeometry {
124124

125125
}
126126

127+
copy( source ) {
128+
129+
super.copy( source );
130+
131+
this.parameters = Object.assign( {}, source.parameters );
132+
133+
return this;
134+
135+
}
136+
127137
}
128138

129139
export { ParametricGeometry };

src/core/BufferGeometry.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1073,10 +1073,6 @@ class BufferGeometry extends EventDispatcher {
10731073

10741074
this.userData = source.userData;
10751075

1076-
// geometry generator parameters
1077-
1078-
if ( source.parameters !== undefined ) this.parameters = Object.assign( {}, source.parameters );
1079-
10801076
return this;
10811077

10821078
}

src/geometries/BoxGeometry.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,16 @@ class BoxGeometry extends BufferGeometry {
159159

160160
}
161161

162+
copy( source ) {
163+
164+
super.copy( source );
165+
166+
this.parameters = Object.assign( {}, source.parameters );
167+
168+
return this;
169+
170+
}
171+
162172
static fromJSON( data ) {
163173

164174
return new BoxGeometry( data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments );

src/geometries/CircleGeometry.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,16 @@ class CircleGeometry extends BufferGeometry {
7979

8080
}
8181

82+
copy( source ) {
83+
84+
super.copy( source );
85+
86+
this.parameters = Object.assign( {}, source.parameters );
87+
88+
return this;
89+
90+
}
91+
8292
static fromJSON( data ) {
8393

8494
return new CircleGeometry( data.radius, data.segments, data.thetaStart, data.thetaLength );

src/geometries/CylinderGeometry.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,16 @@ class CylinderGeometry extends BufferGeometry {
264264

265265
}
266266

267+
copy( source ) {
268+
269+
super.copy( source );
270+
271+
this.parameters = Object.assign( {}, source.parameters );
272+
273+
return this;
274+
275+
}
276+
267277
static fromJSON( data ) {
268278

269279
return new CylinderGeometry( data.radiusTop, data.radiusBottom, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength );

src/geometries/EdgesGeometry.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,16 @@ class EdgesGeometry extends BufferGeometry {
137137

138138
}
139139

140+
copy( source ) {
141+
142+
super.copy( source );
143+
144+
this.parameters = Object.assign( {}, source.parameters );
145+
146+
return this;
147+
148+
}
149+
140150
}
141151

142152
export { EdgesGeometry };

src/geometries/ExtrudeGeometry.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -677,6 +677,16 @@ class ExtrudeGeometry extends BufferGeometry {
677677

678678
}
679679

680+
copy( source ) {
681+
682+
super.copy( source );
683+
684+
this.parameters = Object.assign( {}, source.parameters );
685+
686+
return this;
687+
688+
}
689+
680690
toJSON() {
681691

682692
const data = super.toJSON();

src/geometries/LatheGeometry.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,16 @@ class LatheGeometry extends BufferGeometry {
167167

168168
}
169169

170+
copy( source ) {
171+
172+
super.copy( source );
173+
174+
this.parameters = Object.assign( {}, source.parameters );
175+
176+
return this;
177+
178+
}
179+
170180
static fromJSON( data ) {
171181

172182
return new LatheGeometry( data.points, data.segments, data.phiStart, data.phiLength );

src/geometries/PlaneGeometry.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,16 @@ class PlaneGeometry extends BufferGeometry {
7777

7878
}
7979

80+
copy( source ) {
81+
82+
super.copy( source );
83+
84+
this.parameters = Object.assign( {}, source.parameters );
85+
86+
return this;
87+
88+
}
89+
8090
static fromJSON( data ) {
8191

8292
return new PlaneGeometry( data.width, data.height, data.widthSegments, data.heightSegments );

src/geometries/PolyhedronGeometry.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,16 @@ class PolyhedronGeometry extends BufferGeometry {
298298

299299
}
300300

301+
copy( source ) {
302+
303+
super.copy( source );
304+
305+
this.parameters = Object.assign( {}, source.parameters );
306+
307+
return this;
308+
309+
}
310+
301311
static fromJSON( data ) {
302312

303313
return new PolyhedronGeometry( data.vertices, data.indices, data.radius, data.details );

0 commit comments

Comments
 (0)