Man page - rotate(3)
Packages contains this manual
Manual
vpRotate
NAMESYNOPSIS
ARGUMENTS
DESCRIPTION
STATE VARIABLES
ERRORS
SEE ALSO
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)