commit a0b48da68074c8f31a55a122ec5ff41eeb934ff5
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Aug 18 23:04:52 2021 +0200

    Minor.

diff --git a/src/main/java/org/distorted/objects/TwistyIvy.java b/src/main/java/org/distorted/objects/TwistyIvy.java
index 74074ca7..933e4612 100644
--- a/src/main/java/org/distorted/objects/TwistyIvy.java
+++ b/src/main/java/org/distorted/objects/TwistyIvy.java
@@ -94,7 +94,7 @@ public class TwistyIvy extends TwistyObject
            { 11, 12,12,12,12,12 },
          };
 
-  private static MeshBase mCornerMesh, mFaceMesh;
+  private static MeshBase[] mMeshes;
 
   private static final ObjectSticker[] mStickers;
 
@@ -111,7 +111,7 @@ public class TwistyIvy extends TwistyObject
 
     float D = (float)(Math.PI/4);
     final float[][] angles = { { 0,0,D },{ D,D } };
-    final float[][] radii  = { { 0,0.02f,0 },{ 0.06f,0.06f } };
+    final float[][] radii  = { { 0,0.04f,0 },{ 0.06f,0.06f } };
     final float[] strokes = { 0.03f, 0.08f };
 
     for(int s=0; s<NUM_STICKERS; s++)
