commit ab8b600b215b06d2beb0529fb1c26fc3afb4a878
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon Oct 19 21:29:35 2020 +0100

    Progress with the Ivy.

diff --git a/src/main/java/org/distorted/objects/FactoryCubit.java b/src/main/java/org/distorted/objects/FactoryCubit.java
index 84956262..8992033d 100644
--- a/src/main/java/org/distorted/objects/FactoryCubit.java
+++ b/src/main/java/org/distorted/objects/FactoryCubit.java
@@ -39,7 +39,7 @@ class FactoryCubit
   private static final float SQ3 = (float)Math.sqrt(3);
   private static final float SQ6 = (float)Math.sqrt(6);
 
-  private static final float IVY_D = 0.12f;
+  private static final float IVY_D = 0.02f;
   private static final int   IVY_N = 8;
 
   private static final Static1D RADIUS = new Static1D(1);
@@ -507,15 +507,16 @@ class FactoryCubit
     final float angle = (float)Math.PI/(2*IVY_N);
     final float CORR  = 1.0f - IVY_D*SQ2;
     final float DIST  = 0.4f;
+    final float DIST2 = -0.5f*CORR;
     final float CORR2 = 0.5f;
     float[] vertices = new float[2*(IVY_N+1)+6];
 
-    vertices[0] = ( 0.5f      -DIST)*CORR2;
-    vertices[1] = (-0.5f+IVY_D-DIST)*CORR2;
-    vertices[2] = ( 0.5f      -DIST)*CORR2;
-    vertices[3] = ( 0.5f      -DIST)*CORR2;
-    vertices[4] = (-0.5f+IVY_D-DIST)*CORR2;
-    vertices[5] = ( 0.5f      -DIST)*CORR2;
+    vertices[0] = (0.5f -DIST) * CORR2;
+    vertices[1] = (DIST2-DIST) * CORR2;
+    vertices[2] = (0.5f -DIST) * CORR2;
+    vertices[3] = (0.5f -DIST) * CORR2;
+    vertices[4] = (DIST2-DIST) * CORR2;
+    vertices[5] = (0.5f -DIST) * CORR2;
 
     for(int i=0; i<=IVY_N; i++)
       {
@@ -1268,14 +1269,17 @@ class FactoryCubit
     for( VertexEffect effect : effects ) mesh.apply(effect);
 
     Static3D center = new Static3D(-0.5f,-0.5f,-0.5f);
-    Static3D[] vertices = new Static3D[4];
-    float DIST = IVY_D-0.5f;
-    vertices[0] = new Static3D(+0.5f,+0.5f,+0.5f);
-    vertices[1] = new Static3D( DIST,+0.5f,+0.5f);
-    vertices[2] = new Static3D(+0.5f, DIST,+0.5f);
-    vertices[3] = new Static3D(+0.5f,+0.5f, DIST);
+    Static3D[] vertices1 = new Static3D[1];
+    vertices1[0] = new Static3D(+0.0f,+0.0f,+0.0f);
 
-    roundCorners(mesh,center,vertices,0.06f,0.12f);
+    Static3D[] vertices2 = new Static3D[3];
+    float DIST = IVY_D-1.0f;
+    vertices2[0] = new Static3D( DIST,+0.0f,+0.0f);
+    vertices2[1] = new Static3D(+0.0f, DIST,+0.0f);
+    vertices2[2] = new Static3D(+0.0f,+0.0f, DIST);
+
+    roundCorners(mesh,center,vertices1,0.04f,0.20f);
+  //  roundCorners(mesh,center,vertices2,0.02f,0.20f);
 
     mesh.mergeEffComponents();
 
@@ -1294,7 +1298,7 @@ class FactoryCubit
     vertices[0] = new Static3D(+DIST,-DIST,+0.0f);
     vertices[1] = new Static3D(-DIST,+DIST,+0.0f);
 
-    roundCorners(mesh,center,vertices,0.10f,0.30f);
+    roundCorners(mesh,center,vertices,0.05f,0.30f);
 
     mesh.mergeEffComponents();
     mesh.addEmptyTexComponent();
