cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
178 lines (177 loc) • 4.13 kB
JavaScript
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 };