oracular (3) CurrentMatrix.3.gz

Provided by: libvolpack1-dev_1.0b3-10_amd64 bug

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)