UF_MTX2_copy (view source)
 
Defined in: uf_mtx.h
 
Overview
Copies the 2x2 matrix elements from the source matrix to the
destination matrix

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX2_copy
(
const double mtx_src [ 4 ] ,
double mtx_dst [ 4 ]
)
const doublemtx_src [ 4 ] InputSource matrix
doublemtx_dst [ 4 ] OutputDestination matrix mtx_dst = mtx_src

 


 
UF_MTX2_determinant (view source)
 
Defined in: uf_mtx.h
 
Overview
Calculates the determinant of a 2 x 2 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX2_determinant
(
const double mtx [ 4 ] ,
double * determinant
)
const doublemtx [ 4 ] InputMatrix whose determinant in required
double *determinantOutputMatrix determinant

 


 
UF_MTX2_identity (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 2 x 2 identity matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX2_identity
(
double identity_mtx [ 4 ]
)
doubleidentity_mtx [ 4 ] OutputIdentity matrix

 


 
UF_MTX2_initialize (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a matrix formed from two input vectors.

Return
Return value:
0 = Success (vectors define a valid matrix)
1 = Matrix cannot be defined

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MTX2_initialize
(
const double x_vec [ 2 ] ,
const double y_vec [ 2 ] ,
double mtx [ 4 ]
)
const doublex_vec [ 2 ] InputVector for the X-direction of matrix
const doubley_vec [ 2 ] InputVector for the Y-direction of matrix
doublemtx [ 4 ] OutputMatrix

 


 
UF_MTX2_multiply (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 2x2 matrix product from two input matrices.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX2_multiply
(
const double mtx1 [ 4 ] ,
const double mtx2 [ 4 ] ,
double mtx_product [ 4 ]
)
const doublemtx1 [ 4 ] InputMatrix #1
const doublemtx2 [ 4 ] InputMatrix #2
doublemtx_product [ 4 ] OutputMatrix product
mtx_product = mtx1 X mtx2

 


 
UF_MTX2_multiply_t (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 2x2 matrix product by transposing matrix #1 before
performing the multiplication.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX2_multiply_t
(
const double mtx1 [ 4 ] ,
const double mtx2 [ 4 ] ,
double mtx_product [ 4 ]
)
const doublemtx1 [ 4 ] InputMatrix #1 gets transposed before the
multiplication.
const doublemtx2 [ 4 ] InputMatrix #2
doublemtx_product [ 4 ] OutputMatrix product
mtx_product = Transpose of mtx1 X mtx2

 


 
UF_MTX2_transpose (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the transpose of a 2x2 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX2_transpose
(
const double mtx [ 4 ] ,
double transpose_mtx [ 4 ]
)
const doublemtx [ 4 ] InputMatrix to transpose
doubletranspose_mtx [ 4 ] OutputTranspose of the input matrix

 


 
UF_MTX2_vec_multiply (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 2D vector which is the product of a 2D vector and a 2x2
matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX2_vec_multiply
(
const double vec [ 2 ] ,
const double mtx [ 4 ] ,
double vec_product [ 2 ]
)
const doublevec [ 2 ] InputVector to multiply
const doublemtx [ 4 ] InputMatrix to multiply
doublevec_product [ 2 ] OutputProduct (a vector)
vec_product = vec X mtx

 


 
UF_MTX2_vec_multiply_t (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 2D vector which is the product of a 2D vector and a
transposed 2x2 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX2_vec_multiply_t
(
const double vec [ 2 ] ,
const double mtx [ 4 ] ,
double vec_product [ 2 ]
)
const doublevec [ 2 ] InputVector to multiply
const doublemtx [ 4 ] InputMatrix to transpose and multiply
doublevec_product [ 2 ] OutputProduct (a vector)
vec_product = vec X transpose of mtx

 


 
UF_MTX2_x_vec (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the X-direction vector of a 2x2 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX2_x_vec
(
const double mtx [ 4 ] ,
double x_vec [ 2 ]
)
const doublemtx [ 4 ] InputMatrix whose X-direction is required
doublex_vec [ 2 ] OutputX-direction vector of the matrix

 


 
UF_MTX2_y_vec (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the Y-direction vector of a 2x2 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX2_y_vec
(
const double mtx [ 4 ] ,
double y_vec [ 2 ]
)
const doublemtx [ 4 ] InputMatrix whose Y-direction is required
doubley_vec [ 2 ] OutputY-direction vector of the matrix

 


 
UF_MTX3_copy (view source)
 
Defined in: uf_mtx.h
 
Overview
Copies the matrix elements from a source 3x3 matrix to a destination 3x3
matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_copy
(
const double mtx_src [ 9 ] ,
double mtx_dst [ 9 ]
)
const doublemtx_src [ 9 ] InputSource matrix
doublemtx_dst [ 9 ] OutputDestination matrix

 


 
UF_MTX3_determinant (view source)
 
Defined in: uf_mtx.h
 
Overview
Calculates the determinant of a 3 x 3 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_determinant
(
const double mtx [ 9 ] ,
double * determinant
)
const doublemtx [ 9 ] InputMatrix whose determinant in required
double *determinantOutputMatrix determinant

 


 
UF_MTX3_identity (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 3 x 3 identity matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_identity
(
double identity_mtx [ 9 ]
)
doubleidentity_mtx [ 9 ] OutputIdentity Matrix

 


 
UF_MTX3_initialize (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 3x3 matrix formed from two input 3D vectors. The two
input vectors are normalized and the y-direction vector is made
orthogonal to the x-direction vector before taking the cross product
(x_vec X y_vec) to generate the z-direction vector.

Return
Return value:
0 = Success (vectors define a valid matrix)
1 = Matrix cannot be defined

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MTX3_initialize
(
const double x_vec [ 3 ] ,
const double y_vec [ 3 ] ,
double mtx [ 9 ]
)
const doublex_vec [ 3 ] InputVector for the X-direction of matrix
const doubley_vec [ 3 ] InputVector for the Y-direction of matrix
doublemtx [ 9 ] OutputMatrix

 


 
UF_MTX3_initialize_x (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 3x3 matrix with the given X-direction vector and having
arbitrary Y- and Z-direction vectors.

Return
Returns 0 if the input vector is nonzero; returns 1
otherwise.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MTX3_initialize_x
(
const double x_vec [ 3 ] ,
double mtx [ 9 ]
)
const doublex_vec [ 3 ] InputVector for the X-direction of matrix
doublemtx [ 9 ] OutputMatrix (3x3)

 


 
UF_MTX3_initialize_z (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 3x3 matrix with the given Z-direction vector and having
arbitrary X- and Y-direction vectors.

Return
Returns 0 if the input vector is nonzero;
returns 1 otherwise.

Environment
Internal and External
 
Required License(s)
gateway

 
int UF_MTX3_initialize_z
(
const double z_vec [ 3 ] ,
double mtx [ 9 ]
)
const doublez_vec [ 3 ] InputVector for the Z-direction of matrix
doublemtx [ 9 ] OutputMatrix (3x3)

 


 
UF_MTX3_mtx4 (view source)
 
Defined in: uf_mtx.h
 
Overview
Converts a 3D matrix to a 4D matrix with a scale of 1.0 and a zero
translation vector.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_mtx4
(
const double mtx_3D [ 9 ] ,
double mtx_4D [ 16 ]
)
const doublemtx_3D [ 9 ] Input3D matrix
doublemtx_4D [ 16 ] Output4D matrix

 


 
UF_MTX3_multiply (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 3x3 matrix product from two input matrices.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_multiply
(
const double mtx1 [ 9 ] ,
const double mtx2 [ 9 ] ,
double mtx_product [ 9 ]
)
const doublemtx1 [ 9 ] InputMatrix #1
const doublemtx2 [ 9 ] InputMatrix #2
doublemtx_product [ 9 ] OutputMatrix product
mtx_product = mtx1 X mtx2

 


 
UF_MTX3_multiply_t (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 3x3 matrix product by transposing the first matrix before
performing the multiplication.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_multiply_t
(
const double mtx1 [ 9 ] ,
const double mtx2 [ 9 ] ,
double mtx_product [ 9 ]
)
const doublemtx1 [ 9 ] InputMatrix #1 gets transposed before the multiplication.
const doublemtx2 [ 9 ] InputMatrix #2
doublemtx_product [ 9 ] OutputMatrix product
mtx_product = trns(mtx1) X mtx2

 


 
UF_MTX3_ortho_normalize (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 3x3 matrix whose direction vectors are orthogonal and of
unit length.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_ortho_normalize
(
double mtx [ 9 ]
)
doublemtx [ 9 ] Input / OutputMatrix to be ortho-normalized. (Input)
Ortho-normalized matrix. (Output)

 


 
UF_MTX3_rotate_about_axis (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 3x3 rotation matrix about an axis and through a specified
angle of rotation.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_rotate_about_axis
(
const double rotation_axis [ 3 ] ,
double rotation_angle,
double mtx [ 9 ]
)
const doublerotation_axis [ 3 ] InputVector of the rotation axis
doublerotation_angleInputAngle of the rotation (in radians)
doublemtx [ 9 ] OutputRotation Matrix

 


 
UF_MTX3_transpose (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the transpose of a 3x3 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_transpose
(
const double mtx [ 9 ] ,
double transpose_mtx [ 9 ]
)
const doublemtx [ 9 ] InputMatrix to transpose
doubletranspose_mtx [ 9 ] OutputTransposed matrix
transpose_mtx = trns(mtx)

 


 
UF_MTX3_vec_multiply (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a vector which is the product of a 3D vector and a 3x3 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_vec_multiply
(
const double vec [ 3 ] ,
const double mtx [ 9 ] ,
double vec_product [ 3 ]
)
const doublevec [ 3 ] InputVector to multiply
const doublemtx [ 9 ] InputMatrix to multiply
doublevec_product [ 3 ] OutputProduct (a vector)
vec_product = vec X mtx

 


 
UF_MTX3_vec_multiply_t (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a vector which is the product of a 3D vector and a transposed
3x3 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_vec_multiply_t
(
const double vec [ 3 ] ,
const double mtx [ 9 ] ,
double vec_product [ 3 ]
)
const doublevec [ 3 ] InputVector to multiply
const doublemtx [ 9 ] InputMatrix to transpose and multiply
doublevec_product [ 3 ] OutputProduct (a vector)
vec_product = vec X trns(mtx)

 


 
UF_MTX3_x_vec (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the X-direction vector of a matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_x_vec
(
const double mtx [ 9 ] ,
double x_vec [ 3 ]
)
const doublemtx [ 9 ] Input3x3 Matrix whose X-direction is required
doublex_vec [ 3 ] OutputX-direction vector of the matrix

 


 
UF_MTX3_y_vec (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the Y-direction vector of a 3x3 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_y_vec
(
const double mtx [ 9 ] ,
double y_vec [ 3 ]
)
const doublemtx [ 9 ] InputMatrix whose Y-direction is required
doubley_vec [ 3 ] OutputY-direction vector of the matrix

 


 
UF_MTX3_z_vec (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the Z-direction vector of a 3x3 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX3_z_vec
(
const double mtx [ 9 ] ,
double z_vec [ 3 ]
)
const doublemtx [ 9 ] InputMatrix whose Z-direction is required
doublez_vec [ 3 ] OutputZ-direction vector of the matrix

 


 
UF_MTX4_ask_rotation (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the 3x3 rotation matrix of a 4x4 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_ask_rotation
(
const double mtx_4D [ 16 ] ,
double mtx_3D [ 9 ]
)
const doublemtx_4D [ 16 ] Input4x4 matrix whose rotation is required
doublemtx_3D [ 9 ] Output3x3 rotation matrix of the 4x4 matrix

 


 
UF_MTX4_ask_scale (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the scale factor of a 4x4 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_ask_scale
(
const double mtx [ 16 ] ,
double * scale
)
const doublemtx [ 16 ] InputMatrix whose scale is required.
double *scaleOutputScale factor of the matrix

 


 
UF_MTX4_ask_translation (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the translation vector of a 4x4 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_ask_translation
(
const double mtx [ 16 ] ,
double translate_vec [ 3 ]
)
const doublemtx [ 16 ] InputMatrix whose translation is required.
doubletranslate_vec [ 3 ] OutputTranslation vector of the matrix

 


 
UF_MTX4_copy (view source)
 
Defined in: uf_mtx.h
 
Overview
Copies 4x4 matrix elements from the source matrix to the destination
matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_copy
(
const double mtx_src [ 16 ] ,
double mtx_dst [ 16 ]
)
const doublemtx_src [ 16 ] InputSource matrix
doublemtx_dst [ 16 ] OutputDestination matrix
mtx_dst = mtx_src

 


 
UF_MTX4_csys_to_csys (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the matrix which can be used to map from one csys to another.

Environment
Internal and External

See Also
Refer to example

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MTX4_csys_to_csys
(
const double from_origin [ 3 ] ,
const double from_x_axis [ 3 ] ,
const double from_y_axis [ 3 ] ,
const double to_origin [ 3 ] ,
const double to_x_axis [ 3 ] ,
const double to_y_axis [ 3 ] ,
double mtx [ 16 ]
)
const doublefrom_origin [ 3 ] Inputorigin of csys to map from
const doublefrom_x_axis [ 3 ] Inputx axis of csys to map from
const doublefrom_y_axis [ 3 ] Inputy axis of csys to map from
const doubleto_origin [ 3 ] Inputorigin of csys to map to
const doubleto_x_axis [ 3 ] Inputx axis of csys to map to
const doubleto_y_axis [ 3 ] Inputy axis of csys to map to
doublemtx [ 16 ] OutputReturned matrix that can be used to
tranform objects

 


 
UF_MTX4_edit_rotation (view source)
 
Defined in: uf_mtx.h
 
Overview
Edits the 3x3 rotation matrix of a 4 x 4 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_edit_rotation
(
double mtx_4D [ 16 ] ,
const double mtx_3D [ 9 ]
)
doublemtx_4D [ 16 ] Input / Output4x4 matrix whose rotation is to be edited. (Input)
4x4 with an edited 3x3 rotation matrix. (Output)
const doublemtx_3D [ 9 ] Input3x3 rotation matrix to use as replacement in 4x4
matrix.

 


 
UF_MTX4_edit_scale (view source)
 
Defined in: uf_mtx.h
 
Overview
Edits the scale factor of a 4 x 4 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_edit_scale
(
double mtx [ 16 ] ,
double scale
)
doublemtx [ 16 ] Input / Output4x4 matrix whose scale is to be edited. (Input)
4x4 with an edited scale factor. (Output)
doublescaleInputScale factor to use as replacement in 4x4 matrix.

 


 
UF_MTX4_edit_translation (view source)
 
Defined in: uf_mtx.h
 
Overview
Edits the translation vector of a 4 x 4 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_edit_translation
(
double mtx [ 16 ] ,
const double translate_vec [ 3 ]
)
doublemtx [ 16 ] Input / Output4x4 matrix whose translation is to be edited. (Input)
4x4 with an edited translation vector. (Output)
const doubletranslate_vec [ 3 ] InputTranslation vector to use as replacement in 4x4
matrix.

 


 
UF_MTX4_identity (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 4 x 4 identity matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_identity
(
double identity_mtx [ 16 ]
)
doubleidentity_mtx [ 16 ] OutputIdentity Matrix

 


 
UF_MTX4_initialize (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the 4x4 matrix formed from a 3x3 rotation matrix, a 3D
translation vector, and a scale factor.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_initialize
(
double scale,
const double translation_vec [ 3 ] ,
const double mtx_3D [ 9 ] ,
double mtx_4D [ 16 ]
)
doublescaleInputScale factor
const doubletranslation_vec [ 3 ] InputTranslation vector
const doublemtx_3D [ 9 ] Input3x3 rotation matrix
doublemtx_4D [ 16 ] Output4x4 matrix

 


 
UF_MTX4_invert (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the matrix which is the invert of the input one

Return
Return value:
0 = Success (inverted matrix created)
n = Matrix not defined

Environment
Internal and External

History
Originally released in V18.0
 
Required License(s)
gateway

 
int UF_MTX4_invert
(
const double mtx_in [ 16 ] ,
double mtx_out [ 16 ]
)
const doublemtx_in [ 16 ] InputInput matrix
doublemtx_out [ 16 ] OutputReturned inverted matrix

 


 
UF_MTX4_mirror (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the matrix which can be used to mirror about a plane

Environment
Internal and External

See Also
Refer to example

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MTX4_mirror
(
const double origin [ 3 ] ,
const double normal [ 3 ] ,
double mtx [ 16 ]
)
const doubleorigin [ 3 ] InputThe origin of the plane.
const doublenormal [ 3 ] InputThe plane normal
doublemtx [ 16 ] OutputReturned matrix that can be used to
tranform objects

 


 
UF_MTX4_multiply (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 4x4 matrix product from two input matrices.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_multiply
(
const double mtx1 [ 16 ] ,
const double mtx2 [ 16 ] ,
double mtx_product [ 16 ]
)
const doublemtx1 [ 16 ] InputMatrix #1
const doublemtx2 [ 16 ] InputMatrix #2
doublemtx_product [ 16 ] OutputMatrix product
mtx_product = mtx1 X mtx2

 


 
UF_MTX4_multiply_t (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 4x4 matrix product by transposing the first matrix before
performing the multiplication.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_multiply_t
(
const double mtx1 [ 16 ] ,
const double mtx2 [ 16 ] ,
double mtx_product [ 16 ]
)
const doublemtx1 [ 16 ] InputMatrix #1 gets transposed before the
multiplication.
const doublemtx2 [ 16 ] InputMatrix #2
doublemtx_product [ 16 ] OutputMatrix product
mtx_product = trns(mtx1) X mtx2

 


 
UF_MTX4_ortho_normalize (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 4x4 matrix whose direction vectors are orthogonal and of
unit length.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_ortho_normalize
(
double mtx [ 16 ]
)
doublemtx [ 16 ] Input / OutputMatrix to be ortho-normalized. (Input)
Ortho-normalized matrix. (Output)

 


 
UF_MTX4_rotation (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the matrix which can be used to rotate about a point

Environment
Internal and External

See Also
Refer to example

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MTX4_rotation
(
const double rotation_point [ 3 ] ,
const double rotation_axis [ 3 ] ,
const double angle,
double mtx [ 16 ]
)
const doublerotation_point [ 3 ] InputPoint about which the rotation is to
be performed.
const doublerotation_axis [ 3 ] InputAxis about which rotation to occur.
const doubleangleInputrotation angle in degrees
doublemtx [ 16 ] Outputreturned matrix that can be used to
tranform objects

 


 
UF_MTX4_scaling (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the matrix using scaling and invariant point information.

Environment
Internal and External

See Also
Refer to example

History
Originally released in V16.0
 
Required License(s)
gateway

 
int UF_MTX4_scaling
(
const double invariant_point [ 3 ] ,
const double scale [ 3 ] ,
double mtx [ 16 ]
)
const doubleinvariant_point [ 3 ] InputPoint which will be invariant to the
scaling, in other words the center
point of the scale operation.
const doublescale [ 3 ] Inputscaling in x, y, z directions
doublemtx [ 16 ] Outputreturned matrix that can be used to
tranform objects

 


 
UF_MTX4_transpose (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the transpose of a 4x4 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_transpose
(
const double mtx [ 16 ] ,
double transpose_mtx [ 16 ]
)
const doublemtx [ 16 ] InputMatrix to transpose
doubletranspose_mtx [ 16 ] OutputTransposed matrix
transpose_mtx = trns(mtx)

 


 
UF_MTX4_vec3_multiply (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 3D vector which is the product of a 3D vector and a 4x4
matrix. The 3D vector is treated as a 4D vector with a weight of 1.0.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_vec3_multiply
(
const double vec [ 3 ] ,
const double mtx [ 16 ] ,
double vec_product [ 3 ]
)
const doublevec [ 3 ] InputVector to multiply
const doublemtx [ 16 ] InputMatrix to multiply
doublevec_product [ 3 ] OutputProduct (a vector)
vec_product = vec X mtx

 


 
UF_MTX4_vec3_multiply_t (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 3D vector which is the product of a 3D vector and the
transpose of a 4x4 matrix. During the multiplication, the 3D vector is
treated as a 4D vector with a weight of 1.0.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_vec3_multiply_t
(
const double vec [ 3 ] ,
const double mtx [ 16 ] ,
double vec_product [ 3 ]
)
const doublevec [ 3 ] InputVector to multiply
const doublemtx [ 16 ] InputMatrix to multiply
doublevec_product [ 3 ] OutputProduct (a vector)
vec_product = vec X trns(mtx)

 


 
UF_MTX4_vec_multiply (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a 4D vector which is the product of a 4D vector and a 4x4
matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_vec_multiply
(
const double vec [ 4 ] ,
const double mtx [ 16 ] ,
double vec_product [ 4 ]
)
const doublevec [ 4 ] InputVector to multiply
const doublemtx [ 16 ] InputMatrix to multiply
doublevec_product [ 4 ] OutputProduct (a vector)
vec_product = vec X mtx

 


 
UF_MTX4_vec_multiply_t (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns a vector which is the product of a 4D vector and a transposed
matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_vec_multiply_t
(
const double vec [ 4 ] ,
const double mtx [ 16 ] ,
double vec_product [ 4 ]
)
const doublevec [ 4 ] InputVector to multiply
const doublemtx [ 16 ] InputMatrix to transpose and multiply
doublevec_product [ 4 ] OutputProduct (a vector)
vec_product = vec X trns(mtx)

 


 
UF_MTX4_x_vec (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the X-direction vector of the 3x3 rotation of a 4x4 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_x_vec
(
const double mtx [ 16 ] ,
double x_vec [ 3 ]
)
const doublemtx [ 16 ] Input4x4 Matrix whose X-direction is required
doublex_vec [ 3 ] OutputX-direction vector of the matrix

 


 
UF_MTX4_y_vec (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the Y-direction vector of the 3x3 rotation of a 4x4 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_y_vec
(
const double mtx [ 16 ] ,
double y_vec [ 3 ]
)
const doublemtx [ 16 ] Input4x4 matrix whose Y-direction is required
doubley_vec [ 3 ] OutputY-direction vector of the matrix

 


 
UF_MTX4_z_vec (view source)
 
Defined in: uf_mtx.h
 
Overview
Returns the Z-direction vector of the 3x3 rotation of a 4x4 matrix.

Return
void

Environment
Internal and External
 
Required License(s)
gateway

 
void UF_MTX4_z_vec
(
const double mtx [ 16 ] ,
double z_vec [ 3 ]
)
const doublemtx [ 16 ] InputMatrix whose Z-direction is required
doublez_vec [ 3 ] OutputZ-direction vector of the matrix