ファイルヘッダー部
typedef struct VOXELHEADER { // Ver 0.1 int vxType; // int 4byte "VXL\0" 0x004C5856 int vxSize; // int 4byte ファイル全体の大きさ[byte] int vxOffByte; // int 4byte ファイルの先頭からVoxelデータまでのオフセット(Byte) int vxLatitude; // int 4byte 1 Voxelの横 int vxLongitude; // int 4byte 1 Voxelの縦 int vxAltitude; // int 4byte 1 Voxel の高さ int vxBitCount; // int 4byte 1 Voxelのデータを表現するビット数 int vxSizeImage; // int 4byte Voxelデータのバイト数 lx*ly*lz*sizeof(VOXEL) } VOXELHEADER ;
※ vxBitCount が 12 で、vxLatitude, vxLongitude, vxAltitude が 10、vxSizeImage が 4,000 の場合
1 voxel は、4バイト【 4,000/(10x10x10) 】で構成されていおり、32ビット(4バイト)中の下位 12ビットを
使用して、ボクセル毎のデータが格納されている。
上位20ビットの値は不定だが、ビットがクリア (0) されていることを強く推奨する。
vxBitCount がマイナス(例、-12) の場合は、ビッグエンディアンでデータが格納されている
|