<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.frictionalgames.com/page?action=history&amp;feed=atom&amp;title=HPL3%2FCommunity%2FScripting%2FClasses%2Fcmatrixf</id>
	<title>HPL3/Community/Scripting/Classes/cmatrixf - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.frictionalgames.com/page?action=history&amp;feed=atom&amp;title=HPL3%2FCommunity%2FScripting%2FClasses%2Fcmatrixf"/>
	<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Community/Scripting/Classes/cmatrixf&amp;action=history"/>
	<updated>2026-05-14T15:24:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Community/Scripting/Classes/cmatrixf&amp;diff=2139&amp;oldid=prev</id>
		<title>Maintenance script: Upload classes to sub</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Community/Scripting/Classes/cmatrixf&amp;diff=2139&amp;oldid=prev"/>
		<updated>2020-07-30T09:11:18Z</updated>

		<summary type="html">&lt;p&gt;Upload classes to sub&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== cMatrixf ==&lt;br /&gt;
&lt;br /&gt;
=== Constructors ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=1&lt;br /&gt;
!Constructor !!Description |&lt;br /&gt;
|-&lt;br /&gt;
| cMatrixf()  || Creates a matrix with default values. &lt;br /&gt;
|-&lt;br /&gt;
| cMatrixf(cVector4f, cVector4f, cVector4f, cVector4f)  || Creates a matrix using the given vectors as column data. &lt;br /&gt;
|-&lt;br /&gt;
| cMatrixf(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float)  || Creates a matrix using the given values as cell data. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Fields ===&lt;br /&gt;
&lt;br /&gt;
cMatrixf has no public fields.&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=1&lt;br /&gt;
!Return Type !!Function Name !!Parameters !!Description |&lt;br /&gt;
|-&lt;br /&gt;
| float  || GetElement  || uint64, &amp;lt;br /&amp;gt;uint64, &amp;lt;br /&amp;gt;const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cvector3f || cVector3f]]  || GetRight  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetRight  || const [[:hpl3:community:scripting:classes:cvector3f || cVector3f]] &amp;amp;in avVec  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cvector3f || cVector3f]]  || GetUp  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetUp  || const [[:hpl3:community:scripting:classes:cvector3f || cVector3f]] &amp;amp;in avVec  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cvector3f || cVector3f]]  || GetForward  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetForward  || const [[:hpl3:community:scripting:classes:cvector3f || cVector3f]] &amp;amp;in avVec  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cvector3f || cVector3f]]  || GetTranslation  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetTranslation  || const [[:hpl3:community:scripting:classes:cvector3f || cVector3f]] &amp;amp;in avTrans  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetRotation  || float afXX, &amp;lt;br /&amp;gt;float afXY, &amp;lt;br /&amp;gt;float afXZ, &amp;lt;br /&amp;gt;float afYX, &amp;lt;br /&amp;gt;float afYY, &amp;lt;br /&amp;gt;float afYZ, &amp;lt;br /&amp;gt;float afZX, &amp;lt;br /&amp;gt;float afZY, &amp;lt;br /&amp;gt;float afZZ  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetRotation  || const [[:hpl3:community:scripting:classes:cmatrixf || cMatrixf]] &amp;amp;in a_mtxRot  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cmatrixf || cMatrixf]]  || GetRotation  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cmatrixf || cMatrixf]]  || GetTranspose  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Constructors ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=1&lt;br /&gt;
!Constructor !!Description |&lt;br /&gt;
|-&lt;br /&gt;
| cMatrixf()  || Creates a matrix with default values. &lt;br /&gt;
|-&lt;br /&gt;
| cMatrixf(cVector4f, cVector4f, cVector4f, cVector4f)  || Creates a matrix using the given vectors as column data. &lt;br /&gt;
|-&lt;br /&gt;
| cMatrixf(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float)  || Creates a matrix using the given values as cell data. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Fields ===&lt;br /&gt;
&lt;br /&gt;
cMatrixf has no public fields.&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=1&lt;br /&gt;
!Return Type !!Function Name !!Parameters !!Description |&lt;br /&gt;
|-&lt;br /&gt;
| float  || GetElement  || uint64,  &amp;lt;br /&amp;gt;uint64,  &amp;lt;br /&amp;gt;const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cvector3f || cVector3f]]  || GetRight  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetRight  || const [[:hpl3:community:scripting:classes:cvector3f || cVector3f]] &amp;amp;in avVec  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cvector3f || cVector3f]]  || GetUp  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetUp  || const [[:hpl3:community:scripting:classes:cvector3f || cVector3f]] &amp;amp;in avVec  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cvector3f || cVector3f]]  || GetForward  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetForward  || const [[:hpl3:community:scripting:classes:cvector3f || cVector3f]] &amp;amp;in avVec  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cvector3f || cVector3f]]  || GetTranslation  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetTranslation  || const [[:hpl3:community:scripting:classes:cvector3f || cVector3f]] &amp;amp;in avTrans  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetRotation  || float afXX,  &amp;lt;br /&amp;gt;float afXY,  &amp;lt;br /&amp;gt;float afXZ,  &amp;lt;br /&amp;gt;float afYX,  &amp;lt;br /&amp;gt;float afYY,  &amp;lt;br /&amp;gt;float afYZ,  &amp;lt;br /&amp;gt;float afZX,  &amp;lt;br /&amp;gt;float afZY,  &amp;lt;br /&amp;gt;float afZZ  ||   &lt;br /&gt;
|-&lt;br /&gt;
| void  || SetRotation  || const [[:hpl3:community:scripting:classes:cmatrixf || cMatrixf]] &amp;amp;in a_mtxRot  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cmatrixf || cMatrixf]]  || GetRotation  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
| [[:hpl3:community:scripting:classes:cmatrixf || cMatrixf]]  || GetTranspose  || const  ||   &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Remarks ===&lt;br /&gt;
&lt;br /&gt;
To retrieve a value from a matrix, use the GetElement function above. The parameters for the GetElement function use the format GetElement(columnIndex, rowIndex).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;cMatrixf m1(cVector4f(0, 1, 2, 3), &lt;br /&gt;
            cVector4f(4, 5, 6, 7), &lt;br /&gt;
	    cVector4f(8, 9, 10, 11), &lt;br /&gt;
	    cVector4f(12, 13, 14, 15));&lt;br /&gt;
