Doxygen Source Code Documentation
thd_tmask.c File Reference
#include "mrilib.h"
Go to the source code of this file.
Functions | |
void | free_Tmask (Tmask *tm) |
Tmask * | create_Tmask_byte (int nx, int ny, int nz, byte *vol) |
Tmask * | create_Tmask_rgba (int nx, int ny, int nz, rgba *vol) |
Function Documentation
|
Definition at line 23 of file thd_tmask.c. References calloc, malloc, Tmask::mask, Tmask::nmask, nz, TM_IXY, TM_IYZ, and TM_IZX. Referenced by CREN_render().
00024 { 00025 Tmask * tm ; 00026 int ii,jj,kk,vv , nxy,nyz,nzx ; 00027 byte * bz , *xym,*yzm,*zxm , *bxy,*byz,*bzx ; 00028 00029 tm = (Tmask *) malloc(sizeof(Tmask)) ; 00030 tm->nmask[TM_IXY] = nxy = nx*ny ; 00031 tm->nmask[TM_IYZ] = nyz = ny*nz ; 00032 tm->nmask[TM_IZX] = nzx = nz*nx ; 00033 00034 tm->mask[TM_IXY] = xym = (byte *) calloc(1,sizeof(byte)*nxy) ; 00035 tm->mask[TM_IYZ] = yzm = (byte *) calloc(1,sizeof(byte)*nyz) ; 00036 tm->mask[TM_IZX] = zxm = (byte *) calloc(1,sizeof(byte)*nzx) ; 00037 00038 for( byz=yzm,kk=0 ; kk < nz ; kk++,byz+=ny ){ 00039 bz = vol + kk*nxy ; 00040 for( bxy=xym,jj=0 ; jj < ny ; jj++,bz+=nx,bxy+=nx ){ 00041 for( bzx=zxm,ii=0 ; ii < nx ; ii++,bzx+=nz ){ 00042 if( bz[ii] ){ bxy[ii] = byz[jj] = bzx[kk] = 1 ; } 00043 } 00044 } 00045 } 00046 00047 return tm ; 00048 } |
|
Definition at line 52 of file thd_tmask.c. References rgba::a, calloc, malloc, Tmask::mask, Tmask::nmask, nz, TM_IXY, TM_IYZ, and TM_IZX.
00053 { 00054 Tmask *tm ; 00055 int ii,jj,kk,vv , nxy,nyz,nzx ; 00056 byte *xym,*yzm,*zxm , *bxy,*byz,*bzx ; 00057 rgba *bz ; 00058 00059 tm = (Tmask *) malloc(sizeof(Tmask)) ; 00060 tm->nmask[TM_IXY] = nxy = nx*ny ; 00061 tm->nmask[TM_IYZ] = nyz = ny*nz ; 00062 tm->nmask[TM_IZX] = nzx = nz*nx ; 00063 00064 tm->mask[TM_IXY] = xym = (byte *) calloc(1,sizeof(byte)*nxy) ; 00065 tm->mask[TM_IYZ] = yzm = (byte *) calloc(1,sizeof(byte)*nyz) ; 00066 tm->mask[TM_IZX] = zxm = (byte *) calloc(1,sizeof(byte)*nzx) ; 00067 00068 for( byz=yzm,kk=0 ; kk < nz ; kk++,byz+=ny ){ 00069 bz = vol + kk*nxy ; 00070 for( bxy=xym,jj=0 ; jj < ny ; jj++,bz+=nx,bxy+=nx ){ 00071 for( bzx=zxm,ii=0 ; ii < nx ; ii++,bzx+=nz ){ 00072 if( bz[ii].a ){ bxy[ii] = byz[jj] = bzx[kk] = 1 ; } 00073 } 00074 } 00075 } 00076 00077 return tm ; 00078 } |
|
Definition at line 13 of file thd_tmask.c. References free, and Tmask::mask. Referenced by CREN_render(), CREN_set_databytes(), and destroy_CREN_renderer().
|