commit bff329fb3dce3acaab784475f695c9431e6686ec
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Jul 13 14:03:03 2021 +0200

    Copy constructors for the Statics.

diff --git a/src/main/java/org/distorted/library/effect/MatrixEffectQuaternion.java b/src/main/java/org/distorted/library/effect/MatrixEffectQuaternion.java
index 1b1da41..80a90c8 100644
--- a/src/main/java/org/distorted/library/effect/MatrixEffectQuaternion.java
+++ b/src/main/java/org/distorted/library/effect/MatrixEffectQuaternion.java
@@ -30,11 +30,11 @@ import org.distorted.library.type.Data4D;
  */
 public class MatrixEffectQuaternion extends MatrixEffect
   {
-  private Data4D mQuaternion;
-  private Data3D mCenter;
+  private final Data4D mQuaternion;
+  private final Data3D mCenter;
 
-  private static float[] mTmpMatrix1 = new float[16];
-  private static float[] mTmpMatrix2 = new float[16];
+  private static final float[] mTmpMatrix1 = new float[16];
+  private static final float[] mTmpMatrix2 = new float[16];
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
diff --git a/src/main/java/org/distorted/library/type/Static1D.java b/src/main/java/org/distorted/library/type/Static1D.java
index 0939d20..364ad37 100644
--- a/src/main/java/org/distorted/library/type/Static1D.java
+++ b/src/main/java/org/distorted/library/type/Static1D.java
@@ -42,6 +42,16 @@ public class Static1D extends Static implements Data1D
     x = ox;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Copy constructor.
+ */
+  public Static1D(Static1D sta)
+    {
+    super(1);
+    x = sta.x;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Resets the value of the single float.
diff --git a/src/main/java/org/distorted/library/type/Static2D.java b/src/main/java/org/distorted/library/type/Static2D.java
index 11e72a3..2aebb26 100644
--- a/src/main/java/org/distorted/library/type/Static2D.java
+++ b/src/main/java/org/distorted/library/type/Static2D.java
@@ -44,6 +44,17 @@ public class Static2D extends Static implements Data2D
     y = oy;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Copy constructor.
+ */
+  public Static2D(Static2D sta)
+    {
+    super(2);
+    x = sta.x;
+    y = sta.y;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Reset the value of the floats to (ox,oy).
diff --git a/src/main/java/org/distorted/library/type/Static3D.java b/src/main/java/org/distorted/library/type/Static3D.java
index acbda87..0065608 100644
--- a/src/main/java/org/distorted/library/type/Static3D.java
+++ b/src/main/java/org/distorted/library/type/Static3D.java
@@ -46,6 +46,18 @@ public class Static3D extends Static implements Data3D
     z = vz;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Copy constructor.
+ */
+  public Static3D(Static3D sta)
+    {
+    super(3);
+    x = sta.x;
+    y = sta.y;
+    z = sta.z;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Reset the value of the floats to (vx,vy,vz).
diff --git a/src/main/java/org/distorted/library/type/Static4D.java b/src/main/java/org/distorted/library/type/Static4D.java
index 552eeb2..5c04c13 100644
--- a/src/main/java/org/distorted/library/type/Static4D.java
+++ b/src/main/java/org/distorted/library/type/Static4D.java
@@ -48,6 +48,19 @@ public class Static4D extends Static implements Data4D
     w = vw;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Copy constructor.
+ */
+  public Static4D(Static4D sta)
+    {
+    super(4);
+    x = sta.x;
+    y = sta.y;
+    z = sta.z;
+    w = sta.w;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Reset the value of the floats to (vx,vy,vz,vw).
diff --git a/src/main/java/org/distorted/library/type/Static5D.java b/src/main/java/org/distorted/library/type/Static5D.java
index 373a672..fcd359e 100644
--- a/src/main/java/org/distorted/library/type/Static5D.java
+++ b/src/main/java/org/distorted/library/type/Static5D.java
@@ -50,6 +50,20 @@ public class Static5D extends Static implements Data5D
     v = vv;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Copy constructor.
+ */
+  public Static5D(Static5D sta)
+    {
+    super(5);
+    x = sta.x;
+    y = sta.y;
+    z = sta.z;
+    w = sta.w;
+    v = sta.v;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Reset the value of the floats to (vx,vy,vz,vw,vv).