&lt;br /&gt;
float f = m1.GetElement(1, 2);&lt;br /&gt;
&lt;br /&gt;
'' value of f: 9&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To do matrix computations, use the [[hpl3:game:scripting:function_reference:hps_api#cmath_matrixslerp|cMath_MatrixXXX]] family of functions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;cMatrixf m1(cVector4f(1, 1, 1, 1), &lt;br /&gt;
            cVector4f(2, 2, 2, 2), &lt;br /&gt;
            cVector4f(3, 3, 3, 3), &lt;br /&gt;
            cVector4f(4, 4, 4, 4));&lt;br /&gt;
&lt;br /&gt;
cMatrixf m2(cVector4f(5, 5, 5, 5), &lt;br /&gt;
            cVector4f(6, 6, 6, 6), &lt;br /&gt;
            cVector4f(7, 7, 7, 7), &lt;br /&gt;
            cVector4f(8, 8, 8, 8));&lt;br /&gt;
            &lt;br /&gt;
cMatrixf m3 = cMath_MatrixMul(m1, m2);&lt;br /&gt;
&lt;br /&gt;
// value of m3: { 26,  26,  26,  26,&lt;br /&gt;
//                52,  52,  52,  52,&lt;br /&gt;
//                78,  78,  78,  78,&lt;br /&gt;
''                104, 104, 104, 104 }&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
		
	</entry>
</feed>