commit f211a191eaa3904a471e1c8c244dee829cfccf75
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Mar 29 21:26:32 2019 +0000

    Finish the Rubik app.

diff --git a/src/main/java/org/distorted/library/effect/PostprocessEffectGlow.java b/src/main/java/org/distorted/library/effect/PostprocessEffectGlow.java
index 6f6be8c..5355fa2 100644
--- a/src/main/java/org/distorted/library/effect/PostprocessEffectGlow.java
+++ b/src/main/java/org/distorted/library/effect/PostprocessEffectGlow.java
@@ -319,7 +319,7 @@ public class PostprocessEffectGlow extends PostprocessEffect
  *
  * @param glowRadius The 'strength' if the effect, in pixels. 0 = no halo, 10 = halo of roughly 10 pixels
  *                   around the whole object.
- * @param color      RGBA of the color with which to draw the glow.
+ * @param color      RGBA of the color with which to draw the glow; example: (1.0f,0.0f,0.0f,0.5f) - half transparent red.
  */
   public PostprocessEffectGlow(Data1D glowRadius, Data4D color)
     {
diff --git a/src/main/java/org/distorted/library/main/DistortedOutputSurface.java b/src/main/java/org/distorted/library/main/DistortedOutputSurface.java
index 10dff23..e614fba 100644
--- a/src/main/java/org/distorted/library/main/DistortedOutputSurface.java
+++ b/src/main/java/org/distorted/library/main/DistortedOutputSurface.java
@@ -818,6 +818,17 @@ public abstract class DistortedOutputSurface extends DistortedSurface implements
     createProjection();
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Return the vertical field of view angle.
+ *
+ * @return Vertival Field of View Angle, in degrees.
+ */
+  public float getFOV()
+    {
+    return mFOV;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Resize the underlying Framebuffer.
diff --git a/src/main/java/org/distorted/library/type/Static1D.java b/src/main/java/org/distorted/library/type/Static1D.java
index 78b157d..b8345bc 100644
--- a/src/main/java/org/distorted/library/type/Static1D.java
+++ b/src/main/java/org/distorted/library/type/Static1D.java
@@ -53,6 +53,15 @@ public class Static1D extends Static implements Data1D
     x = ox;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Copy a Static1D.
+ */
+  public void set(Static1D s)
+    {
+    x = s.x;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Resets the value of the first float.
diff --git a/src/main/java/org/distorted/library/type/Static2D.java b/src/main/java/org/distorted/library/type/Static2D.java
index cee8cbe..70b7e22 100644
--- a/src/main/java/org/distorted/library/type/Static2D.java
+++ b/src/main/java/org/distorted/library/type/Static2D.java
@@ -57,6 +57,16 @@ public class Static2D extends Static implements Data2D
     y = oy;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Copy a Static2D.
+ */
+  public void set(Static2D s)
+    {
+    x = s.x;
+    y = s.y;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Resets the value of the first float.
diff --git a/src/main/java/org/distorted/library/type/Static3D.java b/src/main/java/org/distorted/library/type/Static3D.java
index 3742d5a..da3b591 100644
--- a/src/main/java/org/distorted/library/type/Static3D.java
+++ b/src/main/java/org/distorted/library/type/Static3D.java
@@ -61,6 +61,17 @@ public class Static3D extends Static implements Data3D
     z = vz;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Copy a Static3D.
+ */
+  public void set(Static3D s)
+    {
+    x = s.x;
+    y = s.y;
+    z = s.z;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Resets the value of the first float.
diff --git a/src/main/java/org/distorted/library/type/Static4D.java b/src/main/java/org/distorted/library/type/Static4D.java
index 671cd7c..78c5fc9 100644
--- a/src/main/java/org/distorted/library/type/Static4D.java
+++ b/src/main/java/org/distorted/library/type/Static4D.java
@@ -65,6 +65,18 @@ public class Static4D extends Static implements Data4D
     w = vw;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Copy a Static4D.
+ */
+  public void set(Static4D s)
+    {
+    x = s.x;
+    y = s.y;
+    z = s.z;
+    w = s.w;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Resets the value of the first float.
diff --git a/src/main/java/org/distorted/library/type/Static5D.java b/src/main/java/org/distorted/library/type/Static5D.java
index 545ce2e..47f5a37 100644
--- a/src/main/java/org/distorted/library/type/Static5D.java
+++ b/src/main/java/org/distorted/library/type/Static5D.java
@@ -69,6 +69,19 @@ public class Static5D extends Static implements Data5D
     v = vv;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Copy a Static5D.
+ */
+  public void set(Static5D s)
+    {
+    x = s.x;
+    y = s.y;
+    z = s.z;
+    w = s.w;
+    v = s.v;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Resets the value of the first float.
