1 #ifndef SUMA_VOLUME_INCLUDED 2 #define SUMA_VOLUME_INCLUDED 3 4 typedef enum { 5 SUMA_ERR_VARIANT = -1, 6 SUMA_AX_VARIANT, 7 SUMA_SA_VARIANT, 8 SUMA_CO_VARIANT, 9 SUMA_VR_VARIANT, 10 SUMA_N_VARIANTS } SUMA_VOL_REN_VARIANTS; 11 12 13 14 SUMA_Boolean SUMA_Draw3DTextureNIDOnel( NI_element *nel, 15 SUMA_SurfaceObject *SO, 16 SUMA_DO_CoordUnits default_coord_type, 17 float *default_txcol, 18 void *default_font, int default_node, 19 SUMA_SurfaceViewer *sv) ; 20 SUMA_Boolean SUMA_VE_LoadTexture(SUMA_VolumeElement **VE, int n); 21 SUMA_Boolean SUMA_VO_InitCutPlanes(SUMA_VolumeObject *VO); 22 SUMA_Boolean SUMA_CreateGL3DTexture(SUMA_VolumeObject *VO); 23 SUMA_Boolean SUMA_Load3DTextureNIDOnel (NI_element *nel, 24 SUMA_DO_CoordUnits coordtype); 25 SUMA_Boolean SUMA_VO_set_slices_XYZ(SUMA_VolumeObject *VOu, float *xyz); 26 void SUMA_RecordEnablingState(SUMA_EnablingRecord *SER, char *Label); 27 void SUMA_RestoreEnablingState(SUMA_EnablingRecord *SER); 28 void SUMA_ShowEnablingState(SUMA_EnablingRecord *SER, FILE *out, char *preamble); 29 void SUMA_DiffEnablingState(SUMA_EnablingRecord *SERnew, 30 SUMA_EnablingRecord *SERref, FILE *out, 31 char *preamble); 32 int SUMA_CopyEnablingState(SUMA_EnablingRecord *SERnew, 33 SUMA_EnablingRecord *SERref); 34 char *SUMA_DiffEnablingState_Info(SUMA_EnablingRecord *SERnew, 35 SUMA_EnablingRecord *SERref); 36 char *SUMA_EnablingState_Info(SUMA_EnablingRecord *SER); 37 SUMA_Boolean SUMA_dset_box_corners( SUMA_DSET *dset, 38 float * corners, int voxcen); 39 void SUMA_dset_extreme_corners( SUMA_DSET *dset, 40 float * mincorner, float *maxcorner, 41 int voxcen); 42 int SUMA_dset_gui_slice_from_tex_slice_d(SUMA_VolumeElement **VE, int ive, 43 double *PlEq, int voxcen, 44 char *variant,int *slider); 45 int SUMA_dset_gui_slice_from_tex_slice(SUMA_VolumeElement **VE, int ive, 46 float *PlEq, int voxcen, 47 char *variant,int *slider); 48 int SUMA_dset_tex_slice_corners_gui(SUMA_VolumeElement **VE, int ive, 49 char *variant,int slider, 50 GLfloat *tcorners, GLfloat *corners, GLfloat *slc_cen, 51 float *PlEq, int voxcen ); 52 float* SUMA_XYZ_to_gui_slices(SUMA_VolumeElement **VE, int ive, 53 float *xyz, float *here); 54 SUMA_Boolean SUMA_GET_VR_Slice_Pack(SUMA_VolumeObject *VO, 55 SUMA_SurfaceViewer *sv); 56 SUMA_Boolean SUMA_Get_Slice_Pack(SUMA_VolumeObject *VO, 57 char *variant, SUMA_SurfaceViewer *sv); 58 void SUMA_dset_tex_slice_corners( int slc, SUMA_DSET *dset, 59 GLfloat *tcorners, GLfloat *corners, 60 GLfloat *slccen, int dim,int voxcen); 61 void SUMA_dset_tex_slice_corners_card( int slc, THD_3dim_dataset *dset, 62 GLfloat *tcorners, GLfloat *corners, int dim, 63 int voxcen); 64 int SUMA_VO_SelectedSlice(SUMA_VolumeObject *vo, char *variant, float *scorners); 65 SUMA_Boolean SUMA_SetTextureClipPlaneSurface( 66 SUMA_VolumeObject *VO, int iplane ); 67 SUMA_SurfaceObject **SUMA_TextureClipPlaneSurfaces(int *N_SOlist); 68 SUMA_VolumeObject *SUMA_VolumeObjectOfClipPlaneSurface(SUMA_SurfaceObject *SO); 69 SUMA_DSET *SUMA_adset_to_VE(SUMA_VolumeObject *VO, THD_3dim_dataset **dsetp); 70 GLubyte * SUMA_VE_to_tex3d(SUMA_VolumeElement **VE, int iVE, byte col); 71 int SUMA_MoveCutplane (SUMA_VolumeObject *VO, int iplane, float d); 72 SUMA_Boolean SUMA_SV_Mark_Textures_Status(SUMA_SurfaceViewer *sv, char *MarkAs, 73 SUMA_VolumeObject *VO, int j, 74 int callloader); 75 SUMA_Boolean SUMA_SV_isTextureLoaded(SUMA_SurfaceViewer *sv, 76 GLuint texName, int *N_tex); 77 int SUMA_Count_All_VO_Textures(void); 78 SUMA_Boolean SUMA_DrawVolumeDO(SUMA_VolumeObject *VO, SUMA_SurfaceViewer *sv); 79 SUMA_Boolean SUMA_Draw_CIFTI_DO(SUMA_CIFTI_DO *CO, 80 SUMA_SurfaceViewer *sv); 81 SUMA_Boolean SUMA_DrawVolumeDO_slices(SUMA_VolumeObject *VO, 82 SUMA_SurfaceViewer *sv); 83 SUMA_Boolean SUMA_DrawVolumeDO_3D(SUMA_VolumeObject *VO, 84 SUMA_SurfaceViewer *sv); 85 SUMA_Boolean SUMA_DrawVolumeDO_exp(SUMA_VolumeObject *VO, 86 SUMA_SurfaceViewer *sv); 87 NI_element *SUMA_3DTextureNIDOnelofVO(SUMA_VolumeObject *VO) ; 88 SUMA_VolumeObject *SUMA_VOof3DTextureNIDOnel(NI_element *nel); 89 SUMA_Boolean SUMA_Colorize_dset(SUMA_DSET *dset, 90 byte *tex3ddata, byte colopt); 91 int iPlane2Dim(int iplane); 92 int SUMA_VO_SlicesAtCrosshair(SUMA_VolumeObject *VO); 93 void SUMA_SlcCodeToVariant(SUMA_VOL_REN_VARIANTS v, char *variant); 94 SUMA_VOL_REN_VARIANTS SUMA_SlcVariantToCode(char *variant); 95 96 #endif 97