spacer spacer spacer
spacer spacer spacer
spacer
NASA Logo - Jet Propulsion Laboratory    + View the NASA Portal
spacer
JPL Home Earth Solar System Stars & Galaxies Technology
ParVox Parallel Volume Rendering System
ParVox Home ../Images & Animations ParVox Document Download Source PAT Home Section 387 Division 38
spacer
spacer spacer spacer
spacer

vlcreate_volume, vlcopy_volume


NAME

    vlcreate_volume -  Create a 3-D volume data structure with multiple variables
    vlcopy_volume   - Copy an existing volume's meta information into a new volume data structure

SYNOPSIS

    #include <parvox.h>

    vlvolume* vlcreate_volume(int idim, int jdim, int kdim, int num_vars)
    vlvolume* vlcopy_volume (vlvolume *vol)


DESCRIPTION

    vlcreate_volume() creates a  new vlvolume data structure and initializes the meta information for the volume.  It takes the dimensions of the volume, idim, jdim, and kdim, and number of variables, num_vars, as the input arguments.   The information stored in vlvolume are common to all the variables for this volume, such as spacing, the relative space resolution along each dimension, the "nodata" value and color, etc...   The variable-specific meta information is stored in vlvariable data structure.  Num_vars of vlvariable will be allocated and initialized in vlcreate_volume().  The vlblock_info data structure stores the block dimension and other related information for block decomposition.  It will be filled when the volume data is filled in.

    vlcopy_volume() creates a new vlvolume data structure and copies the meta information from an existing volume, vol, to the new one.  The information of the vlvariable will not be copied from vol, instead, new vlvariable array is created and initialized to its default values.

    vlvolume, vlvariable, and vlblock_info datatypes are defined in vlvoxel.h, which is included in parvox.h.

 typedef struct volume

    {
        short      idim, jdim, kdim,     /* the dimension of the volume */
                   num_vars,             /* number of variables per voxel */
                   num_blocks,           /* number of subvolumes in this set */
                   num_time_steps,       /* Number of time steps */
                   flag;                 /* type of the data set */
        float      nodata;               /* the value for "missing data" */
        vlcolor    nodata_col;           /* the color for the missing data,
                                            default black */
        vlpoint    spacing;              /* the space ratio on each dim. */
        vlvariable *vars;                /* array of variables one for each
                                            voxel variable. */
        vlblock_info **metas;            /* the meta data for each block */

    } vlvolume;
     

   Both vlcreate_volume() and vlcopy_volume() return a pointer to the newly created vlvolume data structure.


SEE ALSO

    vlread_block, vldelete_volume


 BACK TO INDEX
spacer
spacer spacer spacer
spacer
Privacy / Copyrights FAQ Contact JPL Sitemap
spacer
spacer spacer spacer
spacer
FIRST GOV   NASA Home Page This page, http://pat.jpl.nasa.gov/public/ParVox/API/vlcreate_volume.html, is maintained by Peggy Li and was last modified Wednesday, 09-Mar-2005 16:37:40 PST
spacer
spacer spacer spacer
spacer spacer spacer
JPL NASA Caltech