UNPKG

starling-framework

Version:

A fast, productive library for 2D cross-platform development.

868 lines 60.7 kB
<!doctype html> <html class="default no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>MatrixUtil | starling-framework</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="../assets/css/main.css"> </head> <body> <header> <div class="tsd-page-toolbar"> <div class="container"> <div class="table-wrap"> <div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base=".."> <div class="field"> <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <input id="tsd-search-field" type="text" /> </div> <ul class="results"> <li class="state loading">Preparing search index...</li> <li class="state failure">The search index is not available</li> </ul> <a href="../index.html" class="title">starling-framework</a> </div> <div class="table-cell" id="tsd-widgets"> <div id="tsd-filter"> <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <div class="tsd-filter-group"> <div class="tsd-select" id="tsd-filter-visibility"> <span class="tsd-select-label">All</span> <ul class="tsd-select-list"> <li data-value="public">Public</li> <li data-value="protected">Public/Protected</li> <li data-value="private" class="selected">All</li> </ul> </div> <input type="checkbox" id="tsd-filter-inherited" checked /> <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label> <input type="checkbox" id="tsd-filter-externals" checked /> <label class="tsd-widget" for="tsd-filter-externals">Externals</label> <input type="checkbox" id="tsd-filter-only-exported" /> <label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label> </div> </div> <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a> </div> </div> </div> </div> <div class="tsd-page-title"> <div class="container"> <ul class="tsd-breadcrumb"> <li> <a href="../index.html">starling</a> </li> <li> <a href="../modules/starling.utils.html">utils</a> </li> <li> <a href="starling.utils.matrixutil.html">MatrixUtil</a> </li> </ul> <h1>Class MatrixUtil</h1> </div> </div> </header> <div class="container container-main"> <div class="row"> <div class="col-8 col-content"> <section class="tsd-panel tsd-comment"> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A utility class containing methods related to the Matrix class.</p> </div> </div> </section> <section class="tsd-panel tsd-hierarchy"> <h3>Hierarchy</h3> <ul class="tsd-hierarchy"> <li> <span class="target">MatrixUtil</span> </li> </ul> </section> <section class="tsd-panel-group tsd-index-group"> <h2>Index</h2> <section class="tsd-panel tsd-index-panel"> <div class="tsd-index-content"> <section class="tsd-index-section tsd-is-external"> <h3>Methods</h3> <ul class="tsd-index-list"> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#convertto2d" class="tsd-kind-icon">convert<wbr>To2D</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#convertto3d" class="tsd-kind-icon">convert<wbr>To3D</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#createorthographicprojectionmatrix" class="tsd-kind-icon">create<wbr>Orthographic<wbr>Projection<wbr>Matrix</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#createperspectiveprojectionmatrix" class="tsd-kind-icon">create<wbr>Perspective<wbr>Projection<wbr>Matrix</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#isidentity" class="tsd-kind-icon">is<wbr>Identity</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#isidentity3d" class="tsd-kind-icon">is<wbr>Identity3D</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#prependmatrix" class="tsd-kind-icon">prepend<wbr>Matrix</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#prependrotation" class="tsd-kind-icon">prepend<wbr>Rotation</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#prependscale" class="tsd-kind-icon">prepend<wbr>Scale</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#prependskew" class="tsd-kind-icon">prepend<wbr>Skew</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#prependtranslation" class="tsd-kind-icon">prepend<wbr>Translation</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#skew" class="tsd-kind-icon">skew</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#snaptopixels" class="tsd-kind-icon">snap<wbr>ToPixels</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#tostring" class="tsd-kind-icon">to<wbr>String</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#tostring3d" class="tsd-kind-icon">to<wbr>String3D</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#transformcoords" class="tsd-kind-icon">transform<wbr>Coords</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#transformcoords3d" class="tsd-kind-icon">transform<wbr>Coords3D</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#transformpoint" class="tsd-kind-icon">transform<wbr>Point</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"><a href="starling.utils.matrixutil.html#transformpoint3d" class="tsd-kind-icon">transform<wbr>Point3D</a></li> </ul> </section> </div> </section> </section> <section class="tsd-panel-group tsd-member-group tsd-is-external"> <h2>Methods</h2> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="convertto2d" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> convert<wbr>To2D</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">convert<wbr>To2D<span class="tsd-signature-symbol">(</span>matrix3D<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix3D</span>, out<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Matrix</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L19">lib/starling/utils/MatrixUtil.d.ts:19</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Converts a 3D matrix to a 2D matrix. Beware that this will work only for a 3D matrix describing a pure 2D transformation.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix3D: <span class="tsd-signature-type">Matrix3D</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> out: <span class="tsd-signature-type">Matrix</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Matrix</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="convertto3d" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> convert<wbr>To3D</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">convert<wbr>To3D<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, out<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Matrix3D</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix3D</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L15">lib/starling/utils/MatrixUtil.d.ts:15</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Converts a 2D matrix to a 3D matrix. If you pass an <code>out</code>-matrix, the result will be stored in this matrix instead of creating a new object.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> out: <span class="tsd-signature-type">Matrix3D</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Matrix3D</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="createorthographicprojectionmatrix" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> create<wbr>Orthographic<wbr>Projection<wbr>Matrix</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">create<wbr>Orthographic<wbr>Projection<wbr>Matrix<span class="tsd-signature-symbol">(</span>x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, width<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, height<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, out<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Matrix</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L114">lib/starling/utils/MatrixUtil.d.ts:114</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Creates a orthographic projection matrix suitable for 2D rendering.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>x: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>y: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>width: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>height: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> out: <span class="tsd-signature-type">Matrix</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Matrix</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="createperspectiveprojectionmatrix" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> create<wbr>Perspective<wbr>Projection<wbr>Matrix</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">create<wbr>Perspective<wbr>Projection<wbr>Matrix<span class="tsd-signature-symbol">(</span>x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, width<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, height<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, stageWidth<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span>, stageHeight<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span>, cameraPos<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Vector3D</span>, out<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Matrix3D</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix3D</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L108">lib/starling/utils/MatrixUtil.d.ts:108</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Creates a perspective projection matrix suitable for 2D and 3D rendering.</p> </div> <p>The first 4 parameters define which area of the stage you want to view (the camera will &#39;zoom&#39; to exactly this region). The final 3 parameters determine the perspective in which you&#39;re looking at the stage.</p> <p>The stage is always on the rectangle that is spawned up between x- and y-axis (with the given size). All objects that are exactly on that rectangle (z equals zero) will be rendered in their true size, without any distortion.</p> <p>If you pass only the first 4 parameters, the camera will be set up above the center of the stage, with a field of view of 1.0 rad.</p> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>x: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>y: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>width: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>height: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> stageWidth: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> stageHeight: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> cameraPos: <span class="tsd-signature-type">Vector3D</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> out: <span class="tsd-signature-type">Matrix3D</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Matrix3D</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="isidentity" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> is<wbr>Identity</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">is<wbr>Identity<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L22">lib/starling/utils/MatrixUtil.d.ts:22</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Determines if the matrix is an identity matrix.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="isidentity3d" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> is<wbr>Identity3D</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">is<wbr>Identity3D<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix3D</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L25">lib/starling/utils/MatrixUtil.d.ts:25</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Determines if the 3D matrix is an identity matrix.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix3D</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="prependmatrix" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> prepend<wbr>Matrix</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">prepend<wbr>Matrix<span class="tsd-signature-symbol">(</span>base<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, prep<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L58">lib/starling/utils/MatrixUtil.d.ts:58</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Prepends a matrix to &#39;base&#39; by multiplying it with another matrix.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>base: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5>prep: <span class="tsd-signature-type">Matrix</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="prependrotation" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> prepend<wbr>Rotation</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">prepend<wbr>Rotation<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, angle<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L67">lib/starling/utils/MatrixUtil.d.ts:67</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Prepends an incremental rotation to a Matrix object (angle in radians).</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5>angle: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="prependscale" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> prepend<wbr>Scale</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">prepend<wbr>Scale<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, sx<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, sy<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L64">lib/starling/utils/MatrixUtil.d.ts:64</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Prepends an incremental scale change to a Matrix object.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5>sx: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>sy: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="prependskew" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> prepend<wbr>Skew</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">prepend<wbr>Skew<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, skewX<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, skewY<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L77">lib/starling/utils/MatrixUtil.d.ts:77</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Prepends a skew transformation to a Matrix object (angles in radians). The skew matrix has the following form:</p> <pre> | cos(skewY) -sin(skewX) 0 | | sin(skewY) cos(skewX) 0 | | 0 0 1 | </pre> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5>skewX: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>skewY: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="prependtranslation" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> prepend<wbr>Translation</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">prepend<wbr>Translation<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, tx<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, ty<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L61">lib/starling/utils/MatrixUtil.d.ts:61</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Prepends an incremental translation to a Matrix object.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5>tx: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>ty: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="skew" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> skew</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">skew<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, skewX<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, skewY<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L55">lib/starling/utils/MatrixUtil.d.ts:55</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Appends a skew transformation to a matrix (angles in radians). The skew matrix has the following form:</p> <pre> | cos(skewY) -sin(skewX) 0 | | sin(skewY) cos(skewX) 0 | | 0 0 1 | </pre> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5>skewX: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>skewY: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="snaptopixels" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> snap<wbr>ToPixels</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">snap<wbr>ToPixels<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, pixelSize<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L93">lib/starling/utils/MatrixUtil.d.ts:93</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Updates the given matrix so that it points exactly to pixel boundaries. This works only if the object is unscaled and rotated by a multiple of 90 degrees.</p> </div> <p> @param matrix The matrix to manipulate in place (normally the modelview matrix). @param pixelSize The size (in points) that represents one pixel in the back buffer.</p> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5>pixelSize: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="tostring" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> to<wbr>String</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">to<wbr>String<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, precision<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L85">lib/starling/utils/MatrixUtil.d.ts:85</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Converts a Matrix instance to a String, which is useful when debugging.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> precision: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="tostring3d" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> to<wbr>String3D</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">to<wbr>String3D<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix3D</span>, transpose<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span>, precision<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L81">lib/starling/utils/MatrixUtil.d.ts:81</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Converts a Matrix3D instance to a String, which is useful when debugging. Per default, the raw data is displayed transposed, so that the columns are displayed vertically.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix3D</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> transpose: <span class="tsd-signature-type">boolean</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> precision: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="transformcoords" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> transform<wbr>Coords</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">transform<wbr>Coords<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, out<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Point</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Point</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L38">lib/starling/utils/MatrixUtil.d.ts:38</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Uses a matrix to transform 2D coordinates into a different space. If you pass an <code>out</code>-point, the result will be stored in this point instead of creating a new object.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5>x: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>y: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> out: <span class="tsd-signature-type">Point</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Point</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="transformcoords3d" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> transform<wbr>Coords3D</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">transform<wbr>Coords3D<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix3D</span>, x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, z<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, out<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Vector3D</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Vector3D</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L44">lib/starling/utils/MatrixUtil.d.ts:44</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Uses a matrix to transform 3D coordinates into a different space. If you pass a &#39;resultVector&#39;, the result will be stored in this vector3D instead of creating a new object.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix3D</span></h5> </li> <li> <h5>x: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>y: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>z: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> out: <span class="tsd-signature-type">Vector3D</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Vector3D</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="transformpoint" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> transform<wbr>Point</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">transform<wbr>Point<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix</span>, point<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Point</span>, out<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Point</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Point</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L28">lib/starling/utils/MatrixUtil.d.ts:28</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Transform a point with the given matrix.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix</span></h5> </li> <li> <h5>point: <span class="tsd-signature-type">Point</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> out: <span class="tsd-signature-type">Point</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Point</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <a name="transformpoint3d" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagStatic">Static</span> transform<wbr>Point3D</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static tsd-is-external"> <li class="tsd-signature tsd-kind-icon">transform<wbr>Point3D<span class="tsd-signature-symbol">(</span>matrix<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Matrix3D</span>, point<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Vector3D</span>, out<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Vector3D</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Vector3D</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/utils/MatrixUtil.d.ts#L32">lib/starling/utils/MatrixUtil.d.ts:32</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Transforms a 3D point with the given matrix.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>matrix: <span class="tsd-signature-type">Matrix3D</span></h5> </li> <li> <h5>point: <span class="tsd-signature-type">Vector3D</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> out: <span class="tsd-signature-type">Vector3D</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Vector3D</span></h4> </li> </ul> </section> </section> </div> <div class="col-4 col-menu menu-sticky-wrap menu-highlight"> <nav class="tsd-navigation primary"> <ul> <li class="label tsd-is-external"> <span>Externals</span> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.animation.html">starling.animation</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.assets.html">starling.assets</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.core.html">starling.core</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.display.html">starling.display</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.errors.html">starling.errors</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.events.html">starling.events</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.extensions.html">starling.extensions</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.filters.html">starling.filters</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.geom.html">starling.geom</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.rendering.html">starling.rendering</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.styles.html">starling.styles</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.text.html">starling.text</a> </li> <li class=" tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.textures.html">starling.textures</a> </li> <li class="current tsd-kind-module tsd-parent-kind-module tsd-is-external"> <a href="../modules/starling.utils.html">starling.utils</a> </li> </ul> </nav> <nav class="tsd-navigation secondary menu-sticky"> <ul class="before-current"> <li class=" tsd-kind-class tsd-parent-kind-module tsd-is-external"> <a href="starling.utils.align.html" class="tsd-kind-icon">Align</a> </li> <li class=" tsd-kind-class tsd-parent-kind-module tsd-is-external"> <a href="starling.utils.assetmanager.html" class="tsd-kind-icon">Asset<wbr>Manager</a> </li> <li class=" tsd-kind-class tsd-parent-kind-module tsd-is-external"> <a href="starling.utils.color.html" class="tsd-kind-icon">Color</a> </li> <li class=" tsd-kind-class tsd-parent-kind-module tsd-is-external"> <a href="starling.utils.execute.html" class="tsd-kind-icon">Execute</a> </li> <li class=" tsd-kind-class tsd-parent-kind-module tsd-is-external"> <a href="starling.utils.mathutil.html" class="tsd-kind-icon">Math<wbr>Util</a> </li> </ul> <ul class="current"> <li class="current tsd-kind-class tsd-parent-kind-module tsd-is-external"> <a href="starling.utils.matrixutil.html" clas