Browse Source

add names to anonymous function for easier debugging

Alexander Rose 4 years ago
parent
commit
93df8a65cd
1 changed files with 18 additions and 10 deletions
  1. 18 10
      src/mol-math/geometry/symmetry-operator.ts

+ 18 - 10
src/mol-math/geometry/symmetry-operator.ts

@@ -188,7 +188,9 @@ function createProjections(t: SymmetryOperator, coords: SymmetryOperator.Coordin
 }
 
 function projectCoord(xs: ArrayLike<number>) {
-    return (i: number) => xs[i];
+    return function projectCoord(i: number) {
+        return xs[i];
+    };
 }
 
 function isW1(m: Mat4) {
@@ -200,10 +202,12 @@ function projectX({ matrix: m }: SymmetryOperator, { x: xs, y: ys, z: zs }: Symm
 
     if (isW1(m)) {
         // this should always be the case.
-        return (i: number) => xx * xs[i] + yy * ys[i] + zz * zs[i] + tx;
+        return function projectX_W1(i: number) {
+            return xx * xs[i] + yy * ys[i] + zz * zs[i] + tx;
+        };
     }
 
-    return (i: number) => {
+    return function projectX(i: number) {
         const x = xs[i], y = ys[i], z = zs[i], w = (m[3] * x + m[7] * y + m[11] * z + m[15]) || 1.0;
         return (xx * x + yy * y + zz * z + tx) / w;
     };
@@ -214,10 +218,12 @@ function projectY({ matrix: m }: SymmetryOperator, { x: xs, y: ys, z: zs }: Symm
 
     if (isW1(m)) {
         // this should always be the case.
-        return (i: number) => xx * xs[i] + yy * ys[i] + zz * zs[i] + ty;
+        return function projectY_W1(i: number) {
+            return xx * xs[i] + yy * ys[i] + zz * zs[i] + ty;
+        };
     }
 
-    return (i: number) => {
+    return function projectY(i: number) {
         const x = xs[i], y = ys[i], z = zs[i], w = (m[3] * x + m[7] * y + m[11] * z + m[15]) || 1.0;
         return (xx * x + yy * y + zz * z + ty) / w;
     };
@@ -228,17 +234,19 @@ function projectZ({ matrix: m }: SymmetryOperator, { x: xs, y: ys, z: zs }: Symm
 
     if (isW1(m)) {
         // this should always be the case.
-        return (i: number) => xx * xs[i] + yy * ys[i] + zz * zs[i] + tz;
+        return function projectZ_W1(i: number) {
+            return xx * xs[i] + yy * ys[i] + zz * zs[i] + tz;
+        };
     }
 
-    return (i: number) => {
+    return function projectZ(i: number) {
         const x = xs[i], y = ys[i], z = zs[i], w = (m[3] * x + m[7] * y + m[11] * z + m[15]) || 1.0;
         return (xx * x + yy * y + zz * z + tz) / w;
     };
 }
 
 function identityPosition<T extends number>({ x, y, z }: SymmetryOperator.Coordinates): SymmetryOperator.CoordinateMapper<T> {
-    return (i, s) => {
+    return function identityPosition(i: T, s: Vec3): Vec3 {
         s[0] = x[i];
         s[1] = y[i];
         s[2] = z[i];
@@ -249,7 +257,7 @@ function identityPosition<T extends number>({ x, y, z }: SymmetryOperator.Coordi
 function generalPosition<T extends number>({ matrix: m }: SymmetryOperator, { x: xs, y: ys, z: zs }: SymmetryOperator.Coordinates) {
     if (isW1(m)) {
         // this should always be the case.
-        return (i: T, r: Vec3): Vec3 => {
+        return function generalPosition_W1(i: T, r: Vec3): Vec3 {
             const x = xs[i], y = ys[i], z = zs[i];
             r[0] = m[0] * x + m[4] * y + m[8] * z + m[12];
             r[1] = m[1] * x + m[5] * y + m[9] * z + m[13];
@@ -257,7 +265,7 @@ function generalPosition<T extends number>({ matrix: m }: SymmetryOperator, { x:
             return r;
         };
     }
-    return (i: T, r: Vec3): Vec3 => {
+    return function generalPosition(i: T, r: Vec3): Vec3 {
         r[0] = xs[i];
         r[1] = ys[i];
         r[2] = zs[i];