commit bcbd5b45c0892d2bcb87f4ffdb5daf45f0cb9f2e
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sat Feb 15 01:02:39 2020 +0000

    Adjustment to Static's API.

diff --git a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java
index 8d4baec..beb29ab 100644
--- a/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java
+++ b/src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldEffectsManager.java
@@ -321,22 +321,22 @@ class AroundTheWorldEffectsManager
     wLipsFactor.set(1.0f-0.3f*mWhiteness);
 
     // ASIANNESS
-    aLipsNoseFactor.set2(23.0f*mAsianness);
-    aNoseBroaderFactor.set1(1.0f+0.85f*mAsianness);
-    aNostrilsFactor.set2(12.0f*mAsianness);
+    aLipsNoseFactor.set1(23.0f*mAsianness);
+    aNoseBroaderFactor.set0(1.0f+0.85f*mAsianness);
+    aNostrilsFactor.set1(12.0f*mAsianness);
     aLEyeFactor.set(+10.0f*mAsianness);
     aREyeFactor.set(-10.0f*mAsianness);
-    aEyebrowsFactor.set2(40.0f*mAsianness);
+    aEyebrowsFactor.set1(40.0f*mAsianness);
 
     aChromaSkinFactor.set(0.2f*mAsianness);
     aChromaEyesFactor.set(0.7f*mAsianness);
 
     // BLACKNESS
-    bFaceFactor.set1(1.0f + 0.1f*mBlackness);
-    bTipLowerFactor.set2(-23.0f*mBlackness);
-    bWholeNoseFactor.set1(1.0f+0.5f*mBlackness);
-    bNoseBroaderFactor.set1(1.0f+0.38f*mBlackness);
-    bLipsFactor.set1(1.0f+1.0f*mBlackness);
+    bFaceFactor.set0(1.0f + 0.1f*mBlackness);
+    bTipLowerFactor.set1(-23.0f*mBlackness);
+    bWholeNoseFactor.set0(1.0f+0.5f*mBlackness);
+    bNoseBroaderFactor.set0(1.0f+0.38f*mBlackness);
+    bLipsFactor.set0(1.0f+1.0f*mBlackness);
 
     bChromaSkinFactor.set(0.75f*mBlackness);
     bChromaEyesFactor.set(0.2f*mBlackness);
diff --git a/src/main/java/org/distorted/examples/deform/DeformRenderer.java b/src/main/java/org/distorted/examples/deform/DeformRenderer.java
index 25cc4f1..b5c7fe8 100644
--- a/src/main/java/org/distorted/examples/deform/DeformRenderer.java
+++ b/src/main/java/org/distorted/examples/deform/DeformRenderer.java
@@ -159,7 +159,7 @@ class DeformRenderer implements GLSurfaceView.Renderer , EffectListener
    void setRegionRadius(int r)
       {
       mRadius = ( r==100 ? 100.0f : r/200.0f);
-      mRegion.set4(mRadius*scrWidth);
+      mRegion.set3(mRadius*scrWidth);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -185,7 +185,7 @@ class DeformRenderer implements GLSurfaceView.Renderer , EffectListener
      scrHeight = height;
      scrWidth  = width;
 
-     mRegion.set4(mRadius*scrWidth);
+     mRegion.set3(mRadius*scrWidth);
 
      Canvas stretchCanvas;
      int w=width/2;
@@ -295,7 +295,7 @@ class DeformRenderer implements GLSurfaceView.Renderer , EffectListener
        {
        case DISTORT: for(int i=1; i<NUM_VECTORS-1; i++)
                        {
-                       vDistort[i].set( vDistort[i-1].get1()*damp, vDistort[i-1].get2()*damp, 0 );
+                       vDistort[i].set( vDistort[i-1].get0()*damp, vDistort[i-1].get1()*damp, 0 );
                        }
                      vDistort[NUM_VECTORS-1].set(0,0,0);
                      mEffects.apply(mReleasedDistort);
@@ -303,7 +303,7 @@ class DeformRenderer implements GLSurfaceView.Renderer , EffectListener
                      break;
        case DEFORM : for(int i=1; i<NUM_VECTORS-1; i++)
                        {
-                       vDeform[i].set( vDeform[i-1].get1()*damp, vDeform[i-1].get2()*damp, 0 );
+                       vDeform[i].set( vDeform[i-1].get0()*damp, vDeform[i-1].get1()*damp, 0 );
                        }
                      vDeform[NUM_VECTORS-1].set(0,0,0);
                      mEffects.apply(mReleasedDeform);
@@ -311,7 +311,7 @@ class DeformRenderer implements GLSurfaceView.Renderer , EffectListener
                      break;
        case SHEAR  : for(int i=1; i<NUM_VECTORS-1; i++)
                        {
-                       vShear[i].set( vShear[i-1].get1()*damp, vShear[i-1].get2()*damp, 0 );
+                       vShear[i].set( vShear[i-1].get0()*damp, vShear[i-1].get1()*damp, 0 );
                        }
                      vShear[NUM_VECTORS-1].set(0,0,0);
                      mEffects.apply(mReleasedShear);
diff --git a/src/main/java/org/distorted/examples/dynamic/DynamicSurfaceView.java b/src/main/java/org/distorted/examples/dynamic/DynamicSurfaceView.java
index 58e884a..178c98b 100644
--- a/src/main/java/org/distorted/examples/dynamic/DynamicSurfaceView.java
+++ b/src/main/java/org/distorted/examples/dynamic/DynamicSurfaceView.java
@@ -482,7 +482,7 @@ public class DynamicSurfaceView extends GLSurfaceView
       for(int curr=0; curr<len; curr++)
         {
         p1D = di1D.getPoint(curr);
-        drawRedPoint(c,curr+"", p1D.get1(), halfScreenHeight);
+        drawRedPoint(c,curr+"", p1D.get0(), halfScreenHeight);
         }
       }
 
@@ -495,7 +495,7 @@ public class DynamicSurfaceView extends GLSurfaceView
       for(int curr=0; curr<len; curr++)
         {
         p2D = di2D.getPoint(curr);
-        drawRedPoint(c,curr+"", p2D.get1(), p2D.get2());
+        drawRedPoint(c,curr+"", p2D.get0(), p2D.get1());
         }
       }
 
