diff --git a/src/mol-geo/geometry/mesh/builder/sheet.ts b/src/mol-geo/geometry/mesh/builder/sheet.ts index 2de26f8474a903bd57ddfbde69a4a31856b2577a..a0fc0fd8a93a0421958ddce3ad89af12bb4b84e3 100644 --- a/src/mol-geo/geometry/mesh/builder/sheet.ts +++ b/src/mol-geo/geometry/mesh/builder/sheet.ts @@ -43,14 +43,14 @@ function addCap(offset: number, state: MeshBuilder.State, controlPoints: ArrayLi const { vertices, normals, indices } = state; const vertexCount = vertices.elementCount; - v3fromArray(verticalLeftVector, normalVectors, offset); - v3scale(verticalLeftVector, verticalLeftVector, leftHeight); + v3fromArray(tA, normalVectors, offset); + v3scale(verticalLeftVector, tA, leftHeight); + v3scale(verticalRightVector, tA, rightHeight); - v3fromArray(verticalRightVector, normalVectors, offset); - v3scale(verticalRightVector, verticalRightVector, rightHeight); + v3fromArray(tB, binormalVectors, offset); + v3scale(horizontalVector, tB, width); - v3fromArray(horizontalVector, binormalVectors, offset); - v3scale(horizontalVector, horizontalVector, width); + v3cross(normalVector, tB, tA); v3fromArray(positionVector, controlPoints, offset); @@ -73,8 +73,6 @@ function addCap(offset: number, state: MeshBuilder.State, controlPoints: ArrayLi v3copy(verticalVector, verticalLeftVector); } - v3cross(normalVector, horizontalVector, verticalVector); - for (let i = 0; i < 4; ++i) { caAdd3(normals, normalVector[0], normalVector[1], normalVector[2]); }