Ejemplo n.º 1
0
        public static NyARSurfaceDataSet loadFromSurfaceFiles(Stream i_iset_stream, Stream i_fset_stream)
        {
            NyARNftIsetFile iset = NyARNftIsetFile.loadFromIsetFile(i_iset_stream);
            NyARNftFsetFile fset = NyARNftFsetFile.loadFromFsetFile(i_fset_stream);

            return(new NyARSurfaceDataSet(iset, fset));
        }
 /**
  * 3種類のファイルに対応した入力ストリームから、特徴データを読み出します。
  * @param i_iset_stream
  * @param i_fset_stream
  * @param i_fset3_stream
  * @param i_freak_fset_page_id
  * @param i_width_in_msec
  * NFTターゲット画像の横幅をmmで指定します。スケーリングが不要な場合はNaNを指定します。
  * @return
  */
 public static NyARNftDataSet loadFromNftFiles(Stream i_iset_stream, Stream i_fset_stream, Stream i_fset3_stream, int i_freak_fset_page_id, double i_width_in_msec)
 {
     return(new NyARNftDataSet(
                NyARNftIsetFile.loadFromIsetFile(i_iset_stream),
                NyARNftFsetFile.loadFromFsetFile(i_fset_stream),
                NyARNftFreakFsetFile.loadFromfset3File(i_fset3_stream),
                i_freak_fset_page_id, i_width_in_msec));
 }
        public static NyARNftDataSetFile loadFromNftFilePack(byte[] i_byte)
        {
            jp.nyatla.nyartoolkit.cs.cs4.BinaryReader br = new jp.nyatla.nyartoolkit.cs.cs4.BinaryReader(i_byte, jp.nyatla.nyartoolkit.cs.cs4.BinaryReader.ENDIAN_LITTLE);
            //タイプチェック
            String header = byteArray2NullTerminateStr(br.getByteArray(32));

            if (header.CompareTo(HS_NFTPACK_V1) != 0)
            {
                throw new NyARRuntimeException("Invalid header");
            }

            //Entryの取得
            int num_of_entry = br.getInt();

            if (num_of_entry != 3)
            {
                throw new NyARRuntimeException("Invalid entry size");
            }
            int[] entry_info = br.getIntArray(num_of_entry * 2);
            return(new NyARNftDataSetFile(
                       NyARNftIsetFile.loadFromIsetFile(br.getByteArray(entry_info[2 * 0 + 1]), NyARNftIsetFile.FILE_FORMAT_ARTK_V5RAW),
                       NyARNftFsetFile.loadFromFsetFile(br.getByteArray(entry_info[2 * 1 + 1])),
                       NyARNftFreakFsetFile.loadFromfset3File(br.getByteArray(entry_info[2 * 2 + 1]))));
        }