Man Linux: Main Page and Category List

NAME

       vpRotate  -  multiply  the  current transformation matrix by a rotation
       matrix

SYNOPSIS

       #include <volpack.h>

       vpResult
       vpRotate(vpc, axis, degrees)
           vpContext *vpc;
           int axis;
           double degrees;

ARGUMENTS

       vpc    VolPack context from vpCreateContext.

       axis   Rotation axis code (VP_X_AXIS, VP_Y_AXIS or VP_Z_AXIS).

       degrees
              Number of degrees to rotate.

DESCRIPTION

       vpRotate is used to multiply the current  transformation  matrix  by  a
       4-by-4  rotation  matrix.   The  rotation axis must be one of the three
       principal viewing axes and is  specified  with  one  of  the  following
       codes: VP_X_AXIS      X axis
       VP_Y_AXIS      Y axis
       VP_Z_AXIS      Z axis

       The rotation angle is specified in degrees.  A positive angle indicates
       a clockwise rotation when looking towards the positive direction  along
       the axis.  For an X-axis rotation, the rotation matrix is:

               1       0       0       0
               0    cos(d)  sin(d)     0
               0    -sin(d) cos(d)     0
               0       0       0       1

       where  d  stands  for the degrees argument.  For a Y-axis rotation, the
       rotation matrix is:

            cos(d)     0    -sin(d)    0
               0       1       0       0
            sin(d)     0    cos(d)     0
               0       0       0       1

       For a Z-axis rotation, the rotation matrix is:

            cos(d)  sin(d)     0       0
            -sin(d) cos(d)     0       0
               0       0       1       0
               0       0       0       1

       Use vpCurrentMatrix to  set  the  current  transformation  matrix.   By
       default, the rotation matrix is post-multiplied (M = M*R where M is the
       current matrix and R  is  the  rotation  matrix).   The  VP_CONCAT_MODE
       option to vpSeti can be used to select pre-multiplication.

STATE VARIABLES

       The  current  matrix concatenation parameters can be retrieved with the
       following state  variable  codes  (see  vpGeti(3)):  VP_CURRENT_MATRIX,
       VP_CONCAT_MODE.

ERRORS

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

       VPERROR_BAD_OPTION
              The axis argument is invalid.

SEE ALSO

       VolPack(3), vpCreateContext(3), vpCurrentMatrix(3)