commit 54ce4c6faadd92b4201e1885e278980a297e57bb
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sun Jun 14 19:30:08 2020 +0100

    Progress with the MeshFile app.

diff --git a/src/main/java/org/distorted/library/mesh/MeshBase.java b/src/main/java/org/distorted/library/mesh/MeshBase.java
index e27f818..26c3751 100644
--- a/src/main/java/org/distorted/library/mesh/MeshBase.java
+++ b/src/main/java/org/distorted/library/mesh/MeshBase.java
@@ -783,8 +783,9 @@ public abstract class MeshBase
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
+// Return the number of bytes read.
 
-   void read(DataInputStream stream)
+   int read(DataInputStream stream)
      {
      byte[] buffer = new byte[BYTES_PER_FLOAT*4];
      int version, numEff, numTex;
@@ -801,19 +802,17 @@ public abstract class MeshBase
          mNumVertices= byteBuf.getInt(4);
          numTex      = byteBuf.getInt(8);
          numEff      = byteBuf.getInt(12);
-
-    //     android.util.Log.e("mesh", "version: "+version+" vert: "+mNumVertices+" numTex: "+numTex+" numEff: "+numEff);
          }
        else
          {
          android.util.Log.e("mesh", "Error: unknown mesh file version "+String.format("0x%08X", version));
-         return;
+         return 0;
          }
        }
      catch(IOException e)
        {
        android.util.Log.e("mesh", "IOException1 trying to read file: "+e.toString());
-       return;
+       return 0;
        }
 
      if( mNumVertices>0 && numEff>0 && numTex>0 )
@@ -832,30 +831,16 @@ public abstract class MeshBase
        catch(IOException e)
          {
          android.util.Log.e("mesh", "IOException2 trying to read file: "+e.toString());
-         return;
+         return 0;
          }
 
-
        ByteBuffer byteBuf = ByteBuffer.wrap(buffer);
        FloatBuffer floatBuf = byteBuf.asFloatBuffer();
 
        floatBuf.get(tmp,0,size);
-
-/*
-for(int f=0; f<size; f++)
-  {
-  android.util.Log.e("mesh", "tmp "+f+": "+tmp[f]);
-  }
-*/
-
        floatBuf.get(mVertAttribs1, 0, VERT1_ATTRIBS*mNumVertices);
        floatBuf.get(mVertAttribs2, 0, VERT2_ATTRIBS*mNumVertices);
-/*
-for(int f=0; f<mNumVertices; f++)
-  {
-  android.util.Log.e("mesh", "vert "+f+": "+mVertAttribs1[9*f]+" "+mVertAttribs1[9*f+1]+" "+mVertAttribs1[9*f+2]+"   "+mVertAttribs1[9*f+3]+" "+mVertAttribs1[9*f+4]+" "+mVertAttribs1[9*f+5]+"   "+mVertAttribs1[9*f+6]+" "+mVertAttribs1[9*f+7]+" "+mVertAttribs1[9*f+8]);
-  }
-*/
+
        TexComponent tex;
        int index, texComp;
        float x, y, z, w;
@@ -869,8 +854,6 @@ for(int f=0; f<mNumVertices; f++)
          z= tmp[TEX_COMP_SIZE*texComp+3];
          w= tmp[TEX_COMP_SIZE*texComp+4];
 
-//android.util.Log.e("mesh", "tex comp "+texComp+" index="+index+" x="+x+" y="+y+" z="+z+" w="+w);
-
          tex = new TexComponent(index);
          tex.setMap(new Static4D(x,y,z,w));
 
@@ -881,12 +864,10 @@ for(int f=0; f<mNumVertices; f++)
          {
          index = (int)tmp[TEX_COMP_SIZE*texComp + effComp ];
          mEffComponent.add(index);
-
-
-//android.util.Log.e("mesh", "eff comp "+effComp+" index="+index);
-
          }
        }
+
+     return BYTES_PER_FLOAT*( 4 + numEff+TEX_COMP_SIZE*numTex + VERT1_ATTRIBS*mNumVertices + VERT2_ATTRIBS*mNumVertices );
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/library/mesh/MeshFile.java b/src/main/java/org/distorted/library/mesh/MeshFile.java
index 1729a50..08745a2 100644
--- a/src/main/java/org/distorted/library/mesh/MeshFile.java
+++ b/src/main/java/org/distorted/library/mesh/MeshFile.java
@@ -25,6 +25,8 @@ import java.io.DataInputStream;
 
 public class MeshFile extends MeshBase
 {
+   private int mBytes;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Read mesh description from a file.
@@ -35,7 +37,7 @@ public class MeshFile extends MeshBase
     {
     super();
 
-    read(stream);
+    mBytes = read(stream);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -59,4 +61,13 @@ public class MeshFile extends MeshBase
    {
    return new MeshFile(this,deep);
    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Return number of bytes read from the mesh file.
+ */
+  public int getNumBytes()
+    {
+    return mBytes;
+    }
 }
