Skip to content

AFNI/NIfTI Server

Sections
Personal tools
You are here: Home » AFNI » Documentation

Doxygen Source Code Documentation


Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search  

cox_render.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002    Major portions of this software are copyrighted by the Medical College
00003    of Wisconsin, 1994-2000, and are released under the Gnu General Public
00004    License, Version 2.  See the file README.Copyright for details.
00005 ******************************************************************************/
00006    
00007 #ifndef _COX_RENDER_HEADER_
00008 #define _COX_RENDER_HEADER_
00009 
00010 #include "mrilib.h"
00011 
00012 /*============================================================================
00013   CREN = COX Renderer, a set of routines for volume rendering 3D bricks.
00014 ==============================================================================*/
00015 
00016 /*--- prototypes ---*/
00017 
00018 extern void * new_CREN_renderer(void) ;
00019 extern void   destroy_CREN_renderer( void * ) ;
00020 
00021 extern void        CREN_set_viewpoint  ( void *, int,float,int,float,int,float );
00022 extern void        CREN_set_rotaxes    ( void *, int,int,int ) ;
00023 extern void        CREN_set_angles     ( void *, float,float,float ) ;
00024 extern void        CREN_set_databytes  ( void *, int,int,int , byte * ) ;
00025 extern void        CREN_set_min_opacity( void *, float ) ;
00026 extern void        CREN_set_rgbmap     ( void *, int, byte *, byte *, byte * ) ;
00027 extern void        CREN_set_opamap     ( void *, float * , float ) ;
00028 extern void        CREN_set_render_mode( void *, int ) ;
00029 extern void        CREN_set_skewmat    ( void *, THD_mat33 ) ;
00030 extern void        CREN_set_axes       ( void *, int,int,int , float,float,float ) ;
00031 extern void        CREN_dset_axes      ( void *, THD_3dim_dataset *) ;
00032 extern void        CREN_set_interp     ( void *, int ) ;
00033 extern int         CREN_needs_data     ( void * ) ;
00034 extern MRI_IMAGE * CREN_render         ( void *, THD_mat33 * ) ;
00035 
00036 /*---------------------------*/
00037 
00038 #define CREN_TYPE 9808423
00039 
00040 #define CREN_SUM_VOX   0
00041 #define CREN_MIP_VOX   1
00042 #define CREN_MIP_OPA   2
00043 
00044 #define CREN_LAST_MODE 2
00045 
00046 #define CREN_NN        0
00047 #define CREN_TWOSTEP   1
00048 #define CREN_LINEAR    2
00049 
00050 typedef struct {
00051    int type ;
00052 
00053    int   nx,ny,nz ;
00054    float dx,dy,dz ;
00055 
00056    byte * vox ;
00057    Tmask * vtm ;
00058 
00059    int nrgb ;
00060    byte rmap[128] , gmap[128] , bmap[128] , imap[128] ;
00061    float opamap[128] , opargb , min_opacity ;
00062 
00063    int   ax1,ax2,ax3 ; /* to be compatible with plug_render.c: */
00064    float th1,th2,th3 ; /* ax1=A ax2=R ax3=I, th1=yaw th2=pitch th3=roll */
00065 
00066    THD_mat33 skewmat ;
00067 
00068    int newvox , newopa , newangles ;
00069    int renmode , intmode ;
00070    int vox_is_gray ;
00071 } CREN_stuff ;
00072 
00073 #define ISVALID_CREN(ah) ( (ah) != NULL && (ah)->type == CREN_TYPE )
00074 
00075 #endif /* _COX_RENDER_HEADER_ */
 

Powered by Plone

This site conforms to the following standards: