commit 76939f960def40679e67cabbd1daf5b7bcfa61bf
Author: Leszek Koltunski <leszek@distorted.org>
Date:   Tue Oct 18 16:14:41 2016 +0100

    The Flag is waving!

diff --git a/src/main/java/org/distorted/examples/flag/FlagRenderer.java b/src/main/java/org/distorted/examples/flag/FlagRenderer.java
index 1461d77..3e86330 100644
--- a/src/main/java/org/distorted/examples/flag/FlagRenderer.java
+++ b/src/main/java/org/distorted/examples/flag/FlagRenderer.java
@@ -26,13 +26,16 @@ import android.opengl.GLSurfaceView;
 
 import org.distorted.examples.R;
 import org.distorted.library.Distorted;
-import org.distorted.library.DistortedBitmap;
 import org.distorted.library.DistortedCubes;
 import org.distorted.library.DistortedObject;
 import org.distorted.library.EffectTypes;
+import org.distorted.library.type.Dynamic;
+import org.distorted.library.type.Dynamic5D;
 import org.distorted.library.type.DynamicQuat;
+import org.distorted.library.type.Static2D;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
+import org.distorted.library.type.Static5D;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -64,6 +67,17 @@ class FlagRenderer implements GLSurfaceView.Renderer
       mObjWidth = mObject.getWidth();
       mObjHeight= mObject.getHeight();
 
+      Static2D mWaveCenter = new Static2D(mObjWidth, mObjHeight/2);  // middle of the right edge
+      Static4D mWaveRegion = new Static4D(0,0,mObjWidth,mObjWidth);
+
+      Dynamic5D mWaveDyn = new Dynamic5D(1000,0.0f);
+      Static5D  mWaveSta1= new Static5D(50,100,-180,90,0);
+      Static5D  mWaveSta2= new Static5D(50,100,+180,90,0);
+
+      mWaveDyn.add(mWaveSta1);
+      mWaveDyn.add(mWaveSta2);
+      mWaveDyn.setMode(Dynamic.MODE_JUMP);
+
       mQuat1 = new Static4D(0,0,0,1);  // unity
       mQuat2 = new Static4D(0,0,0,1);  // quaternions
 
@@ -72,6 +86,8 @@ class FlagRenderer implements GLSurfaceView.Renderer
 
       mQuatInt1.add(mQuat1);
       mQuatInt2.add(mQuat2);
+
+      mObject.wave(mWaveDyn, mWaveCenter, mWaveRegion);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
