UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

178 lines (177 loc) 4.13 kB
import mat3 from "../glmatrix/mat3.mjs"; var Matrix3 = function() { this.array = mat3.create(); this._dirty = true; }; Matrix3.prototype = { constructor: Matrix3, setArray: function(arr) { for (var i = 0; i < this.array.length; i++) { this.array[i] = arr[i]; } this._dirty = true; return this; }, adjoint: function() { mat3.adjoint(this.array, this.array); this._dirty = true; return this; }, clone: function() { return new Matrix3().copy(this); }, copy: function(b) { mat3.copy(this.array, b.array); this._dirty = true; return this; }, determinant: function() { return mat3.determinant(this.array); }, fromMat2d: function(a) { mat3.fromMat2d(this.array, a.array); this._dirty = true; return this; }, fromMat4: function(a) { mat3.fromMat4(this.array, a.array); this._dirty = true; return this; }, fromQuat: function(q) { mat3.fromQuat(this.array, q.array); this._dirty = true; return this; }, identity: function() { mat3.identity(this.array); this._dirty = true; return this; }, invert: function() { mat3.invert(this.array, this.array); this._dirty = true; return this; }, mul: function(b) { mat3.mul(this.array, this.array, b.array); this._dirty = true; return this; }, mulLeft: function(a) { mat3.mul(this.array, a.array, this.array); this._dirty = true; return this; }, multiply: function(b) { mat3.multiply(this.array, this.array, b.array); this._dirty = true; return this; }, multiplyLeft: function(a) { mat3.multiply(this.array, a.array, this.array); this._dirty = true; return this; }, rotate: function(rad) { mat3.rotate(this.array, this.array, rad); this._dirty = true; return this; }, scale: function(v) { mat3.scale(this.array, this.array, v.array); this._dirty = true; return this; }, translate: function(v) { mat3.translate(this.array, this.array, v.array); this._dirty = true; return this; }, normalFromMat4: function(a) { mat3.normalFromMat4(this.array, a.array); this._dirty = true; return this; }, transpose: function() { mat3.transpose(this.array, this.array); this._dirty = true; return this; }, toString: function() { return "[" + Array.prototype.join.call(this.array, ",") + "]"; }, toArray: function() { return Array.prototype.slice.call(this.array); } }; Matrix3.adjoint = function(out, a) { mat3.adjoint(out.array, a.array); out._dirty = true; return out; }; Matrix3.copy = function(out, a) { mat3.copy(out.array, a.array); out._dirty = true; return out; }; Matrix3.determinant = function(a) { return mat3.determinant(a.array); }; Matrix3.identity = function(out) { mat3.identity(out.array); out._dirty = true; return out; }; Matrix3.invert = function(out, a) { mat3.invert(out.array, a.array); return out; }; Matrix3.mul = function(out, a, b) { mat3.mul(out.array, a.array, b.array); out._dirty = true; return out; }; Matrix3.multiply = Matrix3.mul; Matrix3.fromMat2d = function(out, a) { mat3.fromMat2d(out.array, a.array); out._dirty = true; return out; }; Matrix3.fromMat4 = function(out, a) { mat3.fromMat4(out.array, a.array); out._dirty = true; return out; }; Matrix3.fromQuat = function(out, q) { mat3.fromQuat(out.array, q.array); out._dirty = true; return out; }; Matrix3.normalFromMat4 = function(out, a) { mat3.normalFromMat4(out.array, a.array); out._dirty = true; return out; }; Matrix3.rotate = function(out, a, rad) { mat3.rotate(out.array, a.array, rad); out._dirty = true; return out; }; Matrix3.scale = function(out, a, v) { mat3.scale(out.array, a.array, v.array); out._dirty = true; return out; }; Matrix3.transpose = function(out, a) { mat3.transpose(out.array, a.array); out._dirty = true; return out; }; Matrix3.translate = function(out, a, v) { mat3.translate(out.array, a.array, v.array); out._dirty = true; return out; }; var Matrix3$1 = Matrix3; export { Matrix3$1 as default };