@@ -227,11 +227,18 @@ public class TwistyIvy extends TwistyObject
 
   MeshBase createCubitMesh(int cubit, int numLayers)
     {
+    if( mMeshes==null )
+      {
+      FactoryCubit factory = FactoryCubit.getInstance();
+      factory.clear();
+      mMeshes = new MeshBase[2];
+      }
+
     MeshBase mesh;
 
     if( cubit<4 )
       {
-      if( mCornerMesh==null )
+      if( mMeshes[0]==null )
         {
         final float angle = (float)Math.PI/(2*IVY_N);
         final float CORR  = 1.0f - 2*IVY_D;
@@ -335,17 +342,17 @@ public class TwistyIvy extends TwistyObject
 
         FactoryCubit factory = FactoryCubit.getInstance();
         factory.createNewFaceTransform(vertices,vertIndexes);
-        mCornerMesh = factory.createRoundedSolid(vertices, vertIndexes,
-                                                 bands, bandIndexes,
-                                                 corners, cornerIndexes,
-                                                 centers, centerIndexes,
-                                                 getNumCubitFaces(), convexCenter );
+        mMeshes[0] = factory.createRoundedSolid(vertices, vertIndexes,
+                                                bands, bandIndexes,
+                                                corners, cornerIndexes,
+                                                centers, centerIndexes,
+                                                getNumCubitFaces(), convexCenter );
         }
-      mesh = mCornerMesh.copy(true);
+      mesh = mMeshes[0].copy(true);
       }
     else
       {
-      if( mFaceMesh==null )
+      if( mMeshes[1]==null )
         {
         final float angle = (float)Math.PI/(2*IVY_N);
         final float CORR  = 1.0f - 2*IVY_D;
@@ -390,13 +397,13 @@ public class TwistyIvy extends TwistyObject
 
         FactoryCubit factory = FactoryCubit.getInstance();
         factory.createNewFaceTransform(vertices,vert_indices);
-        mFaceMesh = factory.createRoundedSolid(vertices, vert_indices,
+        mMeshes[1] = factory.createRoundedSolid(vertices, vert_indices,
                                                 bands, bandIndexes,
                                                 corners, indexes,
                                                 centers, indexes,
                                                 getNumCubitFaces(), null );
         }
-      mesh = mFaceMesh.copy(true);
+      mesh = mMeshes[1].copy(true);
       }
 
     MatrixEffectQuaternion quat = new MatrixEffectQuaternion( QUATS[getQuat(cubit)], new Static3D(0,0,0) );
diff --git a/src/main/java/org/distorted/objects/TwistyRex.java b/src/main/java/org/distorted/objects/TwistyRex.java
index 9326b720..eb7854c3 100644
--- a/src/main/java/org/distorted/objects/TwistyRex.java
+++ b/src/main/java/org/distorted/objects/TwistyRex.java
@@ -126,7 +126,7 @@ public class TwistyRex extends TwistyObject
            { 13,17, 18,18,18,18 },
          };
 
-  private static MeshBase mCornerMesh, mFaceMesh, mEdgeMesh;
+  private static MeshBase[] mMeshes;
 
   private static final ObjectSticker[] mStickers;
 
@@ -332,11 +332,18 @@ public class TwistyRex extends TwistyObject
 
   MeshBase createCubitMesh(int cubit, int numLayers)
     {
+    if( mMeshes==null )
+      {
+      FactoryCubit factory = FactoryCubit.getInstance();
+      factory.clear();
+      mMeshes = new MeshBase[3];
+      }
+
     MeshBase mesh;
 
     if( cubit<24 )
       {
-      if( mCornerMesh==null )
+      if( mMeshes[0]==null )
         {
         float G = (1-REX_D)*SQ2/2;
 
@@ -368,17 +375,17 @@ public class TwistyRex extends TwistyObject
 
         FactoryCubit factory = FactoryCubit.getInstance();
         factory.createNewFaceTransform(vertices,vertIndexes);
-        mCornerMesh = factory.createRoundedSolid(vertices, vertIndexes,
-                                                 bands, bandIndexes,
-                                                 corners, indexes,
-                                                 centers, indexes,
-                                                 getNumCubitFaces(), null );
+        mMeshes[0] = factory.createRoundedSolid(vertices, vertIndexes,
+                                                bands, bandIndexes,
+                                                corners, indexes,
+                                                centers, indexes,
+                                                getNumCubitFaces(), null );
         }
-      mesh = mCornerMesh.copy(true);
+      mesh = mMeshes[0].copy(true);
       }
     else if( cubit<30 )
       {
-      if( mFaceMesh==null )
+      if( mMeshes[1]==null )
         {
         double[][] vertices =
           {
@@ -405,17 +412,17 @@ public class TwistyRex extends TwistyObject
 
         FactoryCubit factory = FactoryCubit.getInstance();
         factory.createNewFaceTransform(vertices,vertIndexes);
-        mFaceMesh = factory.createRoundedSolid(vertices, vertIndexes,
+        mMeshes[1] = factory.createRoundedSolid(vertices, vertIndexes,
                                                bands, bandIndexes,
                                                null, indexes,
                                                null, indexes,
                                                getNumCubitFaces(), null );
         }
-      mesh = mFaceMesh.copy(true);
+      mesh = mMeshes[1].copy(true);
       }
     else
       {
-      if( mEdgeMesh==null )
+      if( mMeshes[2]==null )
         {
         float E = 0.5f - REX_D;
         float F = 0.5f;
@@ -451,13 +458,13 @@ public class TwistyRex extends TwistyObject
 
         FactoryCubit factory = FactoryCubit.getInstance();
         factory.createNewFaceTransform(vertices,vertIndexes);
-        mEdgeMesh = factory.createRoundedSolid(vertices, vertIndexes,
-                                               bands, bandIndexes,
-                                               corners, indexes,
-                                               centers, indexes,
-                                               getNumCubitFaces(), null );
+        mMeshes[2] = factory.createRoundedSolid(vertices, vertIndexes,
+                                                bands, bandIndexes,
+                                                corners, indexes,
+                                                centers, indexes,
+                                                getNumCubitFaces(), null );
         }
-      mesh = mEdgeMesh.copy(true);
+      mesh = mMeshes[2].copy(true);
       }
 
     MatrixEffectQuaternion quat = new MatrixEffectQuaternion( getQuat(cubit), new Static3D(0,0,0) );