@@ -508,7 +508,7 @@ public class DynamicSurfaceView extends GLSurfaceView
       for(int curr=0; curr<len; curr++)
         {
         p3D = di3D.getPoint(curr);
-        drawRedPoint(c,curr+"", p3D.get1(), currentDim==DIM_3DXY ? p3D.get2():p3D.get3());
+        drawRedPoint(c,curr+"", p3D.get0(), currentDim==DIM_3DXY ? p3D.get1():p3D.get2());
         }
       }
 
@@ -522,8 +522,8 @@ public class DynamicSurfaceView extends GLSurfaceView
         {
         p4D = di4D.getPoint(curr);
 
-        if( currentDim==DIM_4DXY ) drawRedPoint(c,curr+"", p4D.get1(), p4D.get2());
-        else                       drawRedPoint(c,curr+"", p4D.get3(), p4D.get4());
+        if( currentDim==DIM_4DXY ) drawRedPoint(c,curr+"", p4D.get0(), p4D.get1());
+        else                       drawRedPoint(c,curr+"", p4D.get2(), p4D.get3());
         }
       }
 
@@ -540,13 +540,13 @@ public class DynamicSurfaceView extends GLSurfaceView
 
         if( currentDim==DIM_Q_XY )
           {
-          x = pQD.get1()*min + halfScreenWidth;
-          y = pQD.get2()*min + halfScreenHeight;
+          x = pQD.get0()*min + halfScreenWidth;
+          y = pQD.get1()*min + halfScreenHeight;
           }
         else
           {
-          x = pQD.get3()*min + halfScreenWidth;
-          y = pQD.get4()*min + halfScreenHeight;
+          x = pQD.get2()*min + halfScreenWidth;
+          y = pQD.get3()*min + halfScreenHeight;
           }
 
         drawRedPoint(c,curr+"", x,y);
