    

 ## On this page

  

 

 # OpenTD.UCS Class Reference

 Last update: 16.07.2025 

Client-side representation of the AutoCAD User Coordinate System. Implements [OpenTD.Matrix3d](class_open_t_d_1_1_matrix3d.xhtml "A 4x4 matrix.") Implements [OpenTD.IUpdatable](interface_open_t_d_1_1_i_updatable.xhtml "Contains methods to send and receive data from a corresponding object in a TD instance.") [More...](#details)

Inheritance diagram for OpenTD.UCS:

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



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

void [Update](#a927a6524ade65f340a626334c9714234) () Updates the TD entity with the latest client data.   
 void [UpdateFromTD](#a74afacdf7f865ef40cd9996905642c8b) () Updates the client-side instance with the latest data from the TD entity.   
 [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetToZero](class_open_t_d_1_1_matrix3d.xhtml#af157fdcd0675cf6b3cfdae0aa9f66321) (bool noCheck=false) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetToIdentity](class_open_t_d_1_1_matrix3d.xhtml#acab70defd4edde80fe6f222cd629243e) (bool noCheck=false) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetFrom](class_open_t_d_1_1_matrix3d.xhtml#aa3cb9f2509bbb1a01819e6eb8e8170cd) ([Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) m) [Point3d](class_open_t_d_1_1_point3d.xhtml) [GetOrigin](class_open_t_d_1_1_matrix3d.xhtml#ac4daca755c59c50d69db77c0b1550acc) () [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetOrigin](class_open_t_d_1_1_matrix3d.xhtml#a3d2f3ccc633ed8f16dcf8226a9e60ffe) ([Point3d](class_open_t_d_1_1_point3d.xhtml) value) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetCoordSystem](class_open_t_d_1_1_matrix3d.xhtml#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](class_open_t_d_1_1_matrix3d.xhtml#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](class_open_t_d_1_1_matrix3d.xhtml#a715023f457e2a24caec57ad47cfbd904) ([Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) m) [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetToRotX](class_open_t_d_1_1_matrix3d.xhtml#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](class_open_t_d_1_1_matrix3d.xhtml#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](class_open_t_d_1_1_matrix3d.xhtml#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](class_open_t_d_1_1_matrix3d.xhtml#a3b65a159fd374d645bb312bd1762e0d2) () [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [Invert](class_open_t_d_1_1_matrix3d.xhtml#a891629aedd7b1393aefd9a713de08bc3) () [Matrix3d](class_open_t_d_1_1_matrix3d.xhtml) [SetToRotation](class_open_t_d_1_1_matrix3d.xhtml#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](class_open_t_d_1_1_matrix3d.xhtml#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\*](class_open_t_d_1_1_matrix3d.xhtml#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\*](class_open_t_d_1_1_matrix3d.xhtml#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\*](class_open_t_d_1_1_matrix3d.xhtml#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](class_open_t_d_1_1_matrix3d.xhtml#ad112de77b9d1fd383e711f84ed8f936c)` [get, set]` <a id="details" name="details"></a>## Detailed Description

Client-side representation of the AutoCAD User Coordinate System. Implements [OpenTD.Matrix3d](class_open_t_d_1_1_matrix3d.xhtml "A 4x4 matrix.") Implements [OpenTD.IUpdatable](interface_open_t_d_1_1_i_updatable.xhtml "Contains methods to send and receive data from a corresponding object in a TD instance.")

See also[OpenTD.Matrix3d](class_open_t_d_1_1_matrix3d.xhtml "A 4x4 matrix."), [OpenTD.IUpdatable](interface_open_t_d_1_1_i_updatable.xhtml "Contains methods to send and receive data from a corresponding object in a TD instance.")

## 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* )  inlineinherited 





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

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





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

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





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

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





<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* )  inlinestaticinherited 





<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* )  inlinestaticinherited 





<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* )  inlinestaticinherited 





<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*)   inlineinherited 





<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* )  inlineinherited 





<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*)   inlineinherited 





<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*)   inlineinherited 





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

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





<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* )  inlineinherited 





<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*)   inlineinherited 





<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*)   inlineinherited 





<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*)   inlineinherited 





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

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





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

 override string OpenTD.Matrix3d.ToString  ( )   inlineinherited 





<a id="a927a6524ade65f340a626334c9714234" name="a927a6524ade65f340a626334c9714234"></a>## [◆ ](#a927a6524ade65f340a626334c9714234)Update()

 void OpenTD.UCS.Update  ( )   inline 

Updates the TD entity with the latest client data.

Implements [OpenTD.IUpdatable](interface_open_t_d_1_1_i_updatable.xhtml#a162ef7c717f51047a1d45c7df4282470).





<a id="a74afacdf7f865ef40cd9996905642c8b" name="a74afacdf7f865ef40cd9996905642c8b"></a>## [◆ ](#a74afacdf7f865ef40cd9996905642c8b)UpdateFromTD()

 void OpenTD.UCS.UpdateFromTD  ( )   inline 

Updates the client-side instance with the latest data from the TD entity.

Implements [OpenTD.IUpdatable](interface_open_t_d_1_1_i_updatable.xhtml#a47f3096415cfb5694fd822df8a1eceb0).





## Property Documentation

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

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





---

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