JonStargaryen 3 years ago
parent
commit
9a0c87695f
2 changed files with 4 additions and 8 deletions
  1. 0 7
      src/extensions/anvil/algorithm.ts
  2. 4 1
      src/extensions/anvil/representation.ts

+ 0 - 7
src/extensions/anvil/algorithm.ts

@@ -151,18 +151,11 @@ export async function calculate(runtime: RuntimeContext, structure: Structure, p
 
     const normalVector = Vec3.zero();
     const center =  Vec3.zero();
-    const jitter = [0.001, 0.001, 0.001] as Vec3;
     Vec3.sub(normalVector, membrane.planePoint1, membrane.planePoint2);
     Vec3.normalize(normalVector, normalVector);
 
-    // prevent degenerate matrices (e.g., 5cbg - assembly 1 which is oriented along the y-axis)
-    if (Math.abs(normalVector[0]) === 1 || Math.abs(normalVector[1]) === 1 || Math.abs(normalVector[2]) === 1) {
-        Vec3.add(normalVector, normalVector, jitter);
-    }
-
     Vec3.add(center, membrane.planePoint1, membrane.planePoint2);
     Vec3.scale(center, center, 0.5);
-    Vec3.add(center, center, jitter);
     const extent = adjustExtent(ctx, membrane, center);
 
     return {

+ 4 - 1
src/extensions/anvil/representation.ts

@@ -119,8 +119,11 @@ function getLayerCircle(builder: LinesBuilder, p: Vec3, centroid: Vec3, normal:
 }
 
 const tmpMat = Mat4();
+const tmpV = Vec3();
+const jitter = Vec3.create(0.001, 0.001, 0.001);
 function getCircle(p: Vec3, centroid: Vec3, normal: Vec3, radius: number) {
-    Mat4.targetTo(tmpMat, p, centroid, normal);
+    Vec3.add(tmpV, centroid, jitter);
+    Mat4.targetTo(tmpMat, p, tmpV, normal);
     Mat4.setTranslation(tmpMat, p);
     Mat4.mul(tmpMat, tmpMat, Mat4.rotX90);