cmdlist = [
("Volume.Pvv","boundboxCommands","VLIBoundBox","""Command to add/remove a bounding box of VLI volume object."""),
("Volume.Pvv","cropCommands","CropCommand","""Command to create and define a crop box. Cropping removes parts\n     of the volume using box shapes. The crop box comprises three sets of\n     parallel planes (Xmin and Xmax, Ymin and Ymax, Zmin and Zmax)\n     that define three slabs(SlabX, SlabY and SlabZ).\n     Cropping options:\n     - Subvolume: a subvolume defined by the three slabs is displayed;\n     - Cross: a subvolume between any two pairs of orthogonal clipping\n     planes is displayed;\n     - Inverted Cross (the inverse of Cross):a fraction of the volume\n     outside of at least two pairs of orthogonal clipping planes is\n     displayed;\n     - Fence: a fraction of the volume between any pair of\n     orthogonal clipping plaines is displayed;\n     - Inverted Fence: a fraction of the volume otside of all\n     orthogonal clipping planes is displayed.\n     The crop box (CB) size can be set by using the GUI or the following\n     combination of keyboard and mouse buttons:\n     'Control' + mouse button 1, 2 or 3 are used to change the CB size\n     along X, Y and Z respectively;\n     'meta' + mouse button 3 change the CB size in all directions;\n     'meta' + button 1 moves the CB inside the volume."""),
("Volume.Pvv","cursorCommands","VLICursor","""Command to insert a hardware generated, software controlled\n     3D cursor into the volume data set being rendered. Cross-hair and\n     cross-plane types of cursor are available. The cursor type and\n     location can be set using the command input form.\n     The X,Y,Z cursor colors are red, green and blue, respectively.\n     The cursor is not visible on the volume faces(i.e. if the cursor is\n     at (0,y,z) the y, z cursor components are not visible)"""),
("Volume.Pvv","cutplaneCommands","VLICutPlane","""Command to add/remove a cut plane to/from the context.\n     The command input form allows to set the cut plane orientation\n     (plane normal vector(A,B,C)) and distance(D) from\n     the origin to the plane in world space. The cut plane is\n     defined by equation:\n            Ax + By + Cz + d >= 0.\n     The user can set the cut plane to render voxels inside or\n     outside of the slice, a fall-off distance (within which the opacity\n     falls to zero) and  thickness of the plane.\n     The thickness determins two parrallel planes and grows\n     in the direction of --D, or toward the origin in world space."""),
("Volume.Pvv","getsubvolCommands","VLISubvolume","""Commnd to get a subvolume from a displayed VLI volume object and\n    to load it in to the viewer as a separate volume. """),
("Volume.Pvv","gridToVolumeCommands","VLIGridToVolume","""Command to create a VLI volume object from autogrid data that has been\n    read by Pmv gridCommands or specified .map file, display the volume\n    or save it into a file."""),
("Volume.Pvv","lightCommands","VLILight","""Command to add, remove and change the direction of\n    one or more VLI light sources. """),
("Volume.Pvv","loadAllCommands","LoadAll","""Command to load all available Volume Viewer commands"""),
("Volume.Pvv","numarrtovolCommands","VLINumarrToVolume",""" Non-GUI command to create a volume from a 3D numeric array.\n    The numeric array values are mapped to the valid range of VLI\n    values (0 ...4095)"""),
("Volume.Pvv","showhideCommands","ShowHide","""Command to show/hide the volume object"""),
("Volume.Pvv","transferCommands","VLITransfer","""Command to edit VLI transfer function (lookup table) to map\n    the data into color and opacity values.\n    """),
("Volume.Pvv","vlioptionsCommands"," VLIOptions",""" Options include:\n    - set or clear the gradient magnitude opacity ,\n      gradient magnitude specular illumination and\n      gradient magnitude diffuse illumination modulations;\n    - set the blend mode to be used during the rendering\n      process. There are three options: front to back blending,\n      maximum intensity projection and minimum intensity projection;\n    - set rendering modes: hexagon (the volume is rendered as a flat hexagon),\n      3D (the base plane is projected onto the front faces of the volume\n      parallelepiped. This results in a more pleasing display, but does not\n      correctly embed geometry inside the volume -- all surface/volume\n      interactions are at the outside of the volume);\n    - set the supersampling factors for the rendering context\n      (the number of sample slices for each voxel slice).\n      Supersampling in the x and y directions results in more samples in the\n      base plane. Supersampling in the z direction results in more slices\n      in the viewing direction.\n      Supersampling allows a maximum of 4 additional samples between two\n      voxel slices in the X, Y and Z directions;\n      Starting with VLI version 2.0 supersampling is limited to\n      three for X and Y, and one, two or four for Z;\n    - specify the material properties used in lighting:\n      -- diffuse reflection coefficient;\n      -- specular reflection coefficient: the valid range is from\n         0.0 (no reflection) to  1.0 (maximum reflection);\n      -- emissive coefficient: the valid range is from 0.0 (no emission)\n         to 1.0 (maximum emission);\n      -- specular exponent (controls the size and brightness\n         of the specular highlight): the valid range is from 0.0 (no highlight)\n      to 128.0 (very focused highlight).\n    - turn on/off cropping using the mouse;\n    - reset the crop box;\n      The following mouse button/keyboard key bindings are available to set\n      the subvolume (crop box) size:\n      -- 'Control' + mouse button 1, 2 or 3 are used to change crop box size\n         along X, Y, Z respectively;\n      -- 'meta' + mouse button 3 changes the crop box size in all directions;\n      -- 'meta' + button 1 moves (translates) the crop box inside the volume\n         in all directions (screen coord. trranslation mode);\n      -- 'meta' + mouse button 1, 2, or 3 translates the box along volume's\n          X, Y, or Z axes respectively(object coord. translation mode).\n      The GUI consists of a set of menu buttons used to control gradients,\n      blend mode, render mode, sampling factors and mouse crop.\n      Pressing a menu button causes the associated menu (containing radio or\n      checkbuttons) to be posted under the menubutton.\n      A set of sliders is used to specify material properties."""),
("Volume.Pvv","voltransformCommands","VLITransformation","""Command to allow the user to scale and translate\n    VLI volume geometry object along X, Y and Z axes."""),
("Volume.Pvv","startPvvCommands","StartVLI","""Class to initialize a volume renderer based on VLI API."""),
("Volume.Pvv","zoomvolumeCommands","VLIZoom","""Command to zoom through a number of volume datasets.\n    GUI description:\n    A subvolume can be selected by operating with a zooming tool,\n    which can be either the crop box (select the 'crop' button) or\n    an outlined geometry box (select the 'box' button).\n    The following mouse/keyboard bindings can be used to interactevly\n    manipulate a chosen zooming tool:\n    -- 'Control' + mouse button 1, 2 or 3 are used to change the size\n         of the zooming tool along X, Y, Z respectively;\n    -- 'meta' + mouse button 3 changes the zooming tool size in all directions;\n    -- 'meta' + button 1 moves(translates) the zooming tool inside the volume\n       in all directions.\n    The maximum viewable volume size is 256 voxels in any dimension.\n    Pressing the 'Max Zoomable Box' button sets the zooming tool\n    dimensions to 256/ratio (where ratio is the resolution ratio between two\n    consequent datafiles).\n    Pressing the 'Reduce To Zoom' button reduces the zooming tool dimensions\n    exceeding the value of 256/ratio to 256/ratio.\n    Pressing the 'Zoom In' button results in acquireing a subvolume from \n    the subsequent level (a higher resolution dataset) and loading it as a new\n    volume into the viewer.\n    Pressing the 'Zoom Out' button results in loading a volume from the\n    previous level (a lower resolution dataset). The crop box or geometry\n    box will show the area that was cropped or outlined in the level\n    the zooming out was initialized from.\n    Pressing the 'Zoom To...' button pops up a new interface that allows to\n    select a zooming level.\n    The 'Show box' button makes the geometry box visible/invisible.\n    The 'All outlines' button shows the nested outlines of volumes following\n    one or more zoom-in actions.\n    The 'reset crop' and 'reset box' buttons reset the dimensions of the crop \n    and geometry boxes (respectively) to the volume dimensions.\n    """),
("Volume.Pvv","boundboxCommands","UTBoundBox","""Command to add/remove a bounding box of OpenGL based\n    ( Univ. of Texas Volume Library) volume object."""),

("Volume.Pvv","gridToVolumeCommands","UTVolRenGridToVolume","""Command to create a  OpenGL based ( Univ. of Texas Volume Library)\n    volume object from autogrid data that has been\n    read by Pmv gridCommands or specified .map file, display the volume\n    or save it into a file."""),

("Volume.Pvv","numarrtovolCommands","UTVolRenNumarrToVolume",""""""),

("Volume.Pvv","transferCommands","UTVolRenTransfer","""Command to edit transfer function (lookup table) to map\n    the data into color and opacity values ( Univ. of Texas Volume Library). \n    """),
("Volume.Pvv","vlioptionsCommands","",""""""),
("Volume.Pvv","voltransformCommands","UTVolRenTransformation","""Command to allow the user to scale and translate\n    OpenGL based ( Univ. of Texas Volume Library) volume geometry object\n    along X, Y and Z axes."""),
("Volume.Pvv","startPvvCommands","StartUTVolRen","""Class to initialize OpenGL based Volume Renderer (Univ. of Texas)."""),
("Volume.Pvv","zoomvolumeCommands","",""""""),
]
