Skip to content

Commit 16b4846

Browse files
committed
fix transformPlane indexed
1 parent 9093ea9 commit 16b4846

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -437,8 +437,9 @@ const tri = (function () {
437437
* Faces of a plane are v0, v2, v1 and v2, v3, v1.
438438
* Positions are 12 numbers: [v0, v1, v2, v3].
439439
*/
440-
function transformPlane(index, geometry, originalArray, position, rotation) {
440+
function transformPlane(particleIndex, geometry, originalArray, position, rotation) {
441441
const array = geometry.attributes.position.array;
442+
const index = particleIndex * NUM_PLANE_POSITIONS;
442443

443444
// Calculate first face (0, 2, 1).
444445
tri.vertices[0].set(

tests/index.test.js

+13-9
Original file line numberDiff line numberDiff line change
@@ -108,19 +108,19 @@ suite('particle player', function () {
108108
component._transformPlane(1, geometry, originalPositions,
109109
new THREE.Vector3(1.1, 2.2, 3.3));
110110
for (let i = 12; i < 24; i += 3) {
111-
positions[i] = originalPositions[i] + 1.1;
112-
positions[i + 1] = originalPositions[i + 1] + 2.2;
113-
positions[i + 2] = originalPositions[i + 2] + 3.3;
111+
assertAlmostEqual(positions[i], originalPositions[i] + 1.1);
112+
assertAlmostEqual(positions[i + 1], originalPositions[i + 1] + 2.2);
113+
assertAlmostEqual(positions[i + 2], originalPositions[i + 2] + 3.3);
114114
}
115115
for (let i = 0; i < 12; i += 3) {
116-
positions[i] = originalPositions[i];
117-
positions[i + 1] = originalPositions[i + 1];
118-
positions[i + 2] = originalPositions[i + 2];
116+
assertAlmostEqual(positions[i], originalPositions[i]);
117+
assertAlmostEqual(positions[i + 1], originalPositions[i + 1]);
118+
assertAlmostEqual(positions[i + 2], originalPositions[i + 2]);
119119
}
120120
for (let i = 24; i < 36; i += 3) {
121-
positions[i] = originalPositions[i];
122-
positions[i + 1] = originalPositions[i + 1];
123-
positions[i + 2] = originalPositions[i + 2];
121+
assertAlmostEqual(positions[i], originalPositions[i]);
122+
assertAlmostEqual(positions[i + 1], originalPositions[i + 1]);
123+
assertAlmostEqual(positions[i + 2], originalPositions[i + 2]);
124124
}
125125
});
126126

@@ -172,3 +172,7 @@ function assertAlmostArray(x, y) {
172172
y = x.map(n => n.toFixed(4));
173173
assert.shallowDeepEqual(x, y);
174174
}
175+
176+
function assertAlmostEqual(x, y) {
177+
assert.equal(x.toFixed(4), y.toFixed(4));
178+
}

0 commit comments

Comments
 (0)