commit 6d62a9003e23ae5986dac084dd65fc19d5427d9b
Author: Leszek Koltunski <leszek@distoretedandroid.org>
Date:   Tue Jun 6 14:01:40 2017 +0100

    Beginnings of support for Effect classes.

diff --git a/src/main/java/org/distorted/library/effect/Effect.java b/src/main/java/org/distorted/library/effect/Effect.java
index 43c7798..4e71f19 100644
--- a/src/main/java/org/distorted/library/effect/Effect.java
+++ b/src/main/java/org/distorted/library/effect/Effect.java
@@ -25,6 +25,7 @@ public abstract class Effect
   {
   private final long mID;
   private final int mType;
+  private final int mName;
   private final float[] mUnity;
   private final int mDimension;
   private final boolean mSupportsR;
@@ -64,6 +65,13 @@ public abstract class Effect
     return mType;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public int getName()
+    {
+    return mName;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public long getID()
@@ -94,9 +102,11 @@ public abstract class Effect
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  Effect(int type, float[] unity, int dimension, boolean center, boolean region)
+  Effect(int type, int name, float[] unity, int dimension, boolean center, boolean region)
     {
     mID        = mNextID++;
+
+    mName      = name;
     mType      = type;
     mUnity     = unity;
     mDimension = dimension;
diff --git a/src/main/java/org/distorted/library/effect/FragmentEffect.java b/src/main/java/org/distorted/library/effect/FragmentEffect.java
index e1623c1..29aea93 100644
--- a/src/main/java/org/distorted/library/effect/FragmentEffect.java
+++ b/src/main/java/org/distorted/library/effect/FragmentEffect.java
@@ -19,16 +19,32 @@
 
 package org.distorted.library.effect;
 
+import org.distorted.library.type.Data4D;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public abstract class FragmentEffect extends Effect
   {
   static final int MAX = 5;
 
+  public static int CHROMA            = 0;
+  public static int SMOOTH_CHROMA     = 1;
+  public static int ALPHA             = 2;
+  public static int SMOOTH_ALPHA      = 3;
+  public static int BRIGHTNESS        = 4;
+  public static int SMOOTH_BRIGHTNESS = 5;
+  public static int CONTRAST          = 6;
+  public static int SMOOTH_CONTRAST   = 7;
+  public static int SATURATION        = 8;
+  public static int SMOOTH_SATURATION = 9;
+
+
+  Data4D mRegion;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public FragmentEffect(float[] unity, int dimension, boolean center, boolean region)
+  public FragmentEffect(int name,float[] unity, int dimension, boolean center, boolean region)
     {
-    super(FRAGMENT,unity,dimension,center,region);
+    super(FRAGMENT,name,unity,dimension,center,region);
     }
   }
\ No newline at end of file
diff --git a/src/main/java/org/distorted/library/effect/MatrixEffect.java b/src/main/java/org/distorted/library/effect/MatrixEffect.java
index 88115d1..6187351 100644
--- a/src/main/java/org/distorted/library/effect/MatrixEffect.java
+++ b/src/main/java/org/distorted/library/effect/MatrixEffect.java
@@ -19,16 +19,28 @@
 
 package org.distorted.library.effect;
 
+import org.distorted.library.type.*;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public abstract class MatrixEffect extends Effect
   {
   static final int MAX = 10;
 
+  public static final int MOVE       = 0;
+  public static final int SCALE      = 1;
+  public static final int ROTATE     = 2;
+  public static final int QUATERNION = 3;
+  public static final int SHEAR      = 4;
+
+  Dynamic mDynamic0;
+  Static  mStatic0, mStatic1;
+  Data3D mCenter;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public MatrixEffect(float[] unity, int dimension, boolean center, boolean region)
+  public MatrixEffect(int name, float[] unity, int dimension, boolean center, boolean region)
     {
-    super(MATRIX,unity,dimension,center,region);
+    super(MATRIX,name,unity,dimension,center,region);
     }
   }
diff --git a/src/main/java/org/distorted/library/effect/MatrixEffectMove.java b/src/main/java/org/distorted/library/effect/MatrixEffectMove.java
index 4a138b1..3d20915 100644
--- a/src/main/java/org/distorted/library/effect/MatrixEffectMove.java
+++ b/src/main/java/org/distorted/library/effect/MatrixEffectMove.java
@@ -19,6 +19,10 @@
 
 package org.distorted.library.effect;
 
+import org.distorted.library.type.Data3D;
+import org.distorted.library.type.Dynamic3D;
+import org.distorted.library.type.Static3D;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public class MatrixEffectMove extends MatrixEffect
@@ -30,8 +34,17 @@ public class MatrixEffectMove extends MatrixEffect
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public MatrixEffectMove()
+  public MatrixEffectMove(Data3D vector)
     {
-    super(UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+    super(MOVE,UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+
+    if( vector instanceof Static3D)
+      {
+      mStatic0 = (Static3D)vector;
+      }
+    else if ( vector instanceof Dynamic3D )
+      {
+      mDynamic0 = (Dynamic3D)vector;
+      }
     }
   }
diff --git a/src/main/java/org/distorted/library/effect/MatrixEffectQuaternion.java b/src/main/java/org/distorted/library/effect/MatrixEffectQuaternion.java
index 8f8d3c4..c4c3d51 100644
--- a/src/main/java/org/distorted/library/effect/MatrixEffectQuaternion.java
+++ b/src/main/java/org/distorted/library/effect/MatrixEffectQuaternion.java
@@ -19,6 +19,11 @@
 
 package org.distorted.library.effect;
 
+import org.distorted.library.type.Data3D;
+import org.distorted.library.type.Data4D;
+import org.distorted.library.type.Dynamic4D;
+import org.distorted.library.type.Static4D;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public class MatrixEffectQuaternion extends MatrixEffect
@@ -30,8 +35,19 @@ public class MatrixEffectQuaternion extends MatrixEffect
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public MatrixEffectQuaternion()
+  public MatrixEffectQuaternion(Data4D quaternion, Data3D center )
     {
-    super(UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+    super(QUATERNION,UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+
+    if( quaternion instanceof Static4D)
+      {
+      mStatic0 = (Static4D)quaternion;
+      }
+    else if( quaternion instanceof Dynamic4D)
+      {
+      mDynamic0 = (Dynamic4D)quaternion;
+      }
+
+    mCenter = center;
     }
   }
diff --git a/src/main/java/org/distorted/library/effect/MatrixEffectRotate.java b/src/main/java/org/distorted/library/effect/MatrixEffectRotate.java
index e43b635..42d8fa5 100644
--- a/src/main/java/org/distorted/library/effect/MatrixEffectRotate.java
+++ b/src/main/java/org/distorted/library/effect/MatrixEffectRotate.java
@@ -19,6 +19,15 @@
 
 package org.distorted.library.effect;
 
+import org.distorted.library.type.Data1D;
+import org.distorted.library.type.Data3D;
+import org.distorted.library.type.Data4D;
+import org.distorted.library.type.Dynamic1D;
+import org.distorted.library.type.Dynamic4D;
+import org.distorted.library.type.Static1D;
+import org.distorted.library.type.Static3D;
+import org.distorted.library.type.Static4D;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public class MatrixEffectRotate extends MatrixEffect
@@ -30,8 +39,39 @@ public class MatrixEffectRotate extends MatrixEffect
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public MatrixEffectRotate()
+  public MatrixEffectRotate(Data1D angle, Static3D axis, Data3D center)
     {
-    super(UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+    super(ROTATE,UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+
+    if( angle instanceof Static1D )
+      {
+      mStatic0 = (Static1D)angle;
+      }
+    else if( angle instanceof Dynamic1D )
+      {
+      mDynamic0 = (Dynamic1D)angle;
+      }
+
+    mStatic1 = axis;
+    mCenter = center;
     }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public MatrixEffectRotate(Data4D angleaxis, Data3D center)
+    {
+    super(ROTATE,UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+
+    if( angleaxis instanceof Static4D)
+      {
+      mStatic0 = (Static4D)angleaxis;
+      }
+    else if( angleaxis instanceof Dynamic4D)
+      {
+      mDynamic0 = (Dynamic4D)angleaxis;
+      }
+
+    mCenter = center;
+    }
+
   }
diff --git a/src/main/java/org/distorted/library/effect/MatrixEffectScale.java b/src/main/java/org/distorted/library/effect/MatrixEffectScale.java
index e28d31c..4a2d1d2 100644
--- a/src/main/java/org/distorted/library/effect/MatrixEffectScale.java
+++ b/src/main/java/org/distorted/library/effect/MatrixEffectScale.java
@@ -19,6 +19,10 @@
 
 package org.distorted.library.effect;
 
+import org.distorted.library.type.Data3D;
+import org.distorted.library.type.Dynamic3D;
+import org.distorted.library.type.Static3D;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public class MatrixEffectScale extends MatrixEffect
@@ -30,8 +34,26 @@ public class MatrixEffectScale extends MatrixEffect
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public MatrixEffectScale()
+  public MatrixEffectScale(Data3D scale)
+    {
+    super(SCALE,UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+
+    if( scale instanceof Static3D)
+      {
+      mStatic0 = (Static3D)scale;
+      }
+    else if ( scale instanceof Dynamic3D)
+      {
+      mDynamic0 = (Dynamic3D)scale;
+      }
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public MatrixEffectScale(float scale)
     {
-    super(UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+    super(SCALE,UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+
+    mStatic0 = new Static3D(scale,scale,scale);
     }
   }
diff --git a/src/main/java/org/distorted/library/effect/MatrixEffectShear.java b/src/main/java/org/distorted/library/effect/MatrixEffectShear.java
index b74feb4..c3f61ff 100644
--- a/src/main/java/org/distorted/library/effect/MatrixEffectShear.java
+++ b/src/main/java/org/distorted/library/effect/MatrixEffectShear.java
@@ -19,6 +19,10 @@
 
 package org.distorted.library.effect;
 
+import org.distorted.library.type.Data3D;
+import org.distorted.library.type.Dynamic3D;
+import org.distorted.library.type.Static3D;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public class MatrixEffectShear extends MatrixEffect
@@ -30,8 +34,19 @@ public class MatrixEffectShear extends MatrixEffect
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public MatrixEffectShear()
+  public MatrixEffectShear(Data3D shear, Data3D center)
     {
-    super(UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+    super(SHEAR,UNITIES,DIMENSION,SUPPORTS_CENTER,SUPPORTS_REGION);
+
+    if( shear instanceof Static3D)
+      {
+      mStatic0 = (Static3D)shear;
+      }
+    else if ( shear instanceof Dynamic3D)
+      {
+      mDynamic0 = (Dynamic3D)shear;
+      }
+
+    mCenter = center;
     }
   }
diff --git a/src/main/java/org/distorted/library/effect/PostprocessEffect.java b/src/main/java/org/distorted/library/effect/PostprocessEffect.java
index e0be7b1..0cfbbb1 100644
--- a/src/main/java/org/distorted/library/effect/PostprocessEffect.java
+++ b/src/main/java/org/distorted/library/effect/PostprocessEffect.java
@@ -25,10 +25,13 @@ public abstract class PostprocessEffect extends Effect
   {
   static final int MAX = 5;
 
+  public static int BLUR = 0;
+  public static int GLOW = 1;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public PostprocessEffect(float[] unity, int dimension, boolean center, boolean region)
+  public PostprocessEffect(int name, float[] unity, int dimension, boolean center, boolean region)
     {
-    super(POSTPROCESS,unity,dimension,center,region);
+    super(POSTPROCESS,name,unity,dimension,center,region);
     }
   }
\ No newline at end of file
diff --git a/src/main/java/org/distorted/library/effect/VertexEffect.java b/src/main/java/org/distorted/library/effect/VertexEffect.java
index 4c5b3de..22ab181 100644
--- a/src/main/java/org/distorted/library/effect/VertexEffect.java
+++ b/src/main/java/org/distorted/library/effect/VertexEffect.java
@@ -25,10 +25,17 @@ public abstract class VertexEffect extends Effect
   {
   static final int MAX = 5;
 
+  public static int DISTORT = 0;
+  public static int DEFORM  = 1;
+  public static int SINK    = 2;
+  public static int PINCH   = 3;
+  public static int SWIRL   = 4;
+  public static int WAVE    = 5;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public VertexEffect(float[] unity, int dimension, boolean center, boolean region)
+  public VertexEffect(int name, float[] unity, int dimension, boolean center, boolean region)
     {
-    super(VERTEX,unity,dimension,center,region);
+    super(VERTEX,name,unity,dimension,center,region);
     }
   }
\ No newline at end of file
diff --git a/src/main/java/org/distorted/library/type/Dynamic.java b/src/main/java/org/distorted/library/type/Dynamic.java
index 054e3c2..40cd52e 100644
--- a/src/main/java/org/distorted/library/type/Dynamic.java
+++ b/src/main/java/org/distorted/library/type/Dynamic.java
@@ -81,7 +81,7 @@ public abstract class Dynamic
    */
   public static final int ACCESS_SEQUENTIAL = 1;
 
-  protected int mDimension;
+  protected final int mDimension;
   protected int numPoints;
   protected int mSegment;       // between which pair of points are we currently? (in case of PATH this is a bit complicated!)
   protected boolean cacheDirty; // VectorCache not up to date
@@ -160,6 +160,7 @@ public abstract class Dynamic
   
   protected Dynamic()
     {
+    mDimension = 0;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -557,7 +558,6 @@ public abstract class Dynamic
     mDuration = duration;
     }
 
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Sets the access mode this Dynamic will be working in.
@@ -570,6 +570,15 @@ public abstract class Dynamic
     mLastPos = -1;
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Return the Dimension, ie number of floats in a single Point this Dynamic interpolates through.
+ */
+  public int getDimension()
+    {
+    return mDimension;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Writes the results of interpolation between the Points at time 'time' to the passed float buffer.
diff --git a/src/main/java/org/distorted/library/type/Static.java b/src/main/java/org/distorted/library/type/Static.java
new file mode 100644
index 0000000..0d01a69
--- /dev/null
+++ b/src/main/java/org/distorted/library/type/Static.java
@@ -0,0 +1,48 @@
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Copyright 2016 Leszek Koltunski                                                               //
+//                                                                                               //
+// This file is part of Distorted.                                                               //
+//                                                                                               //
+// Distorted is free software: you can redistribute it and/or modify                             //
+// it under the terms of the GNU General Public License as published by                          //
+// the Free Software Foundation, either version 2 of the License, or                             //
+// (at your option) any later version.                                                           //
+//                                                                                               //
+// Distorted is distributed in the hope that it will be useful,                                  //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
+// GNU General Public License for more details.                                                  //
+//                                                                                               //
+// You should have received a copy of the GNU General Public License                             //
+// along with Distorted.  If not, see <http://www.gnu.org/licenses/>.                            //
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+package org.distorted.library.type;
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Any-dimensional data structure containing arbitrary number of floats. The floats have no
+ * particular meaning; when this data structure is used in Dynamics, we can think of it as a
+ * N-dimensional Point a few of which the Dynamic interpolates between.
+ */
+
+public class Static
+  {
+  private final int mDimension;
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  Static(int dim)
+    {
+    mDimension = dim;
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Return the Dimension, ie number of floats in this Static.
+ */
+  public int getDimension()
+    {
+    return mDimension;
+    }
+  }
\ No newline at end of file
diff --git a/src/main/java/org/distorted/library/type/Static1D.java b/src/main/java/org/distorted/library/type/Static1D.java
index c7cc7b7..5cbb230 100644
--- a/src/main/java/org/distorted/library/type/Static1D.java
+++ b/src/main/java/org/distorted/library/type/Static1D.java
@@ -26,10 +26,18 @@ package org.distorted.library.type;
  * a few of which the Dynamic interpolates between.
  */
 
-public class Static1D implements Data1D
+public class Static1D extends Static implements Data1D
   {
   float x;
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  Static1D(int dim, float ox)
+    {
+    super(dim);
+    x = ox;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Constructor that initialises the value of the single float to ox.   
@@ -38,6 +46,7 @@ public class Static1D implements Data1D
  */
   public Static1D(int ox)
     {
+    super(1);
     x = ox;
     }
 
@@ -49,6 +58,7 @@ public class Static1D implements Data1D
  */  
   public Static1D(float ox)
     {
+    super(1);
     x = ox;
     }
   
diff --git a/src/main/java/org/distorted/library/type/Static2D.java b/src/main/java/org/distorted/library/type/Static2D.java
index 6ceb1e1..9b30d5e 100644
--- a/src/main/java/org/distorted/library/type/Static2D.java
+++ b/src/main/java/org/distorted/library/type/Static2D.java
@@ -30,6 +30,14 @@ public class Static2D extends Static1D implements Data2D
   {
   float y;
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  Static2D(int dim, float ox, float oy)
+    {
+    super(dim,ox);
+    y = oy;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Constructor that initialises the value of the two floats to (ox,oy).   
@@ -39,7 +47,7 @@ public class Static2D extends Static1D implements Data2D
  */  
   public Static2D(int ox, int oy)
     {
-    super(ox);
+    super(2,ox);
     y = oy;
     }
 
@@ -52,7 +60,7 @@ public class Static2D extends Static1D implements Data2D
  */    
   public Static2D(float ox, float oy)
     {
-    super(ox);
+    super(2,ox);
     y = oy;
     }
   
diff --git a/src/main/java/org/distorted/library/type/Static3D.java b/src/main/java/org/distorted/library/type/Static3D.java
index ece8690..6f0f7ed 100644
--- a/src/main/java/org/distorted/library/type/Static3D.java
+++ b/src/main/java/org/distorted/library/type/Static3D.java
@@ -29,7 +29,15 @@ package org.distorted.library.type;
 public class Static3D extends Static2D  implements Data3D
   {
   float z;
-  
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  Static3D(int dim, float vx, float vy, float vz)
+    {
+    super(dim,vx,vy);
+    z = vz;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Constructor that initialises the value of the three floats to (vx,vy,vz).   
@@ -40,7 +48,7 @@ public class Static3D extends Static2D  implements Data3D
  */ 
   public Static3D(int vx, int vy, int vz)
     {
-    super(vx,vy);
+    super(3,vx,vy);
     z = vz;
     }
 
@@ -54,7 +62,7 @@ public class Static3D extends Static2D  implements Data3D
  */ 
   public Static3D(float vx, float vy, float vz)
     {
-    super(vx,vy);
+    super(3,vx,vy);
     z = vz;
     }
 
diff --git a/src/main/java/org/distorted/library/type/Static4D.java b/src/main/java/org/distorted/library/type/Static4D.java
index 1f3c4a4..0cf2b2f 100644
--- a/src/main/java/org/distorted/library/type/Static4D.java
+++ b/src/main/java/org/distorted/library/type/Static4D.java
@@ -29,7 +29,15 @@ package org.distorted.library.type;
 public class Static4D extends Static3D implements Data4D
   {
   float w;
-  
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  Static4D(int dim, float vx, float vy, float vz, float vw)
+    {
+    super(dim,vx,vy,vz);
+    w = vw;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Constructor that initialises the value of the four floats to (vx,vy,vz,vw).   
@@ -41,7 +49,7 @@ public class Static4D extends Static3D implements Data4D
  */ 
   public Static4D(int vx, int vy, int vz, int vw)
     {
-    super(vx,vy,vz);
+    super(4,vx,vy,vz);
     w = vw;
     }
 
@@ -56,7 +64,7 @@ public class Static4D extends Static3D implements Data4D
  */ 
   public Static4D(float vx, float vy, float vz, float vw)
     {
-    super(vx,vy,vz);
+    super(4,vx,vy,vz);
     w = vw;
     }
 
diff --git a/src/main/java/org/distorted/library/type/Static5D.java b/src/main/java/org/distorted/library/type/Static5D.java
index 77979ac..9fde6c5 100644
--- a/src/main/java/org/distorted/library/type/Static5D.java
+++ b/src/main/java/org/distorted/library/type/Static5D.java
@@ -29,7 +29,7 @@ package org.distorted.library.type;
 public class Static5D extends Static4D implements Data5D
   {
   float v;
-  
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Constructor that initialises the value of the five floats to (vx,vy,vz,vw,vv).   
@@ -42,7 +42,7 @@ public class Static5D extends Static4D implements Data5D
  */ 
   public Static5D(int vx, int vy, int vz, int vw, int vv)
     {
-    super(vx,vy,vz,vw);
+    super(5,vx,vy,vz,vw);
     v = vv;
     }
 
@@ -58,7 +58,7 @@ public class Static5D extends Static4D implements Data5D
  */ 
   public Static5D(float vx, float vy, float vz, float vw, float vv)
     {
-    super(vx,vy,vz,vw);
+    super(5,vx,vy,vz,vw);
     v = vv;
     }
 
