v5.1
この変換の値の SIMatrix4 表現を設定したり、戻したりします(行列は自動的に作成されます)。
// get accessor SIMatrix4 rtn = ISITransformation.Matrix4; // set accessor ISITransformation.Matrix4 = SIMatrix4; |
/* This example demonstrates how to use the Matrix4 property to return the matrix representation of the transformation as an SIMatrix4 (without having to explicitly create it first) as well as how to set new values for the transformation using a 4x4 matrix. */ var t1 = XSIMath.CreateTransform(); // The Matrix4 property takes care of creating oMat4 as an SIMatrix4 of the transformation var oMat4 = t1.Matrix4; // Now set some values on the matrix and then save it back onto the transformation oMat4.Set(4.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0); t1.Matrix4 = oMat4; // Get a new matrix var oMat4Dest = t1.Matrix4; vbArr = new VBArray( oMat4Dest.Get2() ); jsArr = vbArr.toArray(); // Display Matrix var lineSize = 4; Application.LogMessage( "The 16 matrix values" ); for ( i=0; i<lineSize; i++ ) { var mgsString = ""; for ( j=0; j<lineSize; j++ ) { mgsString += "m" + i + "" + j + " " + jsArr[ i*lineSize + j ] + " "; } Application.LogMessage ( mgsString ); } // Expected results: //INFO : The 16 matrix values //INFO : m00 4 m01 0 m02 0 m03 0 //INFO : m10 0 m11 3 m12 0 m13 0 //INFO : m20 0 m21 0 m22 2 m23 0 //INFO : m30 0 m31 0 m32 0 m33 1 |