## SIMatrix4.TransposeInverseInPlace

### Description

Sets this matrix to the transpose of the inverse of itself (if not singular): this = Transpose(this^-1)

### C# Syntax

    Int32 SIMatrix4.TransposeInverseInPlace();

### Scripting Syntax

    oBoolean = SIMatrix4.TransposeInverseInPlace();

### Return Value

Boolean True if the matrix m has been inverted (not singular); otherwise False.

### Examples

#### 1. VBScript Example

    '

    ' This example demonstrates how to transpose and invert

    ' a 4x4 matrix, store the result of the operation in

    ' the first matrix, and then trap whether the invert

    ' and transpose operation was successful.

    '

    dim m1 : set m1 = XSIMath.CreateMatrix4(_

    	2.0, 3.0, 0.0, 0.0, _

    	1.0, 4.0, 0.0, 0.0, _

    	0.0, 0.0, 1.0, 0.0, _

    	0.0, 0.0, 0.0, 1.0)

    if m1.TransposeInverseInPlace then

    	Application.LogMessage "Success :-D"

    else

    	Application.LogMessage "Failure :-("

    end if

    ' Expected result:

    ' INFO : Success :-D

#### 2. JScript Example

    /*

    	Create two cubes, the first one uses Matrix4.Set function and

    	the second uses the transpose inverse matrix of the first

    */

    NewScene(null, false);

    var oRoot = Application.ActiveProject.ActiveScene.Root;

    var oCube = oRoot.AddGeometry("Cube", "MeshSurface", "CubeOriginal");

    var oCube2 = oRoot.AddGeometry("Cube", "MeshSurface", "CubeTransposed");

    var oTrans = oCube.Kinematics.Local.Transform;

    var oTrans2 = oCube2.Kinematics.Local.Transform;

    // Change the cube shape

    var oMat4 = XSIMath.CreateMatrix4(

    	1.0, 1.0, 0.0, 10.0,

    	0.0, 1.0, 0.0, 0.0,

    	0.0, 0.0, 1.0, 0.0,

    	0.0, 0.0, 0.0, 1.0

    );

    // Original cube

    oTrans.SetMatrix4(oMat4);

    oCube.Kinematics.Local.Transform = oTrans;

    // Transpose inverse cube

    oMat4.TransposeInverseInPlace();

    oTrans2.SetMatrix4(oMat4);

    oCube2.Kinematics.Local.Transform = oTrans2;

### See Also

SIMatrix4.TransposeInverse SIVector3 SIMatrix3 SIMatrix4 SIRotation SITransformation SIQuaternion