/** * 現在のファイルイメージをbyte[]で返却します。 * @return */ public byte[] makeFset3Binary() { jp.nyatla.nyartoolkit.cs.cs4.BinaryWriter bw = new jp.nyatla.nyartoolkit.cs.cs4.BinaryWriter(jp.nyatla.nyartoolkit.cs.cs4.BinaryWriter.ENDIAN_LITTLE, 2 * 1024 * 1024); bw.putInt(this.ref_point.Length); for (int i = 0; i < this.ref_point.Length; i++) { RefDataSet rd = this.ref_point[i]; bw.putFloat((float)rd.coord2D.x); bw.putFloat((float)rd.coord2D.y); bw.putFloat((float)rd.coord3D.x); bw.putFloat((float)rd.coord3D.y); bw.putByteArray(rd.featureVec.v); bw.putFloat((float)rd.featureVec.angle); bw.putFloat((float)rd.featureVec.scale); bw.putInt(rd.featureVec.maxima); bw.putInt(rd.pageNo); bw.putInt(rd.refImageNo); } bw.putInt(this.page_info.Length); for (int i = 0; i < this.page_info.Length; i++) { PageInfo pi = this.page_info[i]; bw.putInt(pi.page_no); bw.putInt(pi.image_info.Length); for (int j = 0; j < pi.image_info.Length; j++) { bw.putInt(pi.image_info[j].w); bw.putInt(pi.image_info[j].h); bw.putInt(pi.image_info[j].image_no); } } return(bw.getBinary()); }
public static NyARNftFreakFsetFile loadFromfset3File(byte[] i_source) { jp.nyatla.nyartoolkit.cs.cs4.BinaryReader br = new jp.nyatla.nyartoolkit.cs.cs4.BinaryReader(i_source, jp.nyatla.nyartoolkit.cs.cs4.BinaryReader.ENDIAN_LITTLE); int num = br.getInt(); RefDataSet[] rds = new RefDataSet[num]; for (int i = 0; i < num; i++) { RefDataSet rd = new RefDataSet(); rd.coord2D.x = br.getFloat(); rd.coord2D.y = br.getFloat(); rd.coord3D.x = br.getFloat(); rd.coord3D.y = br.getFloat(); br.getByteArray(rd.featureVec.v); rd.featureVec.angle = br.getFloat(); rd.featureVec.scale = br.getFloat(); rd.featureVec.maxima = br.getInt(); rd.pageNo = br.getInt(); rd.refImageNo = br.getInt(); rds[i] = rd; } int page_num = br.getInt(); PageInfo[] kpi = new PageInfo[page_num]; for (int i = 0; i < page_num; i++) { int page_no = br.getInt(); int img_num = br.getInt(); ImageInfo[] kii = new ImageInfo[img_num]; for (int i2 = 0; i2 < img_num; i2++) { kii[i2] = new ImageInfo(br.getInt(), br.getInt(), br.getInt()); } kpi[i] = new PageInfo(page_no, kii); } return(new NyARNftFreakFsetFile(rds, kpi)); }