Functions | |
void | Append_Modelling_Matrix (const float *array) |
Allows direct manipulation of the matrix transform applied against all picture elements and subsegments in a segment. More... | |
void | DAppend_Modelling_Matrix (const double *array) |
Similar to Append_Modelling_Matrix(), but accepts double-precision data. More... | |
void Append_Modelling_Matrix | ( | const float * | array | ) |
Allows direct manipulation of the matrix transform applied against all picture elements and subsegments in a segment.
array | - Transform matrix provided by the user. Passed by reference in all languages. May need to be transposed in languages other than C. |
Appends the explicitly provided transformation to the cumulative modelling transform of the currently open segment, or to the named segment(s). The visual effect is that of the scene as it was, then this change. (The old array is multiplied on the left by this new array.)
Use this routine only if your program organizes and keeps track of the net transformations applied to your objects.
The array should be stored so the column varies faster than the row as you proceed through consecutive memory locations. In C and Pascal, the first index of the array is usually the row index and the second index is the column.
If there was no previous transform, this operation becomes a plain Set_Modelling_Matrix() .
The first, second, and third rows of the fourth column of array must be zero—no "perspective" transformation is allowed. The fourth row of the fourth column is usually 1.0 (it must not be zero.)
void DAppend_Modelling_Matrix | ( | const double * | array | ) |
Similar to Append_Modelling_Matrix(), but accepts double-precision data.
array | - Transform matrix provided by the user. Passed by reference in all languages. May need to be transposed in languages other than C. |