DOKK / manpages / debian 12 / libvolpack1-dev / Scale.3.en
vpScale(3) Library Functions Manual vpScale(3)

vpScale - multiply the current transformation matrix by a scaling matrix

#include <volpack.h>

vpResult

vpScale(vpc, sx, sy, sz)

vpContext *vpc;
double sx
double sy
double sz

VolPack context from vpCreateContext.
Scale factor for the X dimension.
Scale factor for the Y dimension.
Scale factor for the Z dimension.

vpScale is used to multiply the current transformation matrix by a 4-by-4 scaling matrix. The arguments specify independent scale factors for each of the three cartesian axes. The scaling matrix is:

sx 0 0 0
0 sy 0 0
0 0 sz 0
0 0 0 1

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

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

The return value is always VP_OK.

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

VolPack