commit 524e4fe79ca757e965e29fda38e1b1dac963f336
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Aug 13 23:00:31 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 babe239..2ebfac0 100644
--- a/src/main/java/org/distorted/library/mesh/MeshBase.java
+++ b/src/main/java/org/distorted/library/mesh/MeshBase.java
@@ -347,20 +347,6 @@ public abstract class MeshBase
      mEquAssociation[component] = equAssociation;
      }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-   int numTexComponents()
-     {
-     return mTexComponent.size();
-     }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-   int numEffComponents()
-     {
-     return mEffComponent.size();
-     }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // when a derived class is done computing its mesh, it has to call this method.
 
@@ -898,6 +884,34 @@ public abstract class MeshBase
      return BYTES_PER_FLOAT*( 4 + numEff+TEX_COMP_SIZE*numTex + VERT1_ATTRIBS*mNumVertices + VERT2_ATTRIBS*mNumVertices );
      }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * @y.exclude
+ */
+   public int getLastVertexEff(int effComponent)
+     {
+     if( effComponent>=0 && effComponent<mTexComponent.size() )
+       {
+       return mEffComponent.get(effComponent);
+       }
+
+     return 0;
+     }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * @y.exclude
+ */
+   public int getLastVertexTex(int texComponent)
+     {
+     if( texComponent>=0 && texComponent<mTexComponent.size() )
+       {
+       return mTexComponent.get(texComponent).mEndIndex;
+       }
+
+     return 0;
+     }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // PUBLIC API
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1134,6 +1148,30 @@ public abstract class MeshBase
        }
      }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Return the number of texture components, i.e. individual subsets of the whole set of vertices
+ * which can be independently textured.
+ *
+ * @return The number of Texture Components of this Mesh.
+ */
+   public int numTexComponents()
+     {
+     return mTexComponent.size();
+     }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Return the number of 'effect' components, i.e. individual subsets of the whole set of vertices
+ * to which a VertexEffect can be addressed, independently of other vertices.
+ *
+ * @return The number of Effect Components of this Mesh.
+ */
+   public int numEffComponents()
+     {
+     return mEffComponent.size();
+     }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 /**
  * Copy the Mesh.
