package dxg;

import java.util.*;
import java.nio.*;

public class MeshHeader {
    // 0x24, 頂点情報の個数
    short vertex_info_nr;

    // 0x26, 面情報の個数
    short face_info_nr;

    // 0x28, 名前リストT中の名前の数 
    int name_t_nr;

    // 0x2c, データUの個数
    int data_u_nr;

    // 0x30, 頂点座標のオフセット
    // = 頂点座標の位置 - メッシュ情報位置 - 52
    int verteces_offset;

    MeshHeader(ByteBuffer bf, ArrayList<Span> ranges) {
	ranges.add(new Span("    メッシュヘッダ",
			    bf.position(), 0x10, 1, 0x10));
	vertex_info_nr = bf.getShort();
	face_info_nr = bf.getShort();
	name_t_nr = bf.getInt();
	data_u_nr = bf.getInt();
	verteces_offset = bf.getInt();
    }

    void show(int what) {
	switch(what) {
	case Dxg.SIZES:
	    System.out.printf("  vertex_info_nr: %d\n", vertex_info_nr);
	    System.out.printf("  face_info_nr: %d\n", face_info_nr);
	    System.out.printf("  name_t_nr: %d\n", name_t_nr);
	    System.out.printf("  data_u_nr: %d\n", data_u_nr);
	    break;

	case Dxg.OFFSETS:
	    System.out.printf("  verteces_offset: %d\n", verteces_offset);
	    break;
	}
    }
}
