MCPcopy Create free account
hub / github.com/SuperMap/iClient-JavaScript / invert

Method invert

src/common/overlay/levelRenderer/Matrix.js:162–183  ·  view source on GitHub ↗

* @function LevelRenderer.Tool.Matrix.prototype.invert * @description 求逆矩阵。 * @param {(Float32Array|Array. )} out - 单位矩阵。 * @param {(Float32Array|Array. )} a - 矩阵。 * @returns {(Float32Array|Array. )} 结果矩阵。

(out, a)

Source from the content-addressed store, hash-verified

160 * @returns {(Float32Array|Array.<number>)} 结果矩阵。
161 */
162 invert(out, a) {
163 var aa = a[0];
164 var ac = a[2];
165 var atx = a[4];
166 var ab = a[1];
167 var ad = a[3];
168 var aty = a[5];
169
170 var det = aa * ad - ab * ac;
171 if (!det) {
172 return null;
173 }
174 det = 1.0 / det;
175
176 out[0] = ad * det;
177 out[1] = -ab * det;
178 out[2] = -ac * det;
179 out[3] = aa * det;
180 out[4] = (ac * aty - ad * atx) * det;
181 out[5] = (ab * atx - aa * aty) * det;
182 return out;
183 }
184
185 /**
186 * @function LevelRenderer.Tool.Matrix.prototype.mulVector

Callers 6

MatrixSpec.jsFile · 0.80
constructorMethod · 0.80
doClipMethod · 0.80
_iterateAndFindHoverMethod · 0.80
_paintListMethod · 0.80
mapbox-gl.jsFile · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected