    

 ## On this page

  

 

 # OpenTD.Matrix3d Class Reference

 Last update: 16.07.2025 

A 4x4 matrix. [More...](#details)

Inheritance diagram for OpenTD.Matrix3d:

 ![](/sites/default/files/migrate-content/opentd_net4_reference_2025_r2_1/class_open_t_d_1_1_matrix3d.png)



## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

 [Matrix3d](#a9e353d0687b17ae4fdd8f447efb41952) ()  [Matrix3d](#a2f2b9c3b831e2f734d6dd526c49dda12) ([Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) x) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetToZero](#af157fdcd0675cf6b3cfdae0aa9f66321) (bool noCheck=false) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetToIdentity](#acab70defd4edde80fe6f222cd629243e) (bool noCheck=false) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetFrom](#aa3cb9f2509bbb1a01819e6eb8e8170cd) ([Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) m) [Point3d](class_open_t_d_1_1_point3d.xhtml) [GetOrigin](#ac4daca755c59c50d69db77c0b1550acc) () [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetOrigin](#a3d2f3ccc633ed8f16dcf8226a9e60ffe) ([Point3d](class_open_t_d_1_1_point3d.xhtml) value) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetCoordSystem](#af423db7e1fd307f00254a99402fe1488) ([Point3d](class_open_t_d_1_1_point3d.xhtml) origin, [Vector3d](class_open_t_d_1_1_vector3d.xhtml) x, [Vector3d](class_open_t_d_1_1_vector3d.xhtml) y, [Vector3d](class_open_t_d_1_1_vector3d.xhtml) z) void [GetCoordSystem](#ac36d02021f5fa2cd8c683225b59ab364) ([Point3d](class_open_t_d_1_1_point3d.xhtml) origin, [Vector3d](class_open_t_d_1_1_vector3d.xhtml) x, [Vector3d](class_open_t_d_1_1_vector3d.xhtml) y, [Vector3d](class_open_t_d_1_1_vector3d.xhtml) z) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [PostMultBy](#a715023f457e2a24caec57ad47cfbd904) ([Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) m) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetToRotX](#aface0602df3a382cf30c4558ffb972a4) (Dimensional&lt; [Angle](class_open_t_d_1_1_dimension_1_1_angle.xhtml) &gt; ang) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetToRotY](#a7cc0ee3c6190bc8bd90dd4efd4bd354e) (Dimensional&lt; [Angle](class_open_t_d_1_1_dimension_1_1_angle.xhtml) &gt; ang) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetToRotZ](#a0de39c6a643725c2e9d9c8c09f070b2c) (Dimensional&lt; [Angle](class_open_t_d_1_1_dimension_1_1_angle.xhtml) &gt; ang) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [Inverse](#a3b65a159fd374d645bb312bd1762e0d2) () [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [Invert](#a891629aedd7b1393aefd9a713de08bc3) () [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetToRotation](#a33031cbdffaa1b153bc7c65034c519da) (Dimensional&lt; [Angle](class_open_t_d_1_1_dimension_1_1_angle.xhtml) &gt; ang, [Vector3d](class_open_t_d_1_1_vector3d.xhtml) \_axis, [Point3d](class_open_t_d_1_1_point3d.xhtml) center) override string [ToString](#a3d381147afe89690422d61e7857ab81a) () ## <a id="pub-static-methods" name="pub-static-methods"></a>Static Public Member Functions

static [Vector3d](class_open_t_d_1_1_vector3d.xhtml) [operator\*](#ac627153adcba99a9efc659bcecd6749e) ([Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) m, [Vector3d](class_open_t_d_1_1_vector3d.xhtml) v) static [Point3d](class_open_t_d_1_1_point3d.xhtml) [operator\*](#ae1a3488994ff7d68cbacf176bf45db50) ([Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) m, [Point3d](class_open_t_d_1_1_point3d.xhtml) p) static [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [operator\*](#acfe0d90f2bbbfc36fa8a61a47713323c) ([Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) a, [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) b) ## <a id="properties" name="properties"></a>Properties

double\[\]\[\] [entry](#ad112de77b9d1fd383e711f84ed8f936c)` [get, set]` <a id="details" name="details"></a>## Detailed Description

A 4x4 matrix.



## Constructor &amp; Destructor Documentation

<a id="a9e353d0687b17ae4fdd8f447efb41952" name="a9e353d0687b17ae4fdd8f447efb41952"></a>## [◆ ](#a9e353d0687b17ae4fdd8f447efb41952)Matrix3d() \[1/2\]

 OpenTD.Matrix3d.Matrix3d  ( )   inline 





<a id="a2f2b9c3b831e2f734d6dd526c49dda12" name="a2f2b9c3b831e2f734d6dd526c49dda12"></a>## [◆ ](#a2f2b9c3b831e2f734d6dd526c49dda12)Matrix3d() \[2/2\]

 OpenTD.Matrix3d.Matrix3d  ( [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) *x*)   inline 





## Member Function Documentation

<a id="ac36d02021f5fa2cd8c683225b59ab364" name="ac36d02021f5fa2cd8c683225b59ab364"></a>## [◆ ](#ac36d02021f5fa2cd8c683225b59ab364)GetCoordSystem()

 void OpenTD.Matrix3d.GetCoordSystem  ( [Point3d](class_open_t_d_1_1_point3d.xhtml) *origin*,    [Vector3d](class_open_t_d_1_1_vector3d.xhtml) *x*,    [Vector3d](class_open_t_d_1_1_vector3d.xhtml) *y*,    [Vector3d](class_open_t_d_1_1_vector3d.xhtml) *z* )  inline 





<a id="ac4daca755c59c50d69db77c0b1550acc" name="ac4daca755c59c50d69db77c0b1550acc"></a>## [◆ ](#ac4daca755c59c50d69db77c0b1550acc)GetOrigin()

 [Point3d](class_open_t_d_1_1_point3d.xhtml) OpenTD.Matrix3d.GetOrigin  ( )   inline 





<a id="a3b65a159fd374d645bb312bd1762e0d2" name="a3b65a159fd374d645bb312bd1762e0d2"></a>## [◆ ](#a3b65a159fd374d645bb312bd1762e0d2)Inverse()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.Inverse  ( )   inline 





<a id="a891629aedd7b1393aefd9a713de08bc3" name="a891629aedd7b1393aefd9a713de08bc3"></a>## [◆ ](#a891629aedd7b1393aefd9a713de08bc3)Invert()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.Invert  ( )   inline 





<a id="acfe0d90f2bbbfc36fa8a61a47713323c" name="acfe0d90f2bbbfc36fa8a61a47713323c"></a>## [◆ ](#acfe0d90f2bbbfc36fa8a61a47713323c)operator\*() \[1/3\]

 static [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.operator\*  ( [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) *a*,    [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) *b* )  inlinestatic 





<a id="ae1a3488994ff7d68cbacf176bf45db50" name="ae1a3488994ff7d68cbacf176bf45db50"></a>## [◆ ](#ae1a3488994ff7d68cbacf176bf45db50)operator\*() \[2/3\]

 static [Point3d](class_open_t_d_1_1_point3d.xhtml) OpenTD.Matrix3d.operator\*  ( [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) *m*,    [Point3d](class_open_t_d_1_1_point3d.xhtml) *p* )  inlinestatic 





<a id="ac627153adcba99a9efc659bcecd6749e" name="ac627153adcba99a9efc659bcecd6749e"></a>## [◆ ](#ac627153adcba99a9efc659bcecd6749e)operator\*() \[3/3\]

 static [Vector3d](class_open_t_d_1_1_vector3d.xhtml) OpenTD.Matrix3d.operator\*  ( [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) *m*,    [Vector3d](class_open_t_d_1_1_vector3d.xhtml) *v* )  inlinestatic 





<a id="a715023f457e2a24caec57ad47cfbd904" name="a715023f457e2a24caec57ad47cfbd904"></a>## [◆ ](#a715023f457e2a24caec57ad47cfbd904)PostMultBy()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.PostMultBy  ( [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) *m*)   inline 





<a id="af423db7e1fd307f00254a99402fe1488" name="af423db7e1fd307f00254a99402fe1488"></a>## [◆ ](#af423db7e1fd307f00254a99402fe1488)SetCoordSystem()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.SetCoordSystem  ( [Point3d](class_open_t_d_1_1_point3d.xhtml) *origin*,    [Vector3d](class_open_t_d_1_1_vector3d.xhtml) *x*,    [Vector3d](class_open_t_d_1_1_vector3d.xhtml) *y*,    [Vector3d](class_open_t_d_1_1_vector3d.xhtml) *z* )  inline 





<a id="aa3cb9f2509bbb1a01819e6eb8e8170cd" name="aa3cb9f2509bbb1a01819e6eb8e8170cd"></a>## [◆ ](#aa3cb9f2509bbb1a01819e6eb8e8170cd)SetFrom()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.SetFrom  ( [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) *m*)   inline 





<a id="a3d2f3ccc633ed8f16dcf8226a9e60ffe" name="a3d2f3ccc633ed8f16dcf8226a9e60ffe"></a>## [◆ ](#a3d2f3ccc633ed8f16dcf8226a9e60ffe)SetOrigin()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.SetOrigin  ( [Point3d](class_open_t_d_1_1_point3d.xhtml) *value*)   inline 





<a id="acab70defd4edde80fe6f222cd629243e" name="acab70defd4edde80fe6f222cd629243e"></a>## [◆ ](#acab70defd4edde80fe6f222cd629243e)SetToIdentity()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.SetToIdentity  ( bool *noCheck* = false)   inline 





<a id="a33031cbdffaa1b153bc7c65034c519da" name="a33031cbdffaa1b153bc7c65034c519da"></a>## [◆ ](#a33031cbdffaa1b153bc7c65034c519da)SetToRotation()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.SetToRotation  ( Dimensional&lt; [Angle](class_open_t_d_1_1_dimension_1_1_angle.xhtml) &gt; *ang*,    [Vector3d](class_open_t_d_1_1_vector3d.xhtml) *\_axis*,    [Point3d](class_open_t_d_1_1_point3d.xhtml) *center* )  inline 





<a id="aface0602df3a382cf30c4558ffb972a4" name="aface0602df3a382cf30c4558ffb972a4"></a>## [◆ ](#aface0602df3a382cf30c4558ffb972a4)SetToRotX()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.SetToRotX  ( Dimensional&lt; [Angle](class_open_t_d_1_1_dimension_1_1_angle.xhtml) &gt; *ang*)   inline 





<a id="a7cc0ee3c6190bc8bd90dd4efd4bd354e" name="a7cc0ee3c6190bc8bd90dd4efd4bd354e"></a>## [◆ ](#a7cc0ee3c6190bc8bd90dd4efd4bd354e)SetToRotY()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.SetToRotY  ( Dimensional&lt; [Angle](class_open_t_d_1_1_dimension_1_1_angle.xhtml) &gt; *ang*)   inline 





<a id="a0de39c6a643725c2e9d9c8c09f070b2c" name="a0de39c6a643725c2e9d9c8c09f070b2c"></a>## [◆ ](#a0de39c6a643725c2e9d9c8c09f070b2c)SetToRotZ()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.SetToRotZ  ( Dimensional&lt; [Angle](class_open_t_d_1_1_dimension_1_1_angle.xhtml) &gt; *ang*)   inline 





<a id="af157fdcd0675cf6b3cfdae0aa9f66321" name="af157fdcd0675cf6b3cfdae0aa9f66321"></a>## [◆ ](#af157fdcd0675cf6b3cfdae0aa9f66321)SetToZero()

 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) OpenTD.Matrix3d.SetToZero  ( bool *noCheck* = false)   inline 





<a id="a3d381147afe89690422d61e7857ab81a" name="a3d381147afe89690422d61e7857ab81a"></a>## [◆ ](#a3d381147afe89690422d61e7857ab81a)ToString()

 override string OpenTD.Matrix3d.ToString  ( )   inline 





## Property Documentation

<a id="ad112de77b9d1fd383e711f84ed8f936c" name="ad112de77b9d1fd383e711f84ed8f936c"></a>## [◆ ](#ad112de77b9d1fd383e711f84ed8f936c)entry

 double \[\]\[\] OpenTD.Matrix3d.entry  getset 





---

The documentation for this class was generated from the following file:- C:/Users/mgarrett/source/repos/BuildsTdSuite/builds/TDDEV\_ALPHA/buildXX/OpenTD/**Matrix3d.cs**