Project

General

Profile

« Previous | Next » 

Revision 54ce4c6f

Added by Leszek Koltunski over 4 years ago

Progress with the MeshFile app.

View differences:

src/main/java/org/distorted/library/mesh/MeshBase.java
783 783
     }
784 784

  
785 785
///////////////////////////////////////////////////////////////////////////////////////////////////
786
// Return the number of bytes read.
786 787

  
787
   void read(DataInputStream stream)
788
   int read(DataInputStream stream)
788 789
     {
789 790
     byte[] buffer = new byte[BYTES_PER_FLOAT*4];
790 791
     int version, numEff, numTex;
......
801 802
         mNumVertices= byteBuf.getInt(4);
802 803
         numTex      = byteBuf.getInt(8);
803 804
         numEff      = byteBuf.getInt(12);
804

  
805
    //     android.util.Log.e("mesh", "version: "+version+" vert: "+mNumVertices+" numTex: "+numTex+" numEff: "+numEff);
806 805
         }
807 806
       else
808 807
         {
809 808
         android.util.Log.e("mesh", "Error: unknown mesh file version "+String.format("0x%08X", version));
810
         return;
809
         return 0;
811 810
         }
812 811
       }
813 812
     catch(IOException e)
814 813
       {
815 814
       android.util.Log.e("mesh", "IOException1 trying to read file: "+e.toString());
816
       return;
815
       return 0;
817 816
       }
818 817

  
819 818
     if( mNumVertices>0 && numEff>0 && numTex>0 )
......
832 831
       catch(IOException e)
833 832
         {
834 833
         android.util.Log.e("mesh", "IOException2 trying to read file: "+e.toString());
835
         return;
834
         return 0;
836 835
         }
837 836

  
838

  
839 837
       ByteBuffer byteBuf = ByteBuffer.wrap(buffer);
840 838
       FloatBuffer floatBuf = byteBuf.asFloatBuffer();
841 839

  
842 840
       floatBuf.get(tmp,0,size);
843

  
844
/*
845
for(int f=0; f<size; f++)
846
  {
847
  android.util.Log.e("mesh", "tmp "+f+": "+tmp[f]);
848
  }
849
*/
850

  
851 841
       floatBuf.get(mVertAttribs1, 0, VERT1_ATTRIBS*mNumVertices);
852 842
       floatBuf.get(mVertAttribs2, 0, VERT2_ATTRIBS*mNumVertices);
853
/*
854
for(int f=0; f<mNumVertices; f++)
855
  {
856
  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]);
857
  }
858
*/
843

  
859 844
       TexComponent tex;
860 845
       int index, texComp;
861 846
       float x, y, z, w;
......
869 854
         z= tmp[TEX_COMP_SIZE*texComp+3];
870 855
         w= tmp[TEX_COMP_SIZE*texComp+4];
871 856

  
872
//android.util.Log.e("mesh", "tex comp "+texComp+" index="+index+" x="+x+" y="+y+" z="+z+" w="+w);
873

  
874 857
         tex = new TexComponent(index);
875 858
         tex.setMap(new Static4D(x,y,z,w));
876 859

  
......
881 864
         {
882 865
         index = (int)tmp[TEX_COMP_SIZE*texComp + effComp ];
883 866
         mEffComponent.add(index);
884

  
885

  
886
//android.util.Log.e("mesh", "eff comp "+effComp+" index="+index);
887

  
888 867
         }
889 868
       }
869

  
870
     return BYTES_PER_FLOAT*( 4 + numEff+TEX_COMP_SIZE*numTex + VERT1_ATTRIBS*mNumVertices + VERT2_ATTRIBS*mNumVertices );
890 871
     }
891 872

  
892 873
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/library/mesh/MeshFile.java
25 25

  
26 26
public class MeshFile extends MeshBase
27 27
{
28
   private int mBytes;
29

  
28 30
///////////////////////////////////////////////////////////////////////////////////////////////////
29 31
/**
30 32
 * Read mesh description from a file.
......
35 37
    {
36 38
    super();
37 39

  
38
    read(stream);
40
    mBytes = read(stream);
39 41
    }
40 42

  
41 43
///////////////////////////////////////////////////////////////////////////////////////////////////
......
59 61
   {
60 62
   return new MeshFile(this,deep);
61 63
   }
64

  
65
///////////////////////////////////////////////////////////////////////////////////////////////////
66
/**
67
 * Return number of bytes read from the mesh file.
68
 */
69
  public int getNumBytes()
70
    {
71
    return mBytes;
72
    }
62 73
}

Also available in: Unified diff