@@ -578,7 +578,7 @@ public class DynamicSurfaceView extends GLSurfaceView
                       for(int g=0; g<len; g++)
                         {
                         p1D = di1D.getPoint(g);
-                        gx = p1D.get1();
+                        gx = p1D.get0();
                                     
                         if( (x-gx)*(x-gx) < minDist )
                           {
@@ -600,8 +600,8 @@ public class DynamicSurfaceView extends GLSurfaceView
                       for(int g=0; g<len; g++)
                         {
                         p2D = di2D.getPoint(g);
-                        gx = p2D.get1();
-                        gy = p2D.get2();
+                        gx = p2D.get0();
+                        gy = p2D.get1();
                                     
                         if( (x-gx)*(x-gx) + (y-gy)*(y-gy) < minDist )
                           {
@@ -624,9 +624,9 @@ public class DynamicSurfaceView extends GLSurfaceView
                       for(int g=0; g<len; g++)
                         {
                         p3D = di3D.getPoint(g);
-                        gx = p3D.get1();
-                        gy = p3D.get2();
-                        gz = p3D.get3();
+                        gx = p3D.get0();
+                        gy = p3D.get1();
+                        gz = p3D.get2();
                                
                         if( currentDim==DIM_3DXY )
                           {
@@ -662,10 +662,10 @@ public class DynamicSurfaceView extends GLSurfaceView
                       for(int g=0; g<len; g++)
                         {
                         p4D = di4D.getPoint(g);
-                        gx = p4D.get1();
-                        gy = p4D.get2();
-                        gz = p4D.get3();
-                        gw = p4D.get4();
+                        gx = p4D.get0();
+                        gy = p4D.get1();
+                        gz = p4D.get2();
+                        gw = p4D.get3();
 
                         if( currentDim==DIM_4DXY )
                           {
@@ -705,8 +705,8 @@ public class DynamicSurfaceView extends GLSurfaceView
 
                         if( currentDim==DIM_Q_XY )
                           {
-                          gx = pQD.get1()*min + halfScreenWidth;
-                          gy = pQD.get2()*min + halfScreenHeight;
+                          gx = pQD.get0()*min + halfScreenWidth;
+                          gy = pQD.get1()*min + halfScreenHeight;
 
                           if( (x-gx)*(x-gx) + (y-gy)*(y-gy) < minDist )
                             {
@@ -716,8 +716,8 @@ public class DynamicSurfaceView extends GLSurfaceView
                           }
                         if( currentDim==DIM_Q_ZW )
                           {
-                          gz = pQD.get3()*min + halfScreenWidth;
-                          gw = pQD.get4()*min + halfScreenHeight;
+                          gz = pQD.get2()*min + halfScreenWidth;
+                          gw = pQD.get3()*min + halfScreenHeight;
 
                           if( (x-gz)*(x-gz) + (y-gw)*(y-gw) < minDist )
                             {
@@ -808,19 +808,19 @@ public class DynamicSurfaceView extends GLSurfaceView
                                                          break;
                                           case DIM_2D  : di2D.setPoint(mMoving, xDown, yDown);
                                                          break;
-                                          case DIM_3DXY: di3D.setPoint(mMoving, xDown, yDown, (int)di3D.getPoint(mMoving).get3());
+                                          case DIM_3DXY: di3D.setPoint(mMoving, xDown, yDown, (int)di3D.getPoint(mMoving).get2());
                                                          break;
-                                          case DIM_3DXZ: di3D.setPoint(mMoving, xDown, (int)di3D.getPoint(mMoving).get2(), yDown);
+                                          case DIM_3DXZ: di3D.setPoint(mMoving, xDown, (int)di3D.getPoint(mMoving).get1(), yDown);
                                                          break;
-                                          case DIM_4DXY: di4D.setPoint(mMoving, xDown, yDown, (int)di4D.getPoint(mMoving).get3(), (int)di4D.getPoint(mMoving).get4());
+                                          case DIM_4DXY: di4D.setPoint(mMoving, xDown, yDown, (int)di4D.getPoint(mMoving).get2(), (int)di4D.getPoint(mMoving).get3());
                                                          break;
-                                          case DIM_4DZW: di4D.setPoint(mMoving, (int)di4D.getPoint(mMoving).get1(), (int)di4D.getPoint(mMoving).get2(), xDown, yDown);
+                                          case DIM_4DZW: di4D.setPoint(mMoving, (int)di4D.getPoint(mMoving).get0(), (int)di4D.getPoint(mMoving).get1(), xDown, yDown);
                                                          break;
                                           case DIM_Q_XY: float min1 = QUAT_QUOT* (halfScreenWidth<halfScreenHeight ? halfScreenWidth:halfScreenHeight );
                                                          float x1 = (xDown - halfScreenWidth ) / min1;
                                                          float y1 = (yDown - halfScreenHeight) / min1;
-                                                         float z1 = diQu.getPoint(mMoving).get3();
-                                                         float w1 = diQu.getPoint(mMoving).get4();
+                                                         float z1 = diQu.getPoint(mMoving).get2();
+                                                         float w1 = diQu.getPoint(mMoving).get3();
                                                          float len1 = x1*x1 + y1*y1;
 
                                                          if( len1 <= 1.0f )
@@ -858,8 +858,8 @@ public class DynamicSurfaceView extends GLSurfaceView
                                                          diQu.setPoint(mMoving, x1,y1,z1,w1);
                                                          break;
                                           case DIM_Q_ZW: float min2 = QUAT_QUOT* (halfScreenWidth<halfScreenHeight ? halfScreenWidth:halfScreenHeight );
-                                                         float x2 = diQu.getPoint(mMoving).get1();
-                                                         float y2 = diQu.getPoint(mMoving).get2();
+                                                         float x2 = diQu.getPoint(mMoving).get0();
+                                                         float y2 = diQu.getPoint(mMoving).get1();
                                                          float z2 = (xDown - halfScreenWidth ) / min2;
                                                          float w2 = (yDown - halfScreenHeight) / min2;
                                                          float len3 = z2*z2 + w2*w2;
diff --git a/src/main/java/org/distorted/examples/earth/EarthRenderer.java b/src/main/java/org/distorted/examples/earth/EarthRenderer.java
index a378c6d..823f287 100644
--- a/src/main/java/org/distorted/examples/earth/EarthRenderer.java
+++ b/src/main/java/org/distorted/examples/earth/EarthRenderer.java
@@ -217,8 +217,8 @@ class EarthRenderer implements GLSurfaceView.Renderer
                                 float lon = longitude;
                                 float latInDegrees = (float)(lat*180.0f/Math.PI);
                                 float lonInDegrees = (float)(lon*180.0f/Math.PI);
-                                mPinch.set2(latInDegrees);
-                                mPinch.set3(lonInDegrees);
+                                mPinch.set1(latInDegrees);
+                                mPinch.set2(lonInDegrees);
                                 effect = new VertexEffectPinch  (mPinch   , center, mRegionV); break;
         case SWIRL            : effect = new VertexEffectSwirl  (mSwirl   , center, mRegionV); break;      // SWIRL & WAVE are not really fully
         case WAVE             : Static5D wave = new Static5D( RADIUS_V/2, RADIUS_V/2, 0, 90-latitude, 90); // 3D effects. They will not look
diff --git a/src/main/java/org/distorted/examples/earth/EarthSurfaceView.java b/src/main/java/org/distorted/examples/earth/EarthSurfaceView.java
index 107a7f8..8c27cd6 100644
--- a/src/main/java/org/distorted/examples/earth/EarthSurfaceView.java
+++ b/src/main/java/org/distorted/examples/earth/EarthSurfaceView.java
@@ -101,15 +101,15 @@ class EarthSurfaceView extends GLSurfaceView
          case MotionEvent.ACTION_UP  : mX = -1;
                                        mY = -1;
         	                           
-                                       float qx = mRenderer.mQuat1.get1();
-                                       float qy = mRenderer.mQuat1.get2();
-                                       float qz = mRenderer.mQuat1.get3();
-                                       float qw = mRenderer.mQuat1.get4();
+                                       float qx = mRenderer.mQuat1.get0();
+                                       float qy = mRenderer.mQuat1.get1();
+                                       float qz = mRenderer.mQuat1.get2();
+                                       float qw = mRenderer.mQuat1.get3();
 
-                                       float rx = mRenderer.mQuat2.get1();
-                                       float ry = mRenderer.mQuat2.get2();
-                                       float rz = mRenderer.mQuat2.get3();
-                                       float rw = mRenderer.mQuat2.get4();
+                                       float rx = mRenderer.mQuat2.get0();
+                                       float ry = mRenderer.mQuat2.get1();
+                                       float rz = mRenderer.mQuat2.get2();
+                                       float rw = mRenderer.mQuat2.get3();
 
                                        // This is quaternion multiplication. (tx,ty,tz,tw)
                                        // is now equal to (qx,qy,qz,qw)*(rx,ry,rz,rw)
diff --git a/src/main/java/org/distorted/examples/flag/FlagActivity.java b/src/main/java/org/distorted/examples/flag/FlagActivity.java
index 5a66940..aa1e96c 100644
--- a/src/main/java/org/distorted/examples/flag/FlagActivity.java
+++ b/src/main/java/org/distorted/examples/flag/FlagActivity.java
@@ -83,10 +83,10 @@ public class FlagActivity extends Activity implements SeekBar.OnSeekBarChangeLis
       barNoiseAngleA.setOnSeekBarChangeListener(this);
       barNoiseAngleB.setOnSeekBarChangeListener(this);
 
-      barNoiseAmplitude.setProgress( (int)mNoise.get1() );
-      barNoiseLength.setProgress   ( (int)mNoise.get2() );
-      barNoiseAngleA.setProgress   ( (int)mNoise.get4() );
-      barNoiseAngleB.setProgress   ( (int)mNoise.get5() );
+      barNoiseAmplitude.setProgress( (int)mNoise.get0() );
+      barNoiseLength.setProgress   ( (int)mNoise.get1() );
+      barNoiseAngleA.setProgress   ( (int)mNoise.get3() );
+      barNoiseAngleB.setProgress   ( (int)mNoise.get4() );
 
       textNoiseAmplitude.setText(getString(R.string.noise_placeholder,"0.00"));
       textNoiseLength.setText(getString(R.string.noise_placeholder,"0.00"));
@@ -148,7 +148,7 @@ public class FlagActivity extends Activity implements SeekBar.OnSeekBarChangeLis
         case R.id.flagSeekAmplitude     : renderer.setAmplitude(progress);
                                           textAmplitude.setText(getString(R.string.amplitude_placeholder,progress));
                                           break;
-        case R.id.flagSeekNoiseAmplitude: mNoise.set1((float)progress/100);
+        case R.id.flagSeekNoiseAmplitude: mNoise.set0((float)progress/100);
                                           renderer.setNoise(mNoise);
                                           convert(progress);
                                           textNoiseAmplitude.setText(getString(R.string.noise_placeholder,mStr));
@@ -157,7 +157,7 @@ public class FlagActivity extends Activity implements SeekBar.OnSeekBarChangeLis
                                           renderer.setLength(progress);
                                           textLength.setText(getString(R.string.length_placeholder,progress));
                                           break;
-        case R.id.flagSeekNoiseLength   : mNoise.set2((float)progress/100);
+        case R.id.flagSeekNoiseLength   : mNoise.set1((float)progress/100);
                                           renderer.setNoise(mNoise);
                                           convert(progress);
                                           textNoiseLength.setText(getString(R.string.noise_placeholder,mStr));
@@ -166,7 +166,7 @@ public class FlagActivity extends Activity implements SeekBar.OnSeekBarChangeLis
                                           renderer.setAngleA(progress);
                                           textAngleA.setText(getString(R.string.alpha_placeholder,progress));
                                           break;
-        case R.id.flagSeekNoiseAngleA   : mNoise.set4((float)progress/100);
+        case R.id.flagSeekNoiseAngleA   : mNoise.set3((float)progress/100);
                                           renderer.setNoise(mNoise);
                                           convert(progress);
                                           textNoiseAngleA.setText(getString(R.string.noise_placeholder,mStr));
@@ -175,7 +175,7 @@ public class FlagActivity extends Activity implements SeekBar.OnSeekBarChangeLis
                                           renderer.setAngleB(progress);
                                           textAngleB.setText(getString(R.string.beta_placeholder,progress));
                                           break;
-        case R.id.flagSeekNoiseAngleB   : mNoise.set5((float)progress/100);
+        case R.id.flagSeekNoiseAngleB   : mNoise.set4((float)progress/100);
                                           renderer.setNoise(mNoise);
                                           convert(progress);
                                           textNoiseAngleB.setText(getString(R.string.noise_placeholder,mStr));
diff --git a/src/main/java/org/distorted/examples/flag/FlagRenderer.java b/src/main/java/org/distorted/examples/flag/FlagRenderer.java
index f0ee680..503232f 100644
--- a/src/main/java/org/distorted/examples/flag/FlagRenderer.java
+++ b/src/main/java/org/distorted/examples/flag/FlagRenderer.java
@@ -112,32 +112,32 @@ class FlagRenderer implements GLSurfaceView.Renderer
 
     void setAmplitude(int a)
       {
-      mWaveSta1.set1(a);
-      mWaveSta2.set1(a);
+      mWaveSta1.set0(a);
+      mWaveSta2.set0(a);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     void setLength(int l)
       {
-      mWaveSta1.set2(l);
-      mWaveSta2.set2(l);
+      mWaveSta1.set1(l);
+      mWaveSta2.set1(l);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     void setAngleA(int a)
       {
-      mWaveSta1.set4(a);
-      mWaveSta2.set4(a);
+      mWaveSta1.set3(a);
+      mWaveSta2.set3(a);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     void setAngleB(int b)
       {
-      mWaveSta1.set5(b);
-      mWaveSta2.set5(b);
+      mWaveSta1.set4(b);
+      mWaveSta2.set4(b);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/flag/FlagSurfaceView.java b/src/main/java/org/distorted/examples/flag/FlagSurfaceView.java
index 5460bf9..6e3ea49 100644
--- a/src/main/java/org/distorted/examples/flag/FlagSurfaceView.java
+++ b/src/main/java/org/distorted/examples/flag/FlagSurfaceView.java
@@ -97,15 +97,15 @@ class FlagSurfaceView extends GLSurfaceView
          case MotionEvent.ACTION_UP  : mX = -1;
                                        mY = -1;
         	                           
-                                       float qx = mRenderer.mQuat1.get1();
-                                       float qy = mRenderer.mQuat1.get2();
-                                       float qz = mRenderer.mQuat1.get3();
-                                       float qw = mRenderer.mQuat1.get4();
+                                       float qx = mRenderer.mQuat1.get0();
+                                       float qy = mRenderer.mQuat1.get1();
+                                       float qz = mRenderer.mQuat1.get2();
+                                       float qw = mRenderer.mQuat1.get3();
 
-                                       float rx = mRenderer.mQuat2.get1();
-                                       float ry = mRenderer.mQuat2.get2();
-                                       float rz = mRenderer.mQuat2.get3();
-                                       float rw = mRenderer.mQuat2.get4();
+                                       float rx = mRenderer.mQuat2.get0();
+                                       float ry = mRenderer.mQuat2.get1();
+                                       float rz = mRenderer.mQuat2.get2();
+                                       float rw = mRenderer.mQuat2.get3();
 
                                        // This is quaternion multiplication. (tx.ty.tz.tw)
                                        // is now equal to (qx,qy,qz,qw)*(rx,ry,rz,rw)
diff --git a/src/main/java/org/distorted/examples/generic/GenericActivity2.java b/src/main/java/org/distorted/examples/generic/GenericActivity2.java
index 3e3977d..0e9b092 100644
--- a/src/main/java/org/distorted/examples/generic/GenericActivity2.java
+++ b/src/main/java/org/distorted/examples/generic/GenericActivity2.java
@@ -234,7 +234,7 @@ public class GenericActivity2 extends AppCompatActivity
   void setCenter(Static3D center)
     {
     GenericSurfaceView view = findViewById(R.id.genericSurfaceView);
-    view.getRenderer().setCenter( center.get1(), center.get2(), center.get3() );
+    view.getRenderer().setCenter( center.get0(), center.get1(), center.get2() );
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -242,7 +242,7 @@ public class GenericActivity2 extends AppCompatActivity
   void setRegion(Static4D region)
     {
     GenericSurfaceView view = findViewById(R.id.genericSurfaceView);
-    view.getRenderer().setRegion( region.get1(), region.get2(), region.get3(), region.get4() );
+    view.getRenderer().setRegion( region.get0(), region.get1(), region.get2(), region.get3() );
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/examples/generic/GenericEffect.java b/src/main/java/org/distorted/examples/generic/GenericEffect.java
index 324f053..3874017 100644
--- a/src/main/java/org/distorted/examples/generic/GenericEffect.java
+++ b/src/main/java/org/distorted/examples/generic/GenericEffect.java
@@ -277,41 +277,41 @@ class GenericEffect implements SeekBar.OnSeekBarChangeListener
 
     if( mSta1 !=null )
       {
-      float f1 = ((int)(mSta1.get1()*100))/100.0f;
+      float f1 = ((int)(mSta1.get0()*100))/100.0f;
       text += " "+f1;
       }
 
     if( mSta2 !=null )
       {
-      float f1 = ((int)(mSta2.get1()*100))/100.0f;
-      float f2 = ((int)(mSta2.get2()*100))/100.0f;
+      float f1 = ((int)(mSta2.get0()*100))/100.0f;
+      float f2 = ((int)(mSta2.get1()*100))/100.0f;
       text += " ("+f1+","+f2+")";
       }
 
     if( mSta3 !=null )
       {
-      float f1 = ((int)(mSta3.get1()*100))/100.0f;
-      float f2 = ((int)(mSta3.get2()*100))/100.0f;
-      float f3 = ((int)(mSta3.get3()*100))/100.0f;
+      float f1 = ((int)(mSta3.get0()*100))/100.0f;
+      float f2 = ((int)(mSta3.get1()*100))/100.0f;
+      float f3 = ((int)(mSta3.get2()*100))/100.0f;
       text += " ("+f1+","+f2+","+f3+")";
       }
 
     if( mSta4 !=null )
       {
-      float f1 = ((int)(mSta4.get1()*100))/100.0f;
-      float f2 = ((int)(mSta4.get2()*100))/100.0f;
-      float f3 = ((int)(mSta4.get3()*100))/100.0f;
-      float f4 = ((int)(mSta4.get4()*100))/100.0f;
+      float f1 = ((int)(mSta4.get0()*100))/100.0f;
+      float f2 = ((int)(mSta4.get1()*100))/100.0f;
+      float f3 = ((int)(mSta4.get2()*100))/100.0f;
+      float f4 = ((int)(mSta4.get3()*100))/100.0f;
       text += " ("+f1+","+f2+","+f3+","+f4+")";
       }
 
     if( mSta5 !=null )
       {
-      float f1 = ((int)(mSta5.get1()*100))/100.0f;
-      float f2 = ((int)(mSta5.get2()*100))/100.0f;
-      float f3 = ((int)(mSta5.get3()*100))/100.0f;
-      float f4 = ((int)(mSta5.get4()*100))/100.0f;
-      float f5 = ((int)(mSta5.get5()*100))/100.0f;
+      float f1 = ((int)(mSta5.get0()*100))/100.0f;
+      float f2 = ((int)(mSta5.get1()*100))/100.0f;
+      float f3 = ((int)(mSta5.get2()*100))/100.0f;
+      float f4 = ((int)(mSta5.get3()*100))/100.0f;
+      float f5 = ((int)(mSta5.get4()*100))/100.0f;
       text += " ("+f1+","+f2+","+f3+","+f4+","+f5+")";
       }
 
@@ -344,9 +344,9 @@ class GenericEffect implements SeekBar.OnSeekBarChangeListener
 
   private void setCenterText()
     {
-    float f0 = ((int)(mCenterSta.get1()*100))/100.0f;
-    float f1 = ((int)(mCenterSta.get2()*100))/100.0f;
-    float f2 = ((int)(mCenterSta.get3()*100))/100.0f;
+    float f0 = ((int)(mCenterSta.get0()*100))/100.0f;
+    float f1 = ((int)(mCenterSta.get1()*100))/100.0f;
+    float f2 = ((int)(mCenterSta.get2()*100))/100.0f;
 
     mTextCenter.setText("center ("+f0+","+f1+","+f2+")");
     }
@@ -388,19 +388,19 @@ class GenericEffect implements SeekBar.OnSeekBarChangeListener
     {
     if( mRegionDimension==4 )
       {
-      float f0 = ((int)(mRegion4Sta.get1()*100))/100.0f;
-      float f1 = ((int)(mRegion4Sta.get2()*100))/100.0f;
-      float f2 = ((int)(mRegion4Sta.get3()*100))/100.0f;
-      float f3 = ((int)(mRegion4Sta.get4()*100))/100.0f;
+      float f0 = ((int)(mRegion4Sta.get0()*100))/100.0f;
+      float f1 = ((int)(mRegion4Sta.get1()*100))/100.0f;
+      float f2 = ((int)(mRegion4Sta.get2()*100))/100.0f;
+      float f3 = ((int)(mRegion4Sta.get3()*100))/100.0f;
 
       mTextRegion.setText("region (" + f0 + "," + f1 + "," + f2 + "," + f3 + ")");
       }
 
     if( mRegionDimension==3 )
       {
-      float f0 = ((int)(mRegion4Sta.get1()*100))/100.0f;
-      float f1 = ((int)(mRegion4Sta.get2()*100))/100.0f;
-      float f2 = ((int)(mRegion4Sta.get3()*100))/100.0f;
+      float f0 = ((int)(mRegion4Sta.get0()*100))/100.0f;
+      float f1 = ((int)(mRegion4Sta.get1()*100))/100.0f;
+      float f2 = ((int)(mRegion4Sta.get2()*100))/100.0f;
 
       mTextRegion.setText("region (" + f0 + "," + f1 + "," + f2 + ")");
       }
@@ -648,7 +648,7 @@ class GenericEffect implements SeekBar.OnSeekBarChangeListener
         seek[i].setProgress(mInterRegion[i]);
         }
 
-      act.setRegion( new Static4D( mRegion3Sta.get1(), mRegion3Sta.get2(), mRegion3Sta.get3(), 1.0f) );
+      act.setRegion( new Static4D( mRegion3Sta.get0(), mRegion3Sta.get1(), mRegion3Sta.get2(), 1.0f) );
       }
 
     return mRegion;
diff --git a/src/main/java/org/distorted/examples/generic/GenericSurfaceView.java b/src/main/java/org/distorted/examples/generic/GenericSurfaceView.java
index 2d753ec..272e1b9 100644
--- a/src/main/java/org/distorted/examples/generic/GenericSurfaceView.java
+++ b/src/main/java/org/distorted/examples/generic/GenericSurfaceView.java
@@ -95,15 +95,15 @@ class GenericSurfaceView extends GLSurfaceView
       case MotionEvent.ACTION_UP  : mX = -1;
                                     mY = -1;
 
-                                    float qx = mRenderer.mQuat1.get1();
-                                    float qy = mRenderer.mQuat1.get2();
-                                    float qz = mRenderer.mQuat1.get3();
-                                    float qw = mRenderer.mQuat1.get4();
-
-                                    float rx = mRenderer.mQuat2.get1();
-                                    float ry = mRenderer.mQuat2.get2();
-                                    float rz = mRenderer.mQuat2.get3();
-                                    float rw = mRenderer.mQuat2.get4();
+                                    float qx = mRenderer.mQuat1.get0();
+                                    float qy = mRenderer.mQuat1.get1();
+                                    float qz = mRenderer.mQuat1.get2();
+                                    float qw = mRenderer.mQuat1.get3();
+
+                                    float rx = mRenderer.mQuat2.get0();
+                                    float ry = mRenderer.mQuat2.get1();
+                                    float rz = mRenderer.mQuat2.get2();
+                                    float rw = mRenderer.mQuat2.get3();
 
                                     float tx = rw*qx - rz*qy + ry*qz + rx*qw;
                                     float ty = rw*qy + rz*qx + ry*qw - rx*qz;
diff --git a/src/main/java/org/distorted/examples/glow/GlowRenderer.java b/src/main/java/org/distorted/examples/glow/GlowRenderer.java
index 41828ae..9b7077c 100644
--- a/src/main/java/org/distorted/examples/glow/GlowRenderer.java
+++ b/src/main/java/org/distorted/examples/glow/GlowRenderer.java
@@ -106,7 +106,7 @@ class GlowRenderer implements GLSurfaceView.Renderer
    float setGlowAlpha(float glow)
      {
      float alpha = glow/100.0f;
-     mColor.set4(alpha);
+     mColor.set3(alpha);
      return alpha;
      }
 
diff --git a/src/main/java/org/distorted/examples/inflate/InflateSurfaceView.java b/src/main/java/org/distorted/examples/inflate/InflateSurfaceView.java
index c1efdbd..ae799d3 100644
--- a/src/main/java/org/distorted/examples/inflate/InflateSurfaceView.java
+++ b/src/main/java/org/distorted/examples/inflate/InflateSurfaceView.java
@@ -101,15 +101,15 @@ class InflateSurfaceView extends GLSurfaceView
          case MotionEvent.ACTION_UP  : mX = -1;
                                        mY = -1;
         	                           
-                                       float qx = mRenderer.mQuat1.get1();
-                                       float qy = mRenderer.mQuat1.get2();
-                                       float qz = mRenderer.mQuat1.get3();
-                                       float qw = mRenderer.mQuat1.get4();
+                                       float qx = mRenderer.mQuat1.get0();
+                                       float qy = mRenderer.mQuat1.get1();
+                                       float qz = mRenderer.mQuat1.get2();
+                                       float qw = mRenderer.mQuat1.get3();
 
-                                       float rx = mRenderer.mQuat2.get1();
-                                       float ry = mRenderer.mQuat2.get2();
-                                       float rz = mRenderer.mQuat2.get3();
-                                       float rw = mRenderer.mQuat2.get4();
+                                       float rx = mRenderer.mQuat2.get0();
+                                       float ry = mRenderer.mQuat2.get1();
+                                       float rz = mRenderer.mQuat2.get2();
+                                       float rw = mRenderer.mQuat2.get3();
 
                                        // This is quaternion multiplication. (tx,ty,tz,tw)
                                        // is now equal to (qx,qy,qz,qw)*(rx,ry,rz,rw)
diff --git a/src/main/java/org/distorted/examples/mirror/MirrorRenderer.java b/src/main/java/org/distorted/examples/mirror/MirrorRenderer.java
index 1d1efdb..f56d01b 100644
--- a/src/main/java/org/distorted/examples/mirror/MirrorRenderer.java
+++ b/src/main/java/org/distorted/examples/mirror/MirrorRenderer.java
@@ -104,7 +104,7 @@ class MirrorRenderer implements GLSurfaceView.Renderer
 
       float headW = (HEAD_SCALE *mScreenH* mHeadW) / (mScreenW* mHeadH);
 
-      mHeadPosition.set1(mX*(1.0f-2*MIRROR_MARGIN-headW)*mScreenW / 100.0f + MIRROR_MARGIN*mScreenW);
+      mHeadPosition.set0(mX*(1.0f-2*MIRROR_MARGIN-headW)*mScreenW / 100.0f + MIRROR_MARGIN*mScreenW);
       }
    
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -146,7 +146,7 @@ class MirrorRenderer implements GLSurfaceView.Renderer
 
         float headScale = HEAD_SCALE *mScreenH/ mHeadH;
         mScaleHead.set(headScale,headScale,headScale);
-        mHeadPosition.set2( mScreenH*MIRROR_MARGIN*mMirrorW/mMirrorH );
+        mHeadPosition.set1( mScreenH*MIRROR_MARGIN*mMirrorW/mMirrorH );
         setPosition(mX);
 
         mOffScreen1.attach( mTextureMirror, mEffectsMirror    , mQuad );
diff --git a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
index abb680f..d3a465c 100644
--- a/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
+++ b/src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
@@ -127,7 +127,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
 
       mRegionVertex.set(0,0,0,rad);
       mRegionFragment.set(rad,rad,rad);
-      mDeform.set3(max/7);
+      mDeform.set2(max/7);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -260,7 +260,7 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
         for(int curr=0; curr<len; curr++)
           {       
           cu = mCenter.getPoint(curr);
-          c.drawCircle(cu.get1(), mScrHeight-cu.get2(), mSize2, mPaint);
+          c.drawCircle(cu.get0(), mScrHeight-cu.get1(), mSize2, mPaint);
           }
         
         if( time-mTime > LOOP_TIME ) mTime = time;
@@ -288,10 +288,10 @@ public class MovingEffectsSurfaceView extends GLSurfaceView
                                       for(int g=0; g<len; g++)
                                         {
                                         dv = mCenter.getPoint(g);
-                                        gx = dv.get1();
-                                        gy = dv.get2();
+                                        gx = dv.get0();
+                                        gy = dv.get1();
 
-                                        float Z = mDeform.get3()/7;
+                                        float Z = mDeform.get2()/7;
 
                                         if( (xDown-gx)*(xDown-gx) + (yDown-gy)*(yDown-gy) < Z*Z )
                                           {
diff --git a/src/main/java/org/distorted/examples/multiblur/MultiblurSurfaceView.java b/src/main/java/org/distorted/examples/multiblur/MultiblurSurfaceView.java
index b6276b9..4d05d74 100644
--- a/src/main/java/org/distorted/examples/multiblur/MultiblurSurfaceView.java
+++ b/src/main/java/org/distorted/examples/multiblur/MultiblurSurfaceView.java
@@ -101,15 +101,15 @@ class MultiblurSurfaceView extends GLSurfaceView
          case MotionEvent.ACTION_UP  : mX = -1;
                                        mY = -1;
         	                           
-                                       float qx = mRenderer.mQuat1.get1();
-                                       float qy = mRenderer.mQuat1.get2();
-                                       float qz = mRenderer.mQuat1.get3();
-                                       float qw = mRenderer.mQuat1.get4();
+                                       float qx = mRenderer.mQuat1.get0();
+                                       float qy = mRenderer.mQuat1.get1();
+                                       float qz = mRenderer.mQuat1.get2();
+                                       float qw = mRenderer.mQuat1.get3();
 
-                                       float rx = mRenderer.mQuat2.get1();
-                                       float ry = mRenderer.mQuat2.get2();
-                                       float rz = mRenderer.mQuat2.get3();
-                                       float rw = mRenderer.mQuat2.get4();
+                                       float rx = mRenderer.mQuat2.get0();
+                                       float ry = mRenderer.mQuat2.get1();
+                                       float rz = mRenderer.mQuat2.get2();
+                                       float rw = mRenderer.mQuat2.get3();
 
                                        // This is quaternion multiplication. (tx,ty,tz,tw)
                                        // is now equal to (qx,qy,qz,qw)*(rx,ry,rz,rw)
diff --git a/src/main/java/org/distorted/examples/transparency/TransparencySurfaceView.java b/src/main/java/org/distorted/examples/transparency/TransparencySurfaceView.java
index 82ce6c3..6f23b2a 100644
--- a/src/main/java/org/distorted/examples/transparency/TransparencySurfaceView.java
+++ b/src/main/java/org/distorted/examples/transparency/TransparencySurfaceView.java
@@ -101,15 +101,15 @@ class TransparencySurfaceView extends GLSurfaceView
          case MotionEvent.ACTION_UP  : mX = -1;
                                        mY = -1;
         	                           
-                                       float qx = mRenderer.mQuat1.get1();
-                                       float qy = mRenderer.mQuat1.get2();
-                                       float qz = mRenderer.mQuat1.get3();
-                                       float qw = mRenderer.mQuat1.get4();
-
-                                       float rx = mRenderer.mQuat2.get1();
-                                       float ry = mRenderer.mQuat2.get2();
-                                       float rz = mRenderer.mQuat2.get3();
-                                       float rw = mRenderer.mQuat2.get4();
+                                       float qx = mRenderer.mQuat1.get0();
+                                       float qy = mRenderer.mQuat1.get1();
+                                       float qz = mRenderer.mQuat1.get2();
+                                       float qw = mRenderer.mQuat1.get3();
+
+                                       float rx = mRenderer.mQuat2.get0();
+                                       float ry = mRenderer.mQuat2.get1();
+                                       float rz = mRenderer.mQuat2.get2();
+                                       float rw = mRenderer.mQuat2.get3();
 
                                        // This is quaternion multiplication. (tx,ty,tz,tw)
                                        // is now equal to (qx,qy,qz,qw)*(rx,ry,rz,rw)
diff --git a/src/main/java/org/distorted/examples/triblur/TriblurSurfaceView.java b/src/main/java/org/distorted/examples/triblur/TriblurSurfaceView.java
index dea618e..abf6683 100644
--- a/src/main/java/org/distorted/examples/triblur/TriblurSurfaceView.java
+++ b/src/main/java/org/distorted/examples/triblur/TriblurSurfaceView.java
@@ -101,15 +101,15 @@ class TriblurSurfaceView extends GLSurfaceView
          case MotionEvent.ACTION_UP  : mX = -1;
                                        mY = -1;
         	                           
-                                       float qx = mRenderer.mQuat1.get1();
-                                       float qy = mRenderer.mQuat1.get2();
-                                       float qz = mRenderer.mQuat1.get3();
-                                       float qw = mRenderer.mQuat1.get4();
-
-                                       float rx = mRenderer.mQuat2.get1();
-                                       float ry = mRenderer.mQuat2.get2();
-                                       float rz = mRenderer.mQuat2.get3();
-                                       float rw = mRenderer.mQuat2.get4();
+                                       float qx = mRenderer.mQuat1.get0();
+                                       float qy = mRenderer.mQuat1.get1();
+                                       float qz = mRenderer.mQuat1.get2();
+                                       float qw = mRenderer.mQuat1.get3();
+
+                                       float rx = mRenderer.mQuat2.get0();
+                                       float ry = mRenderer.mQuat2.get1();
+                                       float rz = mRenderer.mQuat2.get2();
+                                       float rw = mRenderer.mQuat2.get3();
 
                                        // This is quaternion multiplication. (tx,ty,tz,tw)
                                        // is now equal to (qx,qy,qz,qw)*(rx,ry,rz,rw)
diff --git a/src/main/java/org/distorted/examples/wind/WindEffectsManager.java b/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
index 5d93829..d230f6f 100644
--- a/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
+++ b/src/main/java/org/distorted/examples/wind/WindEffectsManager.java
@@ -128,24 +128,24 @@ class WindEffectsManager
     mWind = wind;
 
     float tanAngle = (wind-50)/50.0f;
-    shearFactor.set2(tanAngle);
-    scaleFactor.set1(1/(float)Math.sqrt(1+tanAngle*tanAngle));
+    shearFactor.set1(tanAngle);
+    scaleFactor.set0(1/(float)Math.sqrt(1+tanAngle*tanAngle));
 
     windDynamic1.setDuration( wind > 0 ? 900 + 10000/wind : Long.MAX_VALUE);
     windDynamic2.setDuration( wind > 0 ? 720 +  8000/wind : Long.MAX_VALUE);
     windDynamic3.setDuration( wind > 0 ? 900 + 10000/wind : Long.MAX_VALUE);
 
     float wave2 = mHeight*( 0.05f + 0.002f*wind);
-    windFactor21.set1(wave2);
-    windFactor22.set1(wave2);
+    windFactor21.set0(wave2);
+    windFactor22.set0(wave2);
 
     float wave3 = (mHeight/(wind+5.0f));
-    windFactor31.set1(wave3);
-    windFactor32.set1(wave3);
+    windFactor31.set0(wave3);
+    windFactor32.set0(wave3);
 
     float wave4 = (mHeight*(wind*(100-wind)/50000.0f));
-    windFactor41.set1(wave4);
-    windFactor42.set1(wave4);
+    windFactor41.set0(wave4);
+    windFactor42.set0(wave4);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
