diff --git a/src/mol-geo/geometry/mesh/builder/sheet.ts b/src/mol-geo/geometry/mesh/builder/sheet.ts index e5b3110c6fbd9cf8a09e3adb7ca2b0aeda2a706d..cb9ef03701dd5e05921ace96bab7ac287005f765 100644 --- a/src/mol-geo/geometry/mesh/builder/sheet.ts +++ b/src/mol-geo/geometry/mesh/builder/sheet.ts @@ -44,14 +44,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); @@ -74,8 +74,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]); }