Man Linux: Main Page and Category List

NAME

       vpCurrentMatrix - choose the current transformation matrix

SYNOPSIS

       #include <volpack.h>

       vpResult
       vpCurrentMatrix(vpc, option)
           vpContext *vpc;
           int option;

ARGUMENTS

       vpc    VolPack context from vpCreateContext.

       option A  code  specifying  one  of the VolPack transformation matrices
              (VP_MODEL, VP_VIEW or VP_PROJECT).

DESCRIPTION

       vpCurrentMatrix is used to choose the  current  transformation  matrix.
       The option parameter must be one of the following:

           VP_MODEL       modeling transformation
           VP_VIEW        viewing transformation
           VP_PROJECT     projection transformation

       Subsequent    calls    to    the    matrix   transformation   functions
       (vpIdentityMatrix, vpTranslate,  vpRotate,  vpScale,  vpMultMatrix  and
       vpSetMatrix) are applied to the new current transformation matrix.

       Typically   the   modeling   transformation   is   used  to  specify  a
       transformation from object coordinates to world coordinates.  In object
       coordinates  the  volume data is located inside a unit cube centered at
       the origin (corners at (-0.5, -0.5, -0.5) and (0.5,  0.5,  0.5)).   The
       default  modeling  transformation  is  the  identity,  so the volume is
       initially located inside  the  unit  cube  in  world  coordinates.   By
       default,  the  current matrix is VP_MODEL.  The modeling transformation
       is also applied to light direction vectors (see vpSetLight(3)).

       The viewing transformation is used for transforming  world  coordinates
       into  eye  coordinates.   In eye coordinates the viewer is looking down
       the Z axis in the negative direction.  The default value of the  matrix
       is also the identity, so the viewer is looking down the Z axis in world
       coordinates as well.  Typically this transformation matrix is  used  to
       specify  the location and direction of the viewer.  It is also possible
       to combine the modeling and viewing matrices (as in the OpenGL  viewing
       model),  in  which  case  you can store the composite transformation in
       either the model or the  view  matrix  set  the  other  matrix  to  the
       identity.

       The  projection  transformation  specifies  the transformation from eye
       coordinates to clip coordinates.  In the  clip  coordinate  system  the
       entire  viewing  frustum  lies inside a cube defined by the planes X=1,
       X=-1, Y=1, Y=-1, Z=1 and Z=-1.  This transformation also specifies  the
       type  of  projection  used  to  produce  a  2D  image.  The 2D image is
       computed by projecting along the Z axis in the clip  coordinate  system
       and  then  scaling  in  the X and Y dimensions to the final image size.
       The routines  vpWindow  and  vpWindowPHIGS  are  useful  for  computing
       projection transformations.

STATE VARIABLES

       The  current  transformation  matrix  code  can  be  retrieved with the
       following state variable codes (see vpGeti(3)): VP_CURRENT_MATRIX.

ERRORS

       The normal return value is VP_OK.  The following error return value  is
       possible:

       VPERROR_BAD_OPTION
              The option argument is invalid.

SEE ALSO

       VolPack(3), vpCreateContext(3), vpGetMatrix(3)