cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
2 lines (1 loc) • 7.73 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var r=require("../glmatrix/vec3.js"),t=function(t,a,n){t=t||0,a=a||0,n=n||0,this.array=r.default.fromValues(t,a,n),this._dirty=!0};t.prototype={constructor:t,add:function(t){return r.default.add(this.array,this.array,t.array),this._dirty=!0,this},set:function(r,t,a){return this.array[0]=r,this.array[1]=t,this.array[2]=a,this._dirty=!0,this},setArray:function(r){return this.array[0]=r[0],this.array[1]=r[1],this.array[2]=r[2],this._dirty=!0,this},clone:function(){return new t(this.x,this.y,this.z)},copy:function(t){return r.default.copy(this.array,t.array),this._dirty=!0,this},cross:function(t,a){return r.default.cross(this.array,t.array,a.array),this._dirty=!0,this},dist:function(t){return r.default.dist(this.array,t.array)},distance:function(t){return r.default.distance(this.array,t.array)},div:function(t){return r.default.div(this.array,this.array,t.array),this._dirty=!0,this},divide:function(t){return r.default.divide(this.array,this.array,t.array),this._dirty=!0,this},dot:function(t){return r.default.dot(this.array,t.array)},len:function(){return r.default.len(this.array)},length:function(){return r.default.length(this.array)},lerp:function(t,a,n){return r.default.lerp(this.array,t.array,a.array,n),this._dirty=!0,this},min:function(t){return r.default.min(this.array,this.array,t.array),this._dirty=!0,this},max:function(t){return r.default.max(this.array,this.array,t.array),this._dirty=!0,this},mul:function(t){return r.default.mul(this.array,this.array,t.array),this._dirty=!0,this},multiply:function(t){return r.default.multiply(this.array,this.array,t.array),this._dirty=!0,this},negate:function(){return r.default.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return r.default.normalize(this.array,this.array),this._dirty=!0,this},random:function(t){return r.default.random(this.array,t),this._dirty=!0,this},scale:function(t){return r.default.scale(this.array,this.array,t),this._dirty=!0,this},scaleAndAdd:function(t,a){return r.default.scaleAndAdd(this.array,this.array,t.array,a),this._dirty=!0,this},sqrDist:function(t){return r.default.sqrDist(this.array,t.array)},squaredDistance:function(t){return r.default.squaredDistance(this.array,t.array)},sqrLen:function(){return r.default.sqrLen(this.array)},squaredLength:function(){return r.default.squaredLength(this.array)},sub:function(t){return r.default.sub(this.array,this.array,t.array),this._dirty=!0,this},subtract:function(t){return r.default.subtract(this.array,this.array,t.array),this._dirty=!0,this},transformMat3:function(t){return r.default.transformMat3(this.array,this.array,t.array),this._dirty=!0,this},transformMat4:function(t){return r.default.transformMat4(this.array,this.array,t.array),this._dirty=!0,this},transformQuat:function(t){return r.default.transformQuat(this.array,this.array,t.array),this._dirty=!0,this},applyProjection:function(r){var t=this.array;if(0===(r=r.array)[15]){var a=-1/t[2];t[0]=r[0]*t[0]*a,t[1]=r[5]*t[1]*a,t[2]=(r[10]*t[2]+r[14])*a}else t[0]=r[0]*t[0]+r[12],t[1]=r[5]*t[1]+r[13],t[2]=r[10]*t[2]+r[14];return this._dirty=!0,this},eulerFromQuat:function(r,a){t.eulerFromQuat(this,r,a)},eulerFromMat3:function(r,a){t.eulerFromMat3(this,r,a)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var a=Object.defineProperty;if(a){var n=t.prototype;a(n,"x",{get:function(){return this.array[0]},set:function(r){this.array[0]=r,this._dirty=!0}}),a(n,"y",{get:function(){return this.array[1]},set:function(r){this.array[1]=r,this._dirty=!0}}),a(n,"z",{get:function(){return this.array[2]},set:function(r){this.array[2]=r,this._dirty=!0}})}function i(r,t,a){return r<t?t:r>a?a:r}t.add=function(t,a,n){return r.default.add(t.array,a.array,n.array),t._dirty=!0,t},t.set=function(t,a,n,i){r.default.set(t.array,a,n,i),t._dirty=!0},t.copy=function(t,a){return r.default.copy(t.array,a.array),t._dirty=!0,t},t.cross=function(t,a,n){return r.default.cross(t.array,a.array,n.array),t._dirty=!0,t},t.distance=t.dist=function(t,a){return r.default.distance(t.array,a.array)},t.divide=t.div=function(t,a,n){return r.default.divide(t.array,a.array,n.array),t._dirty=!0,t},t.dot=function(t,a){return r.default.dot(t.array,a.array)},t.len=function(t){return r.default.length(t.array)},t.lerp=function(t,a,n,i){return r.default.lerp(t.array,a.array,n.array,i),t._dirty=!0,t},t.min=function(t,a,n){return r.default.min(t.array,a.array,n.array),t._dirty=!0,t},t.max=function(t,a,n){return r.default.max(t.array,a.array,n.array),t._dirty=!0,t},t.multiply=t.mul=function(t,a,n){return r.default.multiply(t.array,a.array,n.array),t._dirty=!0,t},t.negate=function(t,a){return r.default.negate(t.array,a.array),t._dirty=!0,t},t.normalize=function(t,a){return r.default.normalize(t.array,a.array),t._dirty=!0,t},t.random=function(t,a){return r.default.random(t.array,a),t._dirty=!0,t},t.scale=function(t,a,n){return r.default.scale(t.array,a.array,n),t._dirty=!0,t},t.scaleAndAdd=function(t,a,n,i){return r.default.scaleAndAdd(t.array,a.array,n.array,i),t._dirty=!0,t},t.squaredDistance=t.sqrDist=function(t,a){return r.default.sqrDist(t.array,a.array)},t.squaredLength=t.sqrLen=function(t){return r.default.sqrLen(t.array)},t.subtract=t.sub=function(t,a,n){return r.default.subtract(t.array,a.array,n.array),t._dirty=!0,t},t.transformMat3=function(t,a,n){return r.default.transformMat3(t.array,a.array,n.array),t._dirty=!0,t},t.transformMat4=function(t,a,n){return r.default.transformMat4(t.array,a.array,n.array),t._dirty=!0,t},t.transformQuat=function(t,a,n){return r.default.transformQuat(t.array,a.array,n.array),t._dirty=!0,t};var e=Math.atan2,u=Math.asin,s=Math.abs;t.eulerFromQuat=function(r,t,a){r._dirty=!0,t=t.array;var n=r.array,s=t[0],y=t[1],d=t[2],f=t[3],o=s*s,c=y*y,h=d*d,l=f*f;switch(a=(a||"XYZ").toUpperCase()){case"XYZ":n[0]=e(2*(s*f-y*d),l-o-c+h),n[1]=u(i(2*(s*d+y*f),-1,1)),n[2]=e(2*(d*f-s*y),l+o-c-h);break;case"YXZ":n[0]=u(i(2*(s*f-y*d),-1,1)),n[1]=e(2*(s*d+y*f),l-o-c+h),n[2]=e(2*(s*y+d*f),l-o+c-h);break;case"ZXY":n[0]=u(i(2*(s*f+y*d),-1,1)),n[1]=e(2*(y*f-d*s),l-o-c+h),n[2]=e(2*(d*f-s*y),l-o+c-h);break;case"ZYX":n[0]=e(2*(s*f+d*y),l-o-c+h),n[1]=u(i(2*(y*f-s*d),-1,1)),n[2]=e(2*(s*y+d*f),l+o-c-h);break;case"YZX":n[0]=e(2*(s*f-d*y),l-o+c-h),n[1]=e(2*(y*f-s*d),l+o-c-h),n[2]=u(i(2*(s*y+d*f),-1,1));break;case"XZY":n[0]=e(2*(s*f+y*d),l-o+c-h),n[1]=e(2*(s*d+y*f),l+o-c-h),n[2]=u(i(2*(d*f-s*y),-1,1))}return r},t.eulerFromMat3=function(r,t,a){var n=t.array,y=n[0],d=n[3],f=n[6],o=n[1],c=n[4],h=n[7],l=n[2],_=n[5],m=n[8],p=r.array;switch(a=(a||"XYZ").toUpperCase()){case"XYZ":p[1]=u(i(f,-1,1)),s(f)<.99999?(p[0]=e(-h,m),p[2]=e(-d,y)):(p[0]=e(_,c),p[2]=0);break;case"YXZ":p[0]=u(-i(h,-1,1)),s(h)<.99999?(p[1]=e(f,m),p[2]=e(o,c)):(p[1]=e(-l,y),p[2]=0);break;case"ZXY":p[0]=u(i(_,-1,1)),s(_)<.99999?(p[1]=e(-l,m),p[2]=e(-d,c)):(p[1]=0,p[2]=e(o,y));break;case"ZYX":p[1]=u(-i(l,-1,1)),s(l)<.99999?(p[0]=e(_,m),p[2]=e(o,y)):(p[0]=0,p[2]=e(-d,c));break;case"YZX":p[2]=u(i(o,-1,1)),s(o)<.99999?(p[0]=e(-h,c),p[1]=e(-l,y)):(p[0]=0,p[1]=e(f,m));break;case"XZY":p[2]=u(-i(d,-1,1)),s(d)<.99999?(p[0]=e(_,c),p[1]=e(f,y)):(p[0]=e(-h,m),p[1]=0)}return r._dirty=!0,r},Object.defineProperties(t,{POSITIVE_X:{get:function(){return new t(1,0,0)}},NEGATIVE_X:{get:function(){return new t(-1,0,0)}},POSITIVE_Y:{get:function(){return new t(0,1,0)}},NEGATIVE_Y:{get:function(){return new t(0,-1,0)}},POSITIVE_Z:{get:function(){return new t(0,0,1)}},NEGATIVE_Z:{get:function(){return new t(0,0,-1)}},UP:{get:function(){return new t(0,1,0)}},ZERO:{get:function(){return new t}}});var y=t;exports.default=y;