logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

vpRotate - multiply the current transformation matrix by a rotation matrix

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.

Errors

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

       VPERROR_BAD_OPTION
              The axis argument is invalid.

Name

       vpRotate - multiply the current transformation matrix by a rotation matrix

See Also

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

VolPack                                                                                              vpRotate(3)

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.

Synopsis

       #include <volpack.h>

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

See Also