vislite 0.5.0 → 0.5.2-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +18 -18
- package/AUTHORS.txt +6 -6
- package/CHANGELOG +5 -0
- package/LICENSE +20 -20
- package/README.md +69 -69
- package/miniprogram/ui-canvas/index.js +107 -107
- package/miniprogram/ui-canvas/index.json +4 -4
- package/miniprogram/ui-canvas/index.wxml +4 -4
- package/miniprogram/ui-canvas/index.wxss +5 -5
- package/package/Buffer/index.ts +2 -2
- package/package/Canvas/index.ts +2 -2
- package/package/Cardinal/index.ts +2 -2
- package/package/Eoap/index.ts +2 -2
- package/package/Hermite/index.ts +2 -2
- package/package/Matrix4/index.ts +2 -2
- package/package/Mercator/index.ts +2 -2
- package/package/OralCanvas/index.ts +2 -2
- package/package/OralWebGL/index.ts +2 -2
- package/package/SVG/index.ts +2 -2
- package/package/Shader/index.ts +39 -39
- package/package/Texture/index.ts +2 -2
- package/package/TreeLayout/index.ts +2 -2
- package/package/WebGL/index.ts +2 -2
- package/package/animation/index.ts +2 -2
- package/package/formatColor/index.ts +2 -2
- package/package/getLoopColors/index.ts +2 -2
- package/package/getWebGLContext/index.ts +39 -39
- package/package/resizeObserver/index.ts +2 -2
- package/package/rotate/index.ts +2 -2
- package/package/ruler/index.ts +2 -2
- package/package/throttle/index.ts +2 -2
- package/package/viewHandler/index.ts +2 -2
- package/package.json +1 -1
- package/src/Canvas.ts +67 -67
- package/src/Matrix4/move.ts +12 -12
- package/src/Matrix4/rotate.ts +15 -15
- package/src/Matrix4/scale.ts +11 -11
- package/src/Matrix4/transform.ts +64 -64
- package/src/SVG.ts +24 -24
- package/src/WebGL.ts +66 -66
- package/src/animation.ts +98 -98
- package/src/common/assemble.ts +22 -22
- package/src/common/canvas/arc.ts +50 -50
- package/src/common/canvas/config.ts +158 -158
- package/src/common/canvas/gradient.ts +29 -29
- package/src/common/canvas/index.ts +168 -168
- package/src/common/canvas/painter.ts +426 -426
- package/src/common/canvas/texts.ts +18 -18
- package/src/common/mergeOption.ts +6 -6
- package/src/common/setStyle.ts +5 -5
- package/src/common/svg/config.ts +174 -174
- package/src/common/svg/tool.ts +44 -44
- package/src/common/tree/index.ts +25 -25
- package/src/common/tree/toInnerTree.ts +56 -56
- package/src/common/tree/toPlainTree.ts +131 -131
- package/src/common/webgl/buffer.ts +79 -79
- package/src/common/webgl/doDraw.ts +108 -108
- package/src/common/webgl/getColorFactory.ts +26 -26
- package/src/common/webgl/getShader.ts +48 -48
- package/src/common/webgl/getTexture.ts +11 -11
- package/src/common/webgl/getWebGLContext.ts +27 -27
- package/src/common/webgl/index.ts +223 -223
- package/src/common/webgl/shader.ts +75 -75
- package/src/common/webgl/texture.ts +96 -96
- package/src/formatColor.ts +44 -44
- package/src/getLoopColors.ts +42 -42
- package/src/interpolation/Cardinal.ts +110 -110
- package/src/interpolation/Hermite.ts +65 -65
- package/src/resizeObserver.ts +36 -36
- package/src/ruler.ts +188 -188
- package/src/shader/fsColor.c +7 -7
- package/src/shader/fsColors.c +7 -7
- package/src/shader/fsCube.c +8 -8
- package/src/shader/fsImage.c +8 -8
- package/src/shader/vsColor.c +17 -17
- package/src/shader/vsColors.c +13 -13
- package/src/shader/vsCube.c +13 -13
- package/src/shader/vsImage.c +13 -13
- package/src/throttle.ts +51 -51
- package/src/viewHandler.ts +158 -158
- package/types/Buffer.d.ts +23 -23
- package/types/Canvas.d.ts +300 -300
- package/types/CanvasOption.d.ts +7 -7
- package/types/Cardinal.d.ts +13 -13
- package/types/Gradient.d.ts +14 -14
- package/types/Hermite.d.ts +18 -18
- package/types/Object3D.d.ts +114 -114
- package/types/SVGConfig.d.ts +76 -76
- package/types/Scene3D.d.ts +6 -6
- package/types/Shader.d.ts +21 -21
- package/types/Texture.d.ts +16 -16
- package/types/Tree.d.ts +69 -69
- package/types/TreeConfig.d.ts +24 -24
- package/types/TreeOption.d.ts +48 -48
- package/types/WebGL.d.ts +38 -38
- package/types/WebGLOption.d.ts +7 -7
- package/types/animation.d.ts +6 -6
- package/types/formatColor.d.ts +2 -2
- package/types/getLoopColors.d.ts +2 -2
- package/types/getWebGLContext.d.ts +2 -2
- package/types/painterConfig.d.ts +2 -2
- package/types/resizeObserver.d.ts +2 -2
- package/types/ruler.d.ts +7 -7
- package/types/throttle.d.ts +4 -4
- package/types/throttleOption.d.ts +21 -21
- package/types/viewHandler.d.ts +13 -13
- package/uni-app/ui-canvas.vue +226 -222
- package/lib/Buffer/index.umd.js +0 -55
- package/lib/Buffer/index.umd.min.js +0 -11
- package/lib/Canvas/index.umd.js +0 -721
- package/lib/Canvas/index.umd.min.js +0 -11
- package/lib/Cardinal/index.umd.js +0 -112
- package/lib/Cardinal/index.umd.min.js +0 -11
- package/lib/Eoap/index.umd.js +0 -53
- package/lib/Eoap/index.umd.min.js +0 -11
- package/lib/Geometry/index.umd.js +0 -205
- package/lib/Geometry/index.umd.min.js +0 -11
- package/lib/Hermite/index.umd.js +0 -55
- package/lib/Hermite/index.umd.min.js +0 -11
- package/lib/Matrix4/index.umd.js +0 -146
- package/lib/Matrix4/index.umd.min.js +0 -11
- package/lib/Mercator/index.umd.js +0 -39
- package/lib/Mercator/index.umd.min.js +0 -11
- package/lib/OralCanvas/index.es.js +0 -657
- package/lib/OralCanvas/index.es.min.js +0 -11
- package/lib/OralWebGL/index.es.js +0 -611
- package/lib/OralWebGL/index.es.min.js +0 -11
- package/lib/SVG/index.umd.js +0 -475
- package/lib/SVG/index.umd.min.js +0 -11
- package/lib/Shader/index.umd.js +0 -134
- package/lib/Shader/index.umd.min.js +0 -11
- package/lib/Texture/index.umd.js +0 -72
- package/lib/Texture/index.umd.min.js +0 -11
- package/lib/TreeLayout/index.umd.js +0 -430
- package/lib/TreeLayout/index.umd.min.js +0 -11
- package/lib/WebGL/index.umd.js +0 -684
- package/lib/WebGL/index.umd.min.js +0 -11
- package/lib/animation/index.umd.js +0 -91
- package/lib/animation/index.umd.min.js +0 -11
- package/lib/formatColor/index.umd.js +0 -59
- package/lib/formatColor/index.umd.min.js +0 -11
- package/lib/getLoopColors/index.umd.js +0 -55
- package/lib/getLoopColors/index.umd.min.js +0 -11
- package/lib/getWebGLContext/index.umd.js +0 -65
- package/lib/getWebGLContext/index.umd.min.js +0 -11
- package/lib/index.umd.js +0 -2834
- package/lib/index.umd.min.js +0 -11
- package/lib/resizeObserver/index.umd.js +0 -48
- package/lib/resizeObserver/index.umd.min.js +0 -11
- package/lib/rotate/index.umd.js +0 -27
- package/lib/rotate/index.umd.min.js +0 -11
- package/lib/ruler/index.umd.js +0 -145
- package/lib/ruler/index.umd.min.js +0 -11
- package/lib/throttle/index.umd.js +0 -70
- package/lib/throttle/index.umd.min.js +0 -11
- package/lib/viewHandler/index.umd.js +0 -139
- package/lib/viewHandler/index.umd.min.js +0 -11
package/lib/index.umd.min.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
var t,e;t=this,e=function(){"use strict";var t=function(){function t(t){void 0===t&&(t=.5),this.name="Hermite",this.__u=t}return t.prototype.setP=function(t,e,i,r,n,o){if(!(t<i))throw new Error("The point x-position should be increamented!");this.__a=t,this.__b=i;var s=this.__u*n,a=this.__u*o;return e/=i-t,r/=i-t,this.__MR=[2*e-2*r+s+a,3*r-3*e-2*s-a,s,e],this},t.prototype.use=function(t){if(this.__MR){var e=(t-this.__a)/(this.__b-this.__a),i=e*e;return(e*i*this.__MR[0]+i*this.__MR[1]+e*this.__MR[2]+this.__MR[3])*(this.__b-this.__a)}throw new Error("You shoud first set the position!")},t}(),e=function(){function e(t){void 0===t&&(t=0),this.name="Cardinal",this.__t=t}return e.prototype.setP=function(e){this.__HS={x:[],h:[]};var i,r,n=(e[1][1]-e[0][1])/(e[1][0]-e[0][0]);for(this.__HS.x[0]=e[0][0],i=1;i<e.length;i++){if(e[i][0]<=e[i-1][0])throw new Error("The point position should be increamented!");this.__HS.x[i]=e[i][0],r=i<e.length-1?e[i+1][1]>e[i][1]&&e[i-1][1]>e[i][1]||e[i+1][1]<e[i][1]&&e[i-1][1]<e[i][1]||e[i+1][1]==e[i][1]||e[i-1][1]==e[i][1]?0:(e[i+1][1]-e[i-1][1])/(e[i+1][0]-e[i-1][0]):(e[i][1]-e[i-1][1])/(e[i][0]-e[i-1][0]),this.__HS.h[i-1]=new t(.5*(1-this.__t)).setP(e[i-1][0],e[i-1][1],e[i][0],e[i][1],n,r),n=r}return this},e.prototype.use=function(t){if(this.__HS){for(this.__i=-1;this.__i+1<this.__HS.x.length&&(t>this.__HS.x[this.__i+1]||-1==this.__i&&t>=this.__HS.x[this.__i+1]);)this.__i+=1;return this.__i<0?this.__HS.h[0].use(this.__HS.x[0]):this.__i>=this.__HS.h.length?this.__HS.h[this.__HS.h.length-1].use(this.__HS.x[this.__HS.x.length-1]):this.__HS.h[this.__i].use(t)}throw new Error("You shoud first set the position!")},e}(),i=function(t,e){for(var i=[],r=0;r<4;r++)for(var n=0;n<e.length/4;n++)i[4*n+r]=t[r]*e[4*n]+t[r+4]*e[4*n+1]+t[r+8]*e[4*n+2]+t[r+12]*e[4*n+3];return i},r=function(){function t(t){void 0===t&&(t=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this.name="Matrix4",this.__matrix4=t}return t.prototype.move=function(t,e,r,n){return void 0===n&&(n=0),this.__matrix4=i(function(t,e,i,r){void 0===r&&(r=0);var n=Math.sqrt(e*e+i*i+r*r);return[1,0,0,0,0,1,0,0,0,0,1,0,e*t/n,i*t/n,r*t/n,1]}(t,e,r,n),this.__matrix4),this},t.prototype.rotate=function(t,e,r,n,o,s,a){var _=function(t,e,i,r,n,o){if("number"==typeof t&&"number"==typeof e){if("number"!=typeof i?(i=0,r=t,n=e,o=1):"number"==typeof r&&"number"==typeof n&&"number"==typeof o||(r=t,n=e,o=i,t=0,e=0,i=0),t==r&&e==n&&i==o)throw new Error("It's not a legitimate ray!");var s=Math.sqrt((r-t)*(r-t)+(n-e)*(n-e)),a=0!=s?(n-e)/s:1,_=0!=s?(r-t)/s:0,h=(r-t)*_+(n-e)*a,u=o-i,l=Math.sqrt(h*h+u*u),p=0!=l?u/l:1,c=0!=l?h/l:0;return[[a,p*_,_*c,0,-_,a*p,a*c,0,0,-c,p,0,e*_-t*a,i*c-t*_*p-e*a*p,-t*_*c-e*a*c-i*p,1],[a,-_,0,0,p*_,p*a,-c,0,_*c,a*c,p,0,t,e,i,1]]}throw new Error("a1 and b1 is required!")}(e,r,n,o,s,a);return this.__matrix4=i(i(i(_[1],function(t){var e=Math.sin(t),i=Math.cos(t);return[i,e,0,0,-e,i,0,0,0,0,1,0,0,0,0,1]}(t)),_[0]),this.__matrix4),this},t.prototype.scale=function(t,e,r,n,o,s){return void 0===n&&(n=0),void 0===o&&(o=0),void 0===s&&(s=0),this.__matrix4=i(function(t,e,i,r,n,o){return void 0===r&&(r=0),void 0===n&&(n=0),void 0===o&&(o=0),[t,0,0,0,0,e,0,0,0,0,i,0,r-r*t,n-n*e,o-o*i,1]}(t,e,r,n,o,s),this.__matrix4),this},t.prototype.multiply=function(t,e){return void 0===e&&(e=!1),this.__matrix4=e?i(this.__matrix4,t):i(t,this.__matrix4),this},t.prototype.use=function(t,e,r,n){return void 0===r&&(r=0),void 0===n&&(n=1),i(this.__matrix4,[t,e,r,n])},t.prototype.value=function(){return this.__matrix4},t}();function n(t,e,i,r,n){var o=Math.cos(i),s=Math.sin(i);return[(r-t)*o-(n-e)*s+t,(r-t)*s+(n-e)*o+e]}var o,s=function(t){var e=t.toString(16);return 1==e.length?"0"+e:e},a=[];function _(t,e,i){void 0===e&&(e=400),void 0===i&&(i=function(){});var r={timer:function(t,e,i){if(!t)throw new Error("Tick is required!");var n=(new Date).valueOf()+"_"+(1e3*Math.random()).toFixed(0);return a.push({id:n,createTime:new Date,tick:t,duration:e,callback:i}),r.start(),n},start:function(){o||(o=setInterval(r.tick,13))},tick:function(){var t,e,i,n,o,s,_,h=a;for((a=[]).length=0,e=0;e<h.length;e++)t=(o=h[e]).createTime,i=o.tick,s=o.duration,n=o.callback,i(_=(_=(+(new Date).valueOf()-t.valueOf())/s)>1?1:_),_<1&&o.id?a.push(o):n(_);a.length<=0&&r.stop()},stop:function(){o&&(clearInterval(o),o=null)}},n=r.timer((function(e){t(e)}),e,i);return function(){var t;for(t in a)if(a[t].id==n)return void(a[t].id=void 0)}}var h=function(t,e){return h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},h(t,e)};function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}h(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}function l(t,e,i){if(i||2===arguments.length)for(var r,n=0,o=e.length;n<o;n++)!r&&n in e||(r||(r=Array.prototype.slice.call(e,0,n)),r[n]=e[n]);return t.concat(r||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var p=["href","title","show","type","role","actuate"],c=function(t,e,i){p.indexOf(e)>-1?t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:"+e,i+""):t.setAttribute(e,i+"")},f=c;function d(t,e){c(t,"stroke",e.strokeStyle),c(t,"fill",e.fillStyle),c(t,"stroke-dasharray",e.lineDash.join(","))}function g(t,e){c(t,"fill",e.fillStyle)}function m(t,e){c(t,"stroke",e.strokeStyle),c(t,"fill","none"),c(t,"stroke-dasharray",e.lineDash.join(","))}var v=function(t,e,i,r,n){var o=Math.cos(i),s=Math.sin(i);return[+((r-t)*o-(n-e)*s+t).toFixed(7),+((r-t)*s+(n-e)*o+e).toFixed(7)]};function y(t,e,i,r,n,o,s){e<0&&(t+=e,e*=-1);var a,_=[];a=v(0,0,t,n,0),_[0]=a[0],_[1]=a[1],a=v(0,0,e,a[0],a[1]),_[2]=a[0],_[3]=a[1],a=v(0,0,t,o,0),_[4]=a[0],_[5]=a[1],a=v(0,0,e,a[0],a[1]),_[6]=a[0],_[7]=a[1],s(t,t+e,_[0]+i,_[1]+r,_[4]+i,_[5]+r,_[2]+i,_[3]+r,_[6]+i,_[7]+r,.5*(o-n))}var E=function(t,e,i,r,n){if("text"!==t.nodeName.toLowerCase())throw new Error("Need a <text> !");f(t,"dy",{top:.5*e.fontSize,middle:0,bottom:.5*-e.fontSize}[e.textBaseline]),function(t,e){for(var i in e)t.style[i]=e[i]}(t,{"text-anchor":{left:"start",right:"end",center:"middle"}[e.textAlign],"dominant-baseline":"central","font-size":e.fontSize+"px","font-family":e.fontFamily}),f(t,"x",i),f(t,"y",r),"number"==typeof n&&f(t,"transform","rotate("+(n%=360)+","+i+","+r+")")},x=function(t,e,i,r){if("circle"!==t.nodeName.toLowerCase())throw new Error("Need a <circle> !");f(t,"cx",e),f(t,"cy",i),f(t,"r",r)},b=function(t,e){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");f(t,"d",e)},w=function(t,e,i,r,n){if("rect"!==t.nodeName.toLowerCase())throw new Error("Need a <rect> !");n<0&&(i-=n*=-1),r<0&&(e-=r*=-1),f(t,"x",e),f(t,"y",i),f(t,"width",r),f(t,"height",n)},T=function(t,e,i,r,n,o,s,a){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");if(s=s/180*Math.PI,a=a/180*Math.PI,s%=2*Math.PI,n>o){var _=n;n=o,o=_}a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=1.999999*Math.PI:a%=2*Math.PI,y(s,a,i,r,n,o,(function(i,r,s,a,_,h,u,l,p,c,d){var g=r-i>Math.PI?1:0,m="M"+s+" "+a;d<0&&(d=-d),m+="A"+n+" "+n+" 0 "+g+" 1 "+u+" "+l,"round"==e.arcEndCap?m+="A"+d+" "+d+" 0 1 0 "+p+" "+c:"-round"==e.arcEndCap?m+="A"+d+" "+d+" 0 1 1 "+p+" "+c:m+="L"+p+" "+c,m+="A"+o+" "+o+" 0 "+g+" 0 "+_+" "+h,"round"==e.arcStartCap?m+="A"+d+" "+d+" 0 1 0 "+s+" "+a:"-round"==e.arcStartCap?m+="A"+d+" "+d+" 0 1 1 "+s+" "+a:m+="L"+s+" "+a,"butt"==e.arcStartCap&&(m+="Z"),f(t,"d",m)}))},C={"font-size":"fontSize","font-family":"fontFamily","arc-start-cap":"arcStartCap","arc-end-cap":"arcEndCap"},P=function(){function t(t){this.name="SVG",this.__config={fillStyle:"#000",strokeStyle:"#000",lineWidth:1,textAlign:"left",textBaseline:"middle",fontSize:16,fontFamily:"sans-serif",arcStartCap:"butt",arcEndCap:"butt",lineDash:[]},this.__path="",this.__currentPosition=[],this.__svg=t}return t.prototype.config=function(t){if("object"!=typeof t)return this.__config[C[t]||t];for(var e in t){var i=C[e]||e;this.__config[i]=t[e]}return this},t.prototype.useEl=function(t){return this.__useEl=t,this},t.prototype.getEl=function(){return this.__useEl},t.prototype.appendEl=function(t,e){var i;return e=e||this.__svg,"string"==typeof t&&(i=t,t=document.createElementNS("http://www.w3.org/2000/svg",i)),e.appendChild(t),this.__useEl=t,this},t.prototype.appendBoard=function(t,e){var i=t;if("string"==typeof t&&(i={text:"text",path:"path",arc:"path",circle:"circle",rect:"rect"}[t]||""),""==i)throw new Error("Unsupported drawing method:"+t);return this.appendEl(i,e)},t.prototype.remove=function(){if(!this.__useEl)throw new Error("Currently, no node can be deleted.");return this.__useEl.parentNode.removeChild(this.__useEl),this},t.prototype.attr=function(t){if(!this.__useEl)throw new Error("Currently, no node can be modified or viewed.");if("object"!=typeof t)return function(t,e){return p.indexOf(e)>-1&&(e="xlink:"+e),t.getAttribute(e)}(this.__useEl,t);for(var e in t)f(this.__useEl,e,t[e]);return this},t.prototype.fillText=function(t,e,i,r){return void 0===r&&(r=0),E(this.__useEl,this.__config,e,i,r),this.__useEl.textContent=t,g(this.__useEl,this.__config),this},t.prototype.strokeText=function(t,e,i,r){return void 0===r&&(r=0),E(this.__useEl,this.__config,e,i,r),this.__useEl.textContent=t,m(this.__useEl,this.__config),this},t.prototype.fullText=function(t,e,i,r){return void 0===r&&(r=0),E(this.__useEl,this.__config,e,i,r),this.__useEl.textContent=t,d(this.__useEl,this.__config),this},t.prototype.fillArc=function(t,e,i,r,n,o){return T(this.__useEl,this.__config,t,e,i,r,n,o),g(this.__useEl,this.__config),this},t.prototype.strokeArc=function(t,e,i,r,n,o){return T(this.__useEl,this.__config,t,e,i,r,n,o),m(this.__useEl,this.__config),this},t.prototype.fullArc=function(t,e,i,r,n,o){return T(this.__useEl,this.__config,t,e,i,r,n,o),d(this.__useEl,this.__config),this},t.prototype.fillCircle=function(t,e,i){return x(this.__useEl,t,e,i),g(this.__useEl,this.__config),this},t.prototype.strokeCircle=function(t,e,i){return x(this.__useEl,t,e,i),m(this.__useEl,this.__config),this},t.prototype.fullCircle=function(t,e,i){return x(this.__useEl,t,e,i),d(this.__useEl,this.__config),this},t.prototype.fillRect=function(t,e,i,r){return w(this.__useEl,t,e,i,r),g(this.__useEl,this.__config),this},t.prototype.strokeRect=function(t,e,i,r){return w(this.__useEl,t,e,i,r),m(this.__useEl,this.__config),this},t.prototype.fullRect=function(t,e,i,r){return w(this.__useEl,t,e,i,r),d(this.__useEl,this.__config),this},t.prototype.beginPath=function(){return this.__currentPosition=[],this.__path="",this},t.prototype.closePath=function(){return this.__path+="Z",this},t.prototype.moveTo=function(t,e){return this.__currentPosition=[t,e],this.__path+="M"+t+" "+e,this},t.prototype.lineTo=function(t,e){return this.__currentPosition=[t,e],this.__path+=(""==this.__path?"M":"L")+t+" "+e,this},t.prototype.fill=function(){return b(this.__useEl,this.__path),g(this.__useEl,this.__config),this},t.prototype.stroke=function(){return b(this.__useEl,this.__path),m(this.__useEl,this.__config),this},t.prototype.full=function(){return b(this.__useEl,this.__path),d(this.__useEl,this.__config),this},t.prototype.arc=function(t,e,i,r,o){var s=n(t,e,r/180*Math.PI,t+i,e),a=n(t,e,(r+o)/180*Math.PI,t+i,e);return""==this.__path?this.__path+="M"+s[0]+","+s[1]:s[0]==this.__currentPosition[0]&&s[1]==this.__currentPosition[1]||(this.__path+="L"+s[0]+","+s[1]),this.__path+="A"+i+","+i+" 0 "+(o>180||o<-180?1:0)+","+(o>0?1:0)+" "+a[0]+","+a[1],this},t.prototype.quadraticCurveTo=function(t,e,i,r){return this.__path+="Q"+t+" "+e+","+i+" "+r,this},t.prototype.bezierCurveTo=function(t,e,i,r,n,o){return this.__path+="C"+t+" "+e+","+i+" "+r+","+n+" "+o,this},t.prototype.bind=function(t,e){return this.__useEl.addEventListener(t,(function(t){e.call(this,t,this)}),!1),this},t}(),R=function(t){function e(e){if(!e)throw new Error("VISLite SVG:The mount point requires an HTMLElement type but encountered null.");var i=e.clientWidth,r=e.clientHeight,n=document.createElementNS("http://www.w3.org/2000/svg","svg");return e.appendChild(n),n.setAttribute("width",i+""),n.setAttribute("height",r+""),n.setAttribute("viewBox","0 0 "+i+" "+r),t.call(this,n)||this}return u(e,t),e}(P),S=function(t,e,i,r,n){return t.beginPath(),t.translate(i,r),t.rotate(n),t.font=e.fontStyle+" "+e.fontWeight+" "+e.fontSize+"px "+e.fontFamily,t},A=function(t,e,i,r,n,o,s,a){if(n>o){var _=n;n=o,o=_}return s%=2*Math.PI,a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=2*Math.PI:a%=2*Math.PI,y(s,a,i,r,n,o,(function(s,a,_,h,u,l,p,c,f,d,g){g<0&&(g=-g),t.beginPath(),t.moveTo(_,h),t.arc(i,r,n,s,a,!1),"round"==e.arcEndCap?t.arc(.5*(p+f),.5*(c+d),g,a-Math.PI,a,!0):"-round"==e.arcEndCap?t.arc(.5*(p+f),.5*(c+d),g,a-Math.PI,a,!1):t.lineTo(f,d),t.arc(i,r,o,a,s,!0),"round"==e.arcStartCap?t.arc(.5*(_+u),.5*(h+l),g,s,s-Math.PI,!0):"-round"==e.arcStartCap?t.arc(.5*(_+u),.5*(h+l),g,s,s-Math.PI,!1):t.lineTo(_,h)})),"butt"==e.arcStartCap&&t.closePath(),t},M=function(t,e,i,r){return t.beginPath(),t.moveTo(e+r,i),t.arc(e,i,r,0,2*Math.PI),t},L=function(t,e,i,r,n){return t.beginPath(),t.rect(e,i,r,n),t};function I(t,e,i,r,n){for(var o=0,s="",a=0;a<e.length;a++)t.measureText(s+e[a]).width>i||/\n$/.test(s)?(n(s,((o+=1)-.5)*r),s=e[a]):a==e.length-1?(o+=1,n(s+e[a],(o-.5)*r)):s+=e[a];return o*r}var k=function(){function t(t,e,i,r){void 0===e&&(e={}),void 0===r&&(r=!1),this.__region=null,this.__onlyRegion=!1,this.__specialConfig={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt"},this.__initConfig={fillStyle:"black",strokeStyle:"black",lineWidth:1,textAlign:"left",textBaseline:"middle",lineDash:[],shadowBlur:0,shadowColor:"black"},this.painter=t.getContext("2d",e),this.__region=i,this.__isPainter=r,this.painter.textBaseline="middle",this.painter.textAlign="left"}return t.prototype.useConfig=function(t,e){if(this.__region&&["fillStyle","strokeStyle","shadowBlur","shadowColor"].indexOf(t)<0&&this.__region.useConfig(t,e),this.__isPainter&&this.__onlyRegion)return this;if("lineDash"==t)this.painter.setLineDash&&this.painter.setLineDash(e);else if(t in this.__specialConfig)"fontSize"==t&&(e=Math.round(e)),this.__specialConfig[t]=e;else{if(!(t in this.__initConfig))throw new Error("Illegal configuration item of painter : "+t+" !");this.painter[t]=e}return this},t.prototype.fillText=function(t,e,i,r){return void 0===r&&(r=0),this.__region&&this.__region.fillText(t,e,i,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),S(this.painter,this.__specialConfig,e,i,r).fillText(t,0,0),this.painter.restore()),this},t.prototype.strokeText=function(t,e,i,r){return void 0===r&&(r=0),this.__region&&this.__region.strokeText(t,e,i,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),S(this.painter,this.__specialConfig,e,i,r).strokeText(t,0,0),this.painter.restore()),this},t.prototype.fullText=function(t,e,i,r){return void 0===r&&(r=0),this.__region&&this.__region.fullText(t,e,i,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),S(this.painter,this.__specialConfig,e,i,r),this.painter.fillText(t,0,0),this.painter.strokeText(t,0,0),this.painter.restore()),this},t.prototype.fillTexts=function(t,e,i,r,n,o){var s=this;void 0===n&&(n=1.2),void 0===o&&(o=0);var a=0;if(this.__region&&(a=this.__region.fillTexts(t,e,i,r,n)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),S(this.painter,this.__specialConfig,e,i,o);var _=I(this.painter,t,r,this.__specialConfig.fontSize*n,(function(t,e){s.painter.fillText(t,0,e)}));return this.painter.restore(),_},t.prototype.strokeTexts=function(t,e,i,r,n,o){var s=this;void 0===n&&(n=1.2),void 0===o&&(o=0);var a=0;if(this.__region&&(a=this.__region.fillTexts(t,e,i,r,n)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),S(this.painter,this.__specialConfig,e,i,o);var _=I(this.painter,t,r,this.__specialConfig.fontSize*n,(function(t,e){s.painter.strokeText(t,0,e)}));return this.painter.restore(),_},t.prototype.fullTexts=function(t,e,i,r,n,o){var s=this;void 0===n&&(n=1.2),void 0===o&&(o=0);var a=0;if(this.__region&&(a=this.__region.fillTexts(t,e,i,r,n)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),S(this.painter,this.__specialConfig,e,i,o);var _=I(this.painter,t,r,this.__specialConfig.fontSize*n,(function(t,e){s.painter.fillText(t,0,e),s.painter.strokeText(t,0,e)}));return this.painter.restore(),_},t.prototype.beginPath=function(){return this.__region&&this.__region.beginPath(),this.__isPainter&&this.__onlyRegion||this.painter.beginPath(),this},t.prototype.closePath=function(){return this.__region&&this.__region.closePath(),this.__isPainter&&this.__onlyRegion||this.painter.closePath(),this},t.prototype.moveTo=function(t,e){return this.__region&&this.__region.moveTo(t,e),this.__isPainter&&this.__onlyRegion||this.painter.moveTo(Math.round(t)+.5,Math.round(e)+.5),this},t.prototype.lineTo=function(t,e){return this.__region&&this.__region.lineTo(t,e),this.__isPainter&&this.__onlyRegion||this.painter.lineTo(Math.round(t)+.5,Math.round(e)+.5),this},t.prototype.arc=function(t,e,i,r,n){return this.__region&&this.__region.arc(t,e,i,r,n),this.__isPainter&&this.__onlyRegion||this.painter.arc(t,e,i,r,r+n,n<0),this},t.prototype.fill=function(){return this.__region&&this.__region.fill(),this.__isPainter&&this.__onlyRegion||this.painter.fill(),this},t.prototype.stroke=function(){return this.__region&&this.__region.stroke(),this.__isPainter&&this.__onlyRegion||this.painter.stroke(),this},t.prototype.full=function(){return this.__region&&this.__region.full(),this.__isPainter&&this.__onlyRegion||(this.painter.fill(),this.painter.stroke()),this},t.prototype.save=function(){return this.__region&&this.__region.save(),this.__isPainter&&this.__onlyRegion||this.painter.save(),this},t.prototype.restore=function(){return this.__region&&this.__region.restore(),this.__isPainter&&this.__onlyRegion||this.painter.restore(),this},t.prototype.clip=function(){return this.__region&&this.__region.clip(),this.__isPainter&&this.__onlyRegion||this.painter.clip(),this},t.prototype.quadraticCurveTo=function(t,e,i,r){return this.__region&&this.__region.quadraticCurveTo(t,e,i,r),this.__isPainter&&this.__onlyRegion||this.painter.quadraticCurveTo(t,e,i,r),this},t.prototype.bezierCurveTo=function(t,e,i,r,n,o){return this.__region&&this.__region.bezierCurveTo(t,e,i,r,n,o),this.__isPainter&&this.__onlyRegion||this.painter.bezierCurveTo(t,e,i,r,n,o),this},t.prototype.clearRect=function(t,e,i,r){return this.__region&&this.__region.clearRect(t,e,i,r),this.__isPainter&&this.__onlyRegion||this.painter.clearRect(t,e,i,r),this},t.prototype.fillArc=function(t,e,i,r,n,o){return this.__region&&this.__region.fillArc(t,e,i,r,n,o),this.__isPainter&&this.__onlyRegion||A(this.painter,this.__specialConfig,t,e,i,r,n,o).fill(),this},t.prototype.strokeArc=function(t,e,i,r,n,o){return this.__region&&this.__region.strokeArc(t,e,i,r,n,o),this.__isPainter&&this.__onlyRegion||A(this.painter,this.__specialConfig,t,e,i,r,n,o).stroke(),this},t.prototype.fullArc=function(t,e,i,r,n,o){return this.__region&&this.__region.fullArc(t,e,i,r,n,o),this.__isPainter&&this.__onlyRegion||(A(this.painter,this.__specialConfig,t,e,i,r,n,o),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillCircle=function(t,e,i){return this.__region&&this.__region.fillCircle(t,e,i),this.__isPainter&&this.__onlyRegion||M(this.painter,t,e,i).fill(),this},t.prototype.strokeCircle=function(t,e,i){return this.__region&&this.__region.strokeCircle(t,e,i),this.__isPainter&&this.__onlyRegion||M(this.painter,t,e,i).stroke(),this},t.prototype.fullCircle=function(t,e,i){return this.__region&&this.__region.fullCircle(t,e,i),this.__isPainter&&this.__onlyRegion||(M(this.painter,t,e,i),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillRect=function(t,e,i,r){return this.__region&&this.__region.fillRect(t,e,i,r),this.__isPainter&&this.__onlyRegion||L(this.painter,t,e,i,r).fill(),this},t.prototype.strokeRect=function(t,e,i,r){return this.__region&&this.__region.strokeRect(t,e,i,r),this.__isPainter&&this.__onlyRegion||L(this.painter,t,e,i,r).stroke(),this},t.prototype.fullRect=function(t,e,i,r){return this.__region&&this.__region.fullRect(t,e,i,r),this.__isPainter&&this.__onlyRegion||(L(this.painter,t,e,i,r),this.painter.fill(),this.painter.stroke()),this},t.prototype.draw=function(){},t}();function z(t,e,i,r){for(var n=[],o=0;o<r;o++)n[o]=t;return function(){for(var o=0;o<r;o++){if(n[o]+i<e){n[o]=+(n[o]+i).toFixed(7);break}o<r-1&&(n[o]=t)}return n}}var U={"font-size":"fontSize","font-family":"fontFamily","font-weight":"fontWeight","font-style":"fontStyle","arc-start-cap":"arcStartCap","arc-end-cap":"arcEndCap"},N=function(t){function e(e,i){var r=t.call(this,e,{},i?new k(i,{willReadFrequently:!0}):null,!0)||this;return r.name="Canvas",r.__regionList={},r.__regionAssemble=z(0,255,10,3),r.setRegion(""),r}return u(e,t),e.prototype.config=function(t){for(var e in t){var i=U[e]||e;this.useConfig(i,t[e])}return this},e.prototype.onlyRegion=function(t){return this.__onlyRegion=t,this},e.prototype.setRegion=function(t){if(this.__region)if(t){if(null==this.__regionList[t]){var e=this.__regionAssemble();this.__regionList[t]="rgb("+e[0]+","+e[1]+","+e[2]+")"}this.__region.useConfig("fillStyle",this.__regionList[t])&&this.__region.useConfig("strokeStyle",this.__regionList[t])}else this.__region.useConfig("fillStyle","#000000")&&this.__region.useConfig("strokeStyle","#000000");return this},e.prototype.getRegion=function(t,e){var i=this;return new Promise((function(r,n){var o=i.__region?i.__region.painter.getImageData(t-.5,e-.5,1,1):{data:[0,0,0,0]},s=o.data,a=function(){if(i.__region)for(var t in i.__regionList)if("rgb("+s[0]+","+s[1]+","+s[2]+")"==i.__regionList[t]){r(t);break}r("")};s?a():o.then((function(t){s=t,a()}))}))},e.prototype.textWidth=function(t){this.painter.save(),S(this.painter,this.__specialConfig,0,0,0);var e=this.painter.measureText(t+"").width;return this.painter.restore(),e},e.prototype.getContext=function(t){return void 0===t&&(t=!1),t?this.__region?this.__region.painter:null:this.painter},e.prototype.createLinearGradient=function(t,e,i,r){return function(t,e,i,r,n){var o=t.createLinearGradient(e,i,r,n),s={value:function(){return o},setColor:function(t,e){return o.addColorStop(t,e),s}};return s}(this.painter,t,e,i,r)},e.prototype.createRadialGradient=function(t,e,i){return function(t,e,i,r){var n=t.createRadialGradient(e,i,0,e,i,r),o={value:function(){return n},setColor:function(t,e){return n.addColorStop(t,e),o}};return o}(this.painter,t,e,i)},e.prototype.getColor=function(t,e){var i=this.painter.getImageData(t-.5,e-.5,1,1).data;return"rgba("+i[0]+","+i[1]+","+i[2]+","+i[3]+")"},e}(k);function O(t,e){for(var i in t)e[i]=t[i];return e}var B=function(t){function e(e,i){void 0===i&&(i={});var r=this;if(!e)throw new Error("VISLite Canvas:The mount point requires an HTMLElement type but encountered null.");i=O(i,{region:!0});var n,o,s=e.clientWidth,a=e.clientHeight,_=e;_._vislite_canvas_?(n=_._vislite_canvas_[0],o=_._vislite_canvas_[1]):(n=document.createElement("canvas"),e.appendChild(n),i.region&&(o=document.createElement("canvas")),_._vislite_canvas_=[n,o],e.setAttribute("vislite","Canvas"));for(var h=0,u=[n,o];h<u.length;h++){var l=u[h];l&&(l.style.width=s+"px",l.setAttribute("width",s+""),l.style.height=a+"px",l.setAttribute("height",a+""))}return(r=t.call(this,n,o)||this).__canvas=n,r}return u(e,t),e.prototype.toDataURL=function(){var t=this;return new Promise((function(e){e(t.__canvas.toDataURL())}))},e}(N);function F(t,e,i){void 0===i&&(i={});for(var r=["webgl","experimental-webgl","webkit-3d","moz-webgl"],n=null,o=0;o<r.length;o++){try{n=t.getContext(r[o],i)}catch(t){}if(n)break}if(!n)throw new Error("Non canvas or browser does not support webgl.");var s=n.canvas.width,a=n.canvas.height,_=s*e,h=a*e;return n.viewport(.5*(s-_),.5*(a-h),_,h),n.depthFunc(n.LEQUAL),n.enable(n.DEPTH_TEST),n}function D(t){var e=t.drawingBufferWidth,i=t.drawingBufferHeight,r=new Uint8Array(4*e*i);return t.readPixels(0,0,e,i,t.RGBA,t.UNSIGNED_BYTE,r),function(t,n){return"rgba("+r[4*((n=i-n)*e+t)]+","+r[4*(n*e+t)+1]+","+r[4*(n*e+t)+2]+","+r[4*(n*e+t)+3]+")"}}var G=function(){function t(t,e){void 0===e&&(e=!1),this.__painter=t,this.__isElement=e,this.__buffer=function(t){return t.createBuffer()}(t),this.__type=e?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER}return t.prototype.use=function(){return this.__painter.bindBuffer(this.__type,this.__buffer),this},t.prototype.write=function(t){return function(t,e,i,r){var n=i?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER;t.bufferData(n,e,r)}(this.__painter,t,this.__isElement,this.__painter.STATIC_DRAW),this.__fsize=t.BYTES_PER_ELEMENT,this},t.prototype.divide=function(t,e,i,r){return void 0===r&&(r=0),function(t,e,i,r,n,o,s){t.vertexAttribPointer(e,i,r,s,n,o),t.enableVertexAttribArray(e)}(this.__painter,t,e,this.__painter.FLOAT,i*this.__fsize,r*this.__fsize,!1),this},t}(),H=function(){function t(t,e,i){void 0===i&&(i=0),this.__painter=t,this.__type={"2d":t.TEXTURE_2D,cube:t.TEXTURE_CUBE_MAP}[e],this.__texture=function(t,e,i){var r=t.createTexture();return t.activeTexture(t["TEXTURE"+i]),t.bindTexture(e,r),r}(t,this.__type,i),t.texParameteri(this.__type,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(this.__type,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE)}return t.prototype.useImage=function(t){return function(t,e,i,r,n,o){t.texImage2D(e,i,r,r,n,o)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t),this},t.prototype.useCube=function(t,e,i){return function(t,e,i,r,n,o,s,a,_){for(var h,u=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],l=0;l<u.length;l++)o[l]&&(h=u[l],t.texImage2D(h,i,r,s,a,0,r,n,null),t.bindTexture(e,_),t.texImage2D(h,i,r,r,n,o[l]));t.generateMipmap(e)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t,e,i,this.__texture),this},t}(),W={};function V(t,e,i){var r=t+"-"+i;return W[r]||(W[r]=new H(e,i)),W[r]}var X=function(t,e,i){var r=t.createShader(e);if(null==r)throw new Error("Unable to create shader!");if(t.shaderSource(r,i),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw new Error("Failed to compile shader:"+t.getShaderInfoLog(r));return r},q=function(){function t(t){this.__painter=t}return t.prototype.use=function(){return this.__painter.useProgram(this.program),this},t.prototype.compile=function(t,e){return this.program=function(t,e,i){var r=X(t,t.VERTEX_SHADER,e),n=X(t,t.FRAGMENT_SHADER,i),o=t.createProgram();if(t.attachShader(o,r),t.attachShader(o,n),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw new Error("Failed to link program: "+t.getProgramInfoLog(o));return o}(this.__painter,t,e),this},t}(),Y="attribute vec4 a_position;\nuniform mat4 u_matrix;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n\n // 把原生的WebGL使用的左手坐标系变成了右手坐标系\n temp.z = -1.0 * temp.z;\n\n // 表示眼睛距离vec4(0.0,0.0,1.0)的距离\n float dist = 4.0;\n\n // 使用投影直接计算\n // 为保证纹理和相对位置正确\n // x、y、z的改变满足线性变换\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n}",j="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_color;\nvarying vec4 v_color;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_color = a_color;\n}",Z="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec2 a_textcoord;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_textcoord = a_textcoord;\n}",J="attribute vec4 a_position;\nuniform mat4 u_matrix;\nattribute vec4 a_normal;\nvarying vec3 v_normal;\n\nvoid main()\n{\n vec4 temp = u_matrix * a_position;\n temp.z = -1.0 * temp.z;\n float dist = 4.0;\n gl_Position = vec4((dist + 1.0) * temp.x, (dist + 1.0) * temp.y, dist * (dist + temp.z) + 1.0 - dist * dist, temp.w * 2.0 * (dist + temp.z));\n\n v_normal = normalize(vec3(a_normal));\n}",Q="precision mediump float;\n\nuniform vec4 u_color;\n\nvoid main()\n{\n gl_FragColor = u_color;\n}",K="precision mediump float;\n\nvarying vec4 v_color;\n\nvoid main()\n{\n gl_FragColor = v_color;\n}",$="precision mediump float;\n\nuniform sampler2D u_sampler;\nvarying vec2 v_textcoord;\n\nvoid main()\n{\n gl_FragColor = texture2D(u_sampler, v_textcoord);\n}",tt="precision mediump float;\n\nvarying vec3 v_normal;\nuniform samplerCube u_texture;\n\nvoid main()\n{\n gl_FragColor = textureCube(u_texture, normalize(v_normal));\n}",et={};function it(t,e,i,r,n){var o=function(t,e,i){var r,n,o=t+(i.material.color?"1":"0")+(i.material.colors?"1":"0")+(i.material.image?"1":"0")+(i.material.cube?"1":"0");if(et[o])return et[o].use();var s=(r={},r[t+"1000"]=Y,r[t+"0100"]=j,r[t+"0010"]=Z,r[t+"0001"]=J,r)[o].replace(/uniform +mat4 +u_matrix;/,"\n uniform mat4 u_matrix_world;\n uniform mat4 u_matrix_mesh;\n uniform mat4 u_matrix_proporion;").replace(/u_matrix +\* +a_position/,"u_matrix_proporion * u_matrix_world * u_matrix_mesh * a_position"),a=(n={},n[t+"1000"]=Q,n[t+"0100"]=K,n[t+"0010"]=$,n[t+"0001"]=tt,n)[o],_=new q(e).compile(s,a).use();return et[o]=_,_}(t,e,i);if(new G(e).use().write(i.geometry.attributes.position.array).divide(e.getAttribLocation(o.program,"a_position"),i.geometry.attributes.position.itemSize,i.geometry.attributes.position.itemSize,0),e.uniformMatrix4fv(e.getUniformLocation(o.program,"u_matrix_world"),!1,n.matrix),e.uniformMatrix4fv(e.getUniformLocation(o.program,"u_matrix_proporion"),!1,n.proporion),e.uniformMatrix4fv(e.getUniformLocation(o.program,"u_matrix_mesh"),!1,r.matrix),i.geometry.attributes.normal&&new G(e).use().write(i.geometry.attributes.normal.array).divide(e.getAttribLocation(o.program,"a_normal"),i.geometry.attributes.normal.itemSize,i.geometry.attributes.normal.itemSize,0),"color"in i.material&&e.uniform4f(e.getUniformLocation(o.program,"u_color"),i.material.color.r,i.material.color.g,i.material.color.b,i.material.color.alpha),"colors"in i.material)new G(e).use().write(i.material.colors.array).divide(e.getAttribLocation(o.program,"a_color"),i.material.colors.itemSize,i.material.colors.itemSize,0);else if("cube"in i.material){var s=i.material.cube.right.image.value.width;e.uniform1i(e.getUniformLocation(o.program,"u_texture"),0),V(t,e,"cube").useCube([i.material.cube.right.image.value,i.material.cube.left.image.value,i.material.cube.top.image.value,i.material.cube.bottom.image.value,i.material.cube.far.image.value,i.material.cube.near.image.value],s,s)}else"image"in i.material&&(e.uniform1i(e.getUniformLocation(o.program,"u_sampler"),0),new G(e).use().write(i.geometry.attributes.uv.array).divide(e.getAttribLocation(o.program,"a_textcoord"),i.geometry.attributes.uv.itemSize,2,0),V(t,e,"2d").useImage(i.material.image.value));i.geometry.index?(new G(e,!0).use().write(i.geometry.index.array),e.drawElements(e[i.geometry.type],i.geometry.index.count,e.UNSIGNED_BYTE,0)):e.drawArrays(e[i.geometry.type],0,i.geometry.attributes.position.count)}var rt,nt=!1,ot=function(){function t(t,e){this.name="WebGL",this.__getColor=function(t,e){return"rgba(0,0,0,1)"},this.__regionList={},this.__regionAssemble=z(0,1,.2,3),this.__regionName="",this.__regionColor=[0,0,0,1],this.__scene={children:[],matrix:new r([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,10])},this.__unique=(new Date).valueOf(),this.painter=F(t,10),e&&(this.__regionPainter=F(e,10,{}));var i=this.painter.canvas.width/this.painter.canvas.height,n=1,o=1;i>1?n=1/i:o=i;var s=Math.min(n,o);this.__proporion=[n,0,0,0,0,o,0,0,0,0,s,0,0,0,0,1]}return t.prototype.matrix=function(t){return new r(t)},t.prototype.getMatrix=function(){return this.__scene.matrix},t.prototype.getObject3D=function(){return this.__scene.children},t.prototype.review=function(t){void 0===t&&(t=!1),t?this.__regionPainter&&(this.__regionPainter.clearColor(1,1,1,1),this.__regionPainter.clear(this.__regionPainter.COLOR_BUFFER_BIT)):(this.painter.clearColor(1,1,1,1),this.painter.clear(this.painter.COLOR_BUFFER_BIT));for(var e=0;e<this.__scene.children.length;e++)this.draw(this.__scene.children[e],t);return this},t.prototype.draw=function(t,e){void 0===e&&(e=!1),e||(nt=!0);var i={matrix:t.matrix.value()},r={matrix:this.__scene.matrix.value(),proporion:this.__proporion};this.setRegion(t.region);for(var n=0;n<t.mesh.length;n++)e?this.__regionPainter&&(it("painter"+this.__unique,this.__regionPainter,{geometry:t.mesh[n].geometry,material:{color:{r:this.__regionColor[0],g:this.__regionColor[1],b:this.__regionColor[2],alpha:this.__regionColor[3]}}},i,r),this.__getColor=D(this.__regionPainter)):it("region"+this.__unique,this.painter,t.mesh[n],i,r)},t.prototype.render=function(t){"matrix"in t||(t.matrix=new r),"region"in t||(t.region="");for(var e=0;e<t.mesh.length;e++){var i=t.mesh[e];i.geometry.attributes.normal&&Array.isArray(i.geometry.attributes.normal.array)&&(i.geometry.attributes.normal.array=new Float32Array(i.geometry.attributes.normal.array)),i.geometry.attributes.position&&Array.isArray(i.geometry.attributes.position.array)&&(i.geometry.attributes.position.array=new Float32Array(i.geometry.attributes.position.array)),i.geometry.attributes.uv&&Array.isArray(i.geometry.attributes.uv.array)&&(i.geometry.attributes.uv.array=new Float32Array(i.geometry.attributes.uv.array)),i.geometry.index&&Array.isArray(i.geometry.index.array)&&(i.geometry.index.array=new Uint8Array(i.geometry.index.array)),i.material.colors&&Array.isArray(i.material.colors.array)&&(i.material.colors.array=new Float32Array(i.material.colors.array))}this.__scene.children.push(t),this.draw(t)},t.prototype.setRegion=function(t){return this.__regionName=t+"",t?(null==this.__regionList[t]&&(this.__regionList[t]=l(l([],this.__regionAssemble(),!0),[1],!1)),this.__regionColor=this.__regionList[t]):this.__regionColor=[0,0,0,1],this},t.prototype.getRegion=function(t,e){var i=this;return nt&&this.review(!0),nt=!1,new Promise((function(r,n){var o=i.__getColor(t,e);for(var s in i.__regionList){var a=i.__regionList[s];if("rgba("+255*a[0]+","+255*a[1]+","+255*a[2]+","+255*a[3]+")"==o){r(s);break}}r("")}))},t}(),st=function(t){function e(e,i){if(void 0===i&&(i={}),!e)throw new Error("VISLite WebGL:The mount point requires an HTMLElement type but encountered null.");i=O(i,{region:!0});var r,n,o=e.clientWidth,s=e.clientHeight,a=e;a._vislite_canvas_?(r=a._vislite_canvas_[0],n=a._vislite_canvas_[1]):(i.region&&(n=document.createElement("canvas"),e.appendChild(n),n.style.position="absolute",n.style.zIndex="-1",n.style.opacity="0"),r=document.createElement("canvas"),e.appendChild(r),a._vislite_canvas_=[r,n],e.setAttribute("vislite","WebGL"));for(var _=0,h=[r,n];_<h.length;_++){var u=h[_];u&&(u.style.width=o+"px",u.setAttribute("width",o+""),u.style.height=s+"px",u.setAttribute("height",s+""))}return t.call(this,r,n)||this}return u(e,t),e}(ot),at=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return u(e,t),e.prototype.compile=function(e,i){return i?t.prototype.compile.call(this,e,i):t.prototype.compile.call(this,{color:Y,colors:j,image:Z,cube:J}[e],{color:Q,colors:K,image:$,cube:tt}[e]),this},e}(q),_t=function(t,e,i,r){var n=Math.cos(t),o=Math.sin(t);return[e*n-i*o,e*o+i*n,r]},ht=function(){function t(t,e){void 0===t&&(t=7),void 0===e&&(e=[107,36]),this.name="Eoap",this.__scale=t,this.__center=e}return t.prototype.use=function(t,e){var i,r,n,o,s,a,_=(i=(360-e)/180*Math.PI,r=100*this.__scale,n=0,o=0,s=Math.cos(i),a=Math.sin(i),[o*a+r*s,n,o*s-r*a]);return _=_t(t/180*Math.PI,_[0],_[1],_[2]),_=_t((90-this.__center[0])/180*Math.PI,_[0],_[1],_[2]),_=function(t,e,i,r){var n=Math.cos(t),o=Math.sin(t);return[e,i*n-r*o,i*o+r*n]}((90-this.__center[1])/180*Math.PI,_[0],_[1],_[2]),[-_[0],_[1],_[2]]},t}(),ut=function(t,e){void 0===t&&(t=7),void 0===e&&(e=[107,36]),this.name="Mercator";var i=100*t*Math.PI/180,r=i*e[0],n=-1*i*e[1];this.use=function(t,e){return[.8*(i*t-r),-1*i*e-n,0]}},lt=function(t,e){var i=t.getBoundingClientRect();return{x:e.clientX-i.left,y:e.clientY-i.top}},pt={},ct=0,ft=function(){function t(t){void 0===t&&(t={}),this.name="Tree",this.__config=O(t,{root:function(t){return t},children:function(t){return t.children},id:function(t){return t.name}})}return t.prototype.use=function(t,e){return void 0===e&&(e={}),function(t,e,i){var r=function(t,e){var i,r,n={},o=e.root(t);i=r=e.id(o),n[i]={data:o,pid:null,id:i,isOpen:!0,show:!0,children:[]};var s=1;return function r(o,a){var _=e.children(o,t);s+=_?_.length:0;for(var h=0;_&&h<_.length;h++)i=e.id(_[h]),n[a].children.push(i),n[i]={data:_[h],pid:a,id:i,isOpen:!0,show:!0,children:[]},r(_[h],i)}(o,i),{rid:r,value:n,num:s}}(t,e),n=r.value,o=r.rid;if(1==r.num)return n[o].left=.5,n[o].top=.5,n[o].show=!0,{deep:1,node:n,root:o,size:1};var s=[],a=0,_=0;for(var h in i[o]?(n[o].left=.5,n[o].top=.5,n[o].show=!0,a=1):function t(e,r){r>_&&(_=r);var o=0;if(!i[e.id])for(o=0;o<e.children.length;o++)t(n[e.children[o]],r+1);if(n[e.id].left=r+.5,0==o?(null==s[r]&&(s[r]=-.5),null==s[r-1]&&(s[r-1]=-.5),n[e.id].top=s[r]+1,s[r]+1+.5*(n[e.pid].children.length-1)-1<s[r-1]&&(n[e.id].top=s[r-1]+1-.5*(n[e.pid].children.length-1))):n[e.id].top=.5*(n[e.children[0]].top+n[e.children[o-1]].top),n[e.id].top<=s[r])var h=s[r]+1-n[e.id].top((function t(e,i){n[e].top+=h,s[i]<n[e].top&&(s[i]=n[e].top);for(var r=0;r<n[e].children.length;r++)t(n[e].children[r],i+1)}))(e.id,r);s[r]=n[e.id].top,n[e.id].top+.5>a&&(a=n[e.id].top+.5)}(n[o],0),i)i[h]&&(n[h].isOpen=!1,function t(e,i,r){for(var o=0;o<n[e].children.length;o++)n[n[e].children[o]].left=i,n[n[e].children[o]].top=r,n[n[e].children[o]].show=!1,t(n[e].children[o],i,r)}(h,n[h].left,n[h].top));return{node:n,root:o,size:a,deep:_+1}}(t,this.__config,e)},t}(),dt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="TreeLayout",e.__option={offsetX:0,offsetY:0,duration:500,type:"plain",direction:"LR",x:100,y:100,width:100,height:100,radius:100},e.__noOpens={},e}return u(e,t),e.prototype.setOption=function(t){return O(t,this.__option),this},e.prototype.use=function(e,i){void 0===i&&(i={});var r=t.prototype.use.call(this,e,i);if(0!=this.__option.offsetX||0!=this.__option.offsetY)for(var o in r.node)if(!r.node[o].show){var s=0,a=o;do{a=r.node[a].pid,s++}while(!r.node[a].show);r.node[o].left+=this.__option.offsetX*s,r.node[o].top+=this.__option.offsetY*s}if("rect"==this.__option.type){if("LR"==this.__option.direction||"RL"==this.__option.direction){var _=this.__option.height/r.size,h=this.__option.width/(r.deep-1),u=this.__option.y-.5*this.__option.height,l="LR"==this.__option.direction?1:-1;for(var o in r.node)1==r.deep?(r.node[o].left=this.__option.x+.5*this.__option.width*l,r.node[o].top=this.__option.y):(r.node[o].left=this.__option.x+(r.node[o].left-.5)*h*l,r.node[o].top=r.node[o].top*_+u)}else if("TB"==this.__option.direction||"BT"==this.__option.direction)for(var o in _=this.__option.width/r.size,h=this.__option.height/(r.deep-1),u=this.__option.x-.5*this.__option.width,l="TB"==this.__option.direction?1:-1,r.node)if(1==r.deep)r.node[o].left=this.__option.x,r.node[o].top=this.__option.y+.5*this.__option.height*l;else{var p=r.node[o].left;r.node[o].left=r.node[o].top*_+u,r.node[o].top=this.__option.y+(p-.5)*h*l}}else if("circle"==this.__option.type){var c=this.__option.x,f=this.__option.y,d=2*Math.PI/r.size,g=this.__option.radius/(r.deep-1);for(var o in r.node)if(.5==r.node[o].left)r.node[o].left=c,r.node[o].top=f;else{var m=n(c,f,d*r.node[o].top,c+(r.node[o].left-.5)*g,f);r.node[o].left=m[0],r.node[o].top=m[1]}}return r},e.prototype.bind=function(t,e,i){return void 0===i&&(i={}),this.__rback=e,this.__oralTree=t,this.__noOpens=i,this.__preTree=this.use(this.__oralTree,this.__noOpens),this.__rback(this.__preTree),this},e.prototype.unbind=function(){return this.__rback=null,this.__oralTree=null,this.__preTree=null,this.__noOpens={},this},e.prototype.doUpdate=function(){var t=this,e=this.use(this.__oralTree,this.__noOpens),i=JSON.parse(JSON.stringify(e));_((function(r){for(var n in i.node)(e.node[n].show||t.__preTree.node[n].show)&&(i.node[n].show=!0,i.node[n].left=t.__preTree.node[n].left+(e.node[n].left-t.__preTree.node[n].left)*r,i.node[n].top=t.__preTree.node[n].top+(e.node[n].top-t.__preTree.node[n].top)*r);t.__rback(i)}),this.__option.duration,(function(){t.__preTree=e,t.__rback(t.__preTree)}))},e.prototype.closeNode=function(t){if(this.__preTree)return this.__noOpens[t]=!0,this.doUpdate(),this},e.prototype.openNode=function(t){if(this.__preTree)return this.__noOpens[t]=!1,this.doUpdate(),this},e.prototype.toggleNode=function(t){if(this.__preTree)return this.__noOpens[t]=!this.__noOpens[t],this.doUpdate(),this},e}(ft),gt=function(t,e){var i=Math.ceil(2*Math.PI/Math.asin(t/e)*2);return isNaN(i)||i<12?12:i};function mt(t,e,i,r,o,s,a){var _,h;if(4==s){var u=o/1.414;_=e+u,h=r+u}else _=e+o,h=r;for(var l=[_,h],p=[],c=2*Math.PI/s,f=0;f<s;f++)p.push(e,i,r),t&&p.push(0,a,0),p.push(l[0],i,l[1]),t&&p.push(0,a,0),l=n(e,r,c*(f+1),_,h),p.push(l[0],i,l[1]),t&&p.push(0,a,0);return p}function vt(t,e,i,r,o,s,a){var _,h=[e,i+o,r],u=2*Math.PI/s;t&&h.push(0,o,0);for(var l=function(){h.push.apply(h,h.slice(h.length-(t?12:6)))},p=1;p<.5*s;p++){_=n(e,i,u*p,e,i+o),p>1&&l();var c=n(e,r,u*a,_[0],r);h.push(c[0],_[1],c[1]),t&&h.push(c[0]-e,_[1]-i,c[1]-r),p>1&&l();var f=n(e,r,u*(a+1),_[0],r);h.push(f[0],_[1],f[1]),t&&h.push(f[0]-e,f[1]-i,f[1]-r)}return l(),h.push(e,i-o,r),t&&h.push(0,-o,0),h}var yt=function(){function t(t){void 0===t&&(t={}),this.name="Geometry",this.__option=O(t,{precision:.1,normal:!1})}return t.prototype.config=function(t){for(var e in t)this.__option[e]=t[e];return this},t.prototype.cylinder=function(t,e,i,r,n){var o=gt(this.__option.precision,r);return this.prism(t,e,i,r,n,o)},t.prototype.prism=function(t,e,i,r,o,s){var a,_,h,u=[{points:[],length:0,method:"TRIANGLES"}];return(a=u[0].points).push.apply(a,mt(this.__option.normal,t,e,i,r,s,o>0?-1:1)),(_=u[0].points).push.apply(_,mt(this.__option.normal,t,e+o,i,r,s,o>0?1:-1)),(h=u[0].points).push.apply(h,function(t,e,i,r,o,s,a){var _,h=[];_=4==a?n(e,r,.25*Math.PI,e-o,r):[e+o,r];for(var u,p=2*Math.PI/a,c=2*Math.PI/(2*a),f=[],d=0;d<a;d++){if(u=n.apply(void 0,l([e,r,p],_,!1)),t){var g=n.apply(void 0,l([e,r,c],_,!1));f=[g[0],0,g[1]]}h.push.apply(h,l([_[0],i,_[1]],f,!1)),h.push.apply(h,l([_[0],i+s,_[1]],f,!1)),h.push.apply(h,l([u[0],i+s,u[1]],f,!1)),h.push.apply(h,l([_[0],i,_[1]],f,!1)),h.push.apply(h,l([u[0],i,u[1]],f,!1)),h.push.apply(h,l([u[0],i+s,u[1]],f,!1)),_=u}return h}(this.__option.normal,t,e,i,r,o,s)),u[0].length=12*s,u},t.prototype.sphere=function(t,e,i,r){for(var n,o=gt(this.__option.precision,r),s=[{points:[],length:0,method:"TRIANGLES"}],a=0;a<o;a++)(n=s[0].points).push.apply(n,vt(this.__option.normal,t,e,i,r,o,a));return s[0].length=s[0].points.length/(this.__option.normal?6:3),s},t}(),Et={Cardinal:e,Hermite:t,Matrix4:r,rotate:n,getLoopColors:function(t,e){void 0===e&&(e=1);var i=["rgba(84,112,198,"+e+")","rgba(145,204,117,"+e+")","rgba(250,200,88,"+e+")","rgba(238,102,102,"+e+")","rgba(115,192,222,"+e+")","rgba(59,162,114,"+e+")","rgba(252,132,82,"+e+")","rgba(154,96,180,"+e+")","rgba(234,124,204,"+e+")"],r=[];if(t<=i.length)return i;if(t%i.length==0)for(var n=0;n<t/i.length;n++)r=r.concat(i);else{for(var o=1;o<t/i.length;o++)r=r.concat(i);if(t%i.length==1)r=r.concat(i[4]);else for(var s=0;s<t%i.length;s++)r=r.concat(i[s])}return r},formatColor:function(t,e){var i=document.getElementsByTagName("head")[0];i.style.color=t;for(var r=(document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(i,null):i.currentStyle).getPropertyValue("color").replace(/rgba?\(/,"").replace(")","").split(","),n=0;n<r.length;n++)r[n]=+r[n];switch(r.push(1),e){case"3d":return[r[0]/255,r[1]/255,r[2]/255,r[3]];case"rgba":return"rgba(".concat(r[0],", ").concat(r[1],", ").concat(r[2],", ").concat(r[3],")");case"rgb":return"rgb(".concat(r[0],", ").concat(r[1],", ").concat(r[2],")");case"hexAlpha":return"#".concat(s(r[0])).concat(s(r[1])).concat(s(r[2])).concat(s(+(255*r[3]).toFixed(0)));case"hex":return"#".concat(s(r[0])).concat(s(r[1])).concat(s(r[2]))}throw new Error("Unsupported color format: "+e)},animation:_,ruler:function(t,e,i,r){if(t<e){var n=e;e=t,t=n}else if(t==e)return[t];var o=function(t){for(var e=t<100&&t>-100?10:.1,i=-1,r=t;10==e?r>=-100&&r<=100:r<=-100||r>=100;)i+=1,r*=e;if(10==e)return Math.pow(10,i);for(var n="0.",o=1;o<i;o++)n+="0";return+(n+"1")}(t-e),s=Math.ceil((t-e)*o/i),a=function(i){var r=({3:2,4:5,6:5,7:5,8:10,9:10,11:10,12:10,13:15,14:15,16:15,17:15,18:20,19:20,21:20,22:20,23:25,24:25,26:25,27:25}[s+i]||s+i)/o,n=Math.floor(e/r)*r,a=[];a.push(n);for(var _=1;a[a.length-1]<t;_++)a.push(n+r*_);return a},_=a(0),h=function(){for(var t=[],i=_[_.length-1]-r.max,n=0;n<_.length;n++)n+1<_.length&&_[n+1]-i<e||t.push(_[n]-i);return t},u=function(){for(var e=[],i=_[0]-r.min,n=0;n<_.length&&(e[n]=_[n]-i,!(t<=e[n]));n++);return e};if(r){if("max"in r&&"min"in r&&r.max>=t&&r.min<=e){var l=function(){if(_[0]>=r.min&&_[_.length-1]<=r.max)return!0;var t=h();if(t[0]>=r.min&&t[t.length-1]<=r.max)return _=t,!0;var e=u();return e[0]>=r.min&&e[t.length-1]<=r.max?(_=e,!0):void 0};if(l())return _;for(var p=1;p<100;p++){if(_=a(p),l())return _;if(_=a(-p),l())return _}}"max"in r&&r.max>=t?r.max<_[_.length-1]&&(_=h()):"min"in r&&r.min<=e&&r.min>_[0]&&(_=u())}return _},SVG:R,Canvas:B,WebGL:st,getWebGLContext:function(t,e){if(void 0===e&&(e=1),!t)throw new Error("VISLite getWebGLContext:The mount point requires an HTMLElement type but encountered null.");var i,r=t.clientWidth,n=t.clientHeight,o=t;return o._vislite_canvas_?i=o._vislite_canvas_:(i=document.createElement("canvas"),t.appendChild(i),o._vislite_canvas_=i,t.setAttribute("vislite","WebGL")),i.style.width=r+"px",i.setAttribute("width",r+""),i.style.height=n+"px",i.setAttribute("height",n+""),F(i,e)},Shader:at,Texture:H,Buffer:G,Eoap:ht,Mercator:ut,viewHandler:function(t){var e=document.getElementsByTagName("body")[0];e.addEventListener("keydown",(function(e){var i=function(t){return{37:"left",38:"up",39:"right",40:"down"}[t.keyCode||t.which]}(e);"up"==i?t({type:"lookUp",normal:[],value:.1,event:e}):"down"==i?t({type:"lookDown",normal:[],value:.1,event:e}):"left"==i?t({type:"lookLeft",normal:[],value:.1,event:e}):"right"==i&&t({type:"lookRight",normal:[],value:.1,event:e})}));var i=null,r=function(r){if(null==i)t({type:"hover",normal:[],value:0,event:r});else{var n=lt(e,r),o=[n.x-i.x,n.y-i.y],s=[o[1],o[0],0];if(0==s[0]&&0==s[1])return;t({type:"rotate",normal:s,value:.01*(Math.abs(n.x-i.x)+Math.abs(n.y-i.y)),event:r}),i=n}};e.addEventListener("mousedown",(function(t){i=lt(e,t)})),e.addEventListener("mouseup",(function(t){i=null})),e.addEventListener("mousemove",(function(t){r(t)})),e.addEventListener("touchend",(function(t){i=null})),e.addEventListener("touchstart",(function(t){i=lt(e,t)})),e.addEventListener("touchmove",(function(t){r(t.touches[0])}));var n=function(e,i){0!=e&&t({type:"scale",value:e<0?.899:1.101,normal:[],event:i})};e.addEventListener("mousewheel",(function(t){n(t.wheelDelta,t)})),window.addEventListener&&window.addEventListener("DOMMouseScroll",(function(t){n(-1*t.detail,t)}),!1)},resizeObserver:function(t,e){try{return rt||(rt=new ResizeObserver((function(t){for(var e=0,i=t;e<i.length;e++){var r=i[e];pt[r.target._resize_observer_]()}}))),ct++,t._resize_observer_=ct,pt[ct]=e,rt.observe(t),function(){rt&&(rt.unobserve(t),delete pt[t._resize_observer_])}}catch(t){e(),console.error("ResizeObserver undefined!")}},throttle:function(t,e){void 0===e&&(e={}),e=O(e,{time:200,keep:!1,opportunity:"end"});var i,r=!1,n=!1,o=!1;return function(){var s=this;if(i=arguments,r)n=!0,o=!0;else{"end"!=e.opportunity&&t.apply(s,i),r=!0;var a=setInterval((function(){n?e.keep||t.apply(s,i):("begin"!=e.opportunity&&(o||"end"==e.opportunity)&&t.apply(s,i),r=!1,o=!1,clearInterval(a)),n=!1}),e.time)}}},TreeLayout:dt,Geometry:yt};return Et},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite=e();
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
(function (global, factory) {
|
|
12
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
13
|
-
typeof define === 'function' && define.amd ? define(factory) :
|
|
14
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_resizeObserver = factory());
|
|
15
|
-
})(this, (function () { 'use strict';
|
|
16
|
-
|
|
17
|
-
var observer;
|
|
18
|
-
var attrValueToCallback = {}, uniqueid = 0;
|
|
19
|
-
function resizeObserver (el, callback) {
|
|
20
|
-
try {
|
|
21
|
-
if (!observer) {
|
|
22
|
-
observer = new ResizeObserver(function (entries) {
|
|
23
|
-
for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
|
|
24
|
-
var entry = entries_1[_i];
|
|
25
|
-
attrValueToCallback[entry.target._resize_observer_]();
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
uniqueid++;
|
|
30
|
-
el._resize_observer_ = uniqueid;
|
|
31
|
-
attrValueToCallback[uniqueid] = callback;
|
|
32
|
-
observer.observe(el);
|
|
33
|
-
return function () {
|
|
34
|
-
if (observer) {
|
|
35
|
-
observer.unobserve(el);
|
|
36
|
-
delete attrValueToCallback[el._resize_observer_];
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
catch (e) {
|
|
41
|
-
callback();
|
|
42
|
-
console.error('ResizeObserver undefined!');
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return resizeObserver;
|
|
47
|
-
|
|
48
|
-
}));
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
var e,r;e=this,r=function(){"use strict";var e,r={},n=0;return function(o,t){try{return e||(e=new ResizeObserver((function(e){for(var n=0,o=e;n<o.length;n++){var t=o[n];r[t.target._resize_observer_]()}}))),n++,o._resize_observer_=n,r[n]=t,e.observe(o),function(){e&&(e.unobserve(o),delete r[o._resize_observer_])}}catch(e){t(),console.error("ResizeObserver undefined!")}}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_resizeObserver=r();
|
package/lib/rotate/index.umd.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
(function (global, factory) {
|
|
12
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
13
|
-
typeof define === 'function' && define.amd ? define(factory) :
|
|
14
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_rotate = factory());
|
|
15
|
-
})(this, (function () { 'use strict';
|
|
16
|
-
|
|
17
|
-
function rotate (cx, cy, deg, x, y) {
|
|
18
|
-
var cos = Math.cos(deg), sin = Math.sin(deg);
|
|
19
|
-
return [
|
|
20
|
-
(x - cx) * cos - (y - cy) * sin + cx,
|
|
21
|
-
(x - cx) * sin + (y - cy) * cos + cy
|
|
22
|
-
];
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return rotate;
|
|
26
|
-
|
|
27
|
-
}));
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
var e,t;e=this,t=function(){"use strict";return function(e,t,n,o,i){var f=Math.cos(n),d=Math.sin(n);return[(o-e)*f-(i-t)*d+e,(o-e)*d+(i-t)*f+t]}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_rotate=t();
|
package/lib/ruler/index.umd.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
(function (global, factory) {
|
|
12
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
13
|
-
typeof define === 'function' && define.amd ? define(factory) :
|
|
14
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_ruler = factory());
|
|
15
|
-
})(this, (function () { 'use strict';
|
|
16
|
-
|
|
17
|
-
function ruler (maxValue, minValue, num, option) {
|
|
18
|
-
if (maxValue < minValue) {
|
|
19
|
-
var temp = minValue;
|
|
20
|
-
minValue = maxValue;
|
|
21
|
-
maxValue = temp;
|
|
22
|
-
}
|
|
23
|
-
else if (maxValue == minValue) {
|
|
24
|
-
return [maxValue];
|
|
25
|
-
}
|
|
26
|
-
var times100 = (function (_value) {
|
|
27
|
-
var _times100_base = (_value < 100 && _value > -100) ? 10 : 0.1;
|
|
28
|
-
var _times100 = -1, _tiemsValue = _value;
|
|
29
|
-
while (_times100_base == 10 ?
|
|
30
|
-
(_tiemsValue >= -100 && _tiemsValue <= 100)
|
|
31
|
-
:
|
|
32
|
-
(_tiemsValue <= -100 || _tiemsValue >= 100)) {
|
|
33
|
-
_times100 += 1;
|
|
34
|
-
_tiemsValue *= _times100_base;
|
|
35
|
-
}
|
|
36
|
-
if (_times100_base == 10) {
|
|
37
|
-
return Math.pow(10, _times100);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
var temp = "0.";
|
|
41
|
-
for (var i = 1; i < _times100; i++) {
|
|
42
|
-
temp += "0";
|
|
43
|
-
}
|
|
44
|
-
return +(temp + "1");
|
|
45
|
-
}
|
|
46
|
-
})(maxValue - minValue);
|
|
47
|
-
var distance100_oral = Math.ceil((maxValue - minValue) * times100 / num);
|
|
48
|
-
var getResult = function (changValue) {
|
|
49
|
-
var distance100 = {
|
|
50
|
-
3: 2,
|
|
51
|
-
4: 5,
|
|
52
|
-
6: 5,
|
|
53
|
-
7: 5,
|
|
54
|
-
8: 10,
|
|
55
|
-
9: 10,
|
|
56
|
-
11: 10,
|
|
57
|
-
12: 10,
|
|
58
|
-
13: 15,
|
|
59
|
-
14: 15,
|
|
60
|
-
16: 15,
|
|
61
|
-
17: 15,
|
|
62
|
-
18: 20,
|
|
63
|
-
19: 20,
|
|
64
|
-
21: 20,
|
|
65
|
-
22: 20,
|
|
66
|
-
23: 25,
|
|
67
|
-
24: 25,
|
|
68
|
-
26: 25,
|
|
69
|
-
27: 25
|
|
70
|
-
}[distance100_oral + changValue] || (distance100_oral + changValue);
|
|
71
|
-
var distance = distance100 / times100;
|
|
72
|
-
var begin = Math.floor(minValue / distance) * distance;
|
|
73
|
-
var rulerArray = [];
|
|
74
|
-
rulerArray.push(begin);
|
|
75
|
-
for (var index = 1; rulerArray[rulerArray.length - 1] < maxValue; index++) {
|
|
76
|
-
rulerArray.push(begin + distance * index);
|
|
77
|
-
}
|
|
78
|
-
return rulerArray;
|
|
79
|
-
};
|
|
80
|
-
var rulerArray = getResult(0);
|
|
81
|
-
var balanceMax = function () {
|
|
82
|
-
var rulerArray_temp = [];
|
|
83
|
-
var changeDist = rulerArray[rulerArray.length - 1] - option.max;
|
|
84
|
-
for (var index = 0; index < rulerArray.length; index++) {
|
|
85
|
-
if (index + 1 < rulerArray.length && rulerArray[index + 1] - changeDist < minValue) ;
|
|
86
|
-
else {
|
|
87
|
-
rulerArray_temp.push(rulerArray[index] - changeDist);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return rulerArray_temp;
|
|
91
|
-
};
|
|
92
|
-
var balanceMin = function () {
|
|
93
|
-
var rulerArray_temp = [];
|
|
94
|
-
var changeDist = rulerArray[0] - option.min;
|
|
95
|
-
for (var index = 0; index < rulerArray.length; index++) {
|
|
96
|
-
rulerArray_temp[index] = rulerArray[index] - changeDist;
|
|
97
|
-
if (maxValue <= rulerArray_temp[index])
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
return rulerArray_temp;
|
|
101
|
-
};
|
|
102
|
-
if (option) {
|
|
103
|
-
if ('max' in option && 'min' in option && option.max >= maxValue && option.min <= minValue) {
|
|
104
|
-
var isAnswer = function () {
|
|
105
|
-
if (rulerArray[0] >= option.min && rulerArray[rulerArray.length - 1] <= option.max)
|
|
106
|
-
return true;
|
|
107
|
-
var rulerArray_max = balanceMax();
|
|
108
|
-
if (rulerArray_max[0] >= option.min && rulerArray_max[rulerArray_max.length - 1] <= option.max) {
|
|
109
|
-
rulerArray = rulerArray_max;
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
var rulerArray_min = balanceMin();
|
|
113
|
-
if (rulerArray_min[0] >= option.min && rulerArray_min[rulerArray_max.length - 1] <= option.max) {
|
|
114
|
-
rulerArray = rulerArray_min;
|
|
115
|
-
return true;
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
if (isAnswer())
|
|
119
|
-
return rulerArray;
|
|
120
|
-
for (var changValue = 1; changValue < 100; changValue++) {
|
|
121
|
-
rulerArray = getResult(changValue);
|
|
122
|
-
if (isAnswer())
|
|
123
|
-
return rulerArray;
|
|
124
|
-
rulerArray = getResult(-changValue);
|
|
125
|
-
if (isAnswer())
|
|
126
|
-
return rulerArray;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if ('max' in option && option.max >= maxValue) {
|
|
130
|
-
if (option.max < rulerArray[rulerArray.length - 1]) {
|
|
131
|
-
rulerArray = balanceMax();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
else if ('min' in option && option.min <= minValue) {
|
|
135
|
-
if (option.min > rulerArray[0]) {
|
|
136
|
-
rulerArray = balanceMin();
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return rulerArray;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
return ruler;
|
|
144
|
-
|
|
145
|
-
}));
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
var n,r;n=this,r=function(){"use strict";return function(n,r,e,t){if(n<r){var i=r;r=n,n=i}else if(n==r)return[n];var f=function(n){for(var r=n<100&&n>-100?10:.1,e=-1,t=n;10==r?t>=-100&&t<=100:t<=-100||t>=100;)e+=1,t*=r;if(10==r)return Math.pow(10,e);for(var i="0.",f=1;f<e;f++)i+="0";return+(i+"1")}(n-r),u=Math.ceil((n-r)*f/e),o=function(e){var t=({3:2,4:5,6:5,7:5,8:10,9:10,11:10,12:10,13:15,14:15,16:15,17:15,18:20,19:20,21:20,22:20,23:25,24:25,26:25,27:25}[u+e]||u+e)/f,i=Math.floor(r/t)*t,o=[];o.push(i);for(var a=1;o[o.length-1]<n;a++)o.push(i+t*a);return o},a=o(0),m=function(){for(var n=[],e=a[a.length-1]-t.max,i=0;i<a.length;i++)i+1<a.length&&a[i+1]-e<r||n.push(a[i]-e);return n},l=function(){for(var r=[],e=a[0]-t.min,i=0;i<a.length&&(r[i]=a[i]-e,!(n<=r[i]));i++);return r};if(t){if("max"in t&&"min"in t&&t.max>=n&&t.min<=r){var h=function(){if(a[0]>=t.min&&a[a.length-1]<=t.max)return!0;var n=m();if(n[0]>=t.min&&n[n.length-1]<=t.max)return a=n,!0;var r=l();return r[0]>=t.min&&r[n.length-1]<=t.max?(a=r,!0):void 0};if(h())return a;for(var v=1;v<100;v++){if(a=o(v),h())return a;if(a=o(-v),h())return a}}"max"in t&&t.max>=n?t.max<a[a.length-1]&&(a=m()):"min"in t&&t.min<=r&&t.min>a[0]&&(a=l())}return a}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(n="undefined"!=typeof globalThis?globalThis:n||self).VISLite_ruler=r();
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
(function (global, factory) {
|
|
12
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
13
|
-
typeof define === 'function' && define.amd ? define(factory) :
|
|
14
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_throttle = factory());
|
|
15
|
-
})(this, (function () { 'use strict';
|
|
16
|
-
|
|
17
|
-
function mergeOption (option, defaultOption) {
|
|
18
|
-
for (var key in option) {
|
|
19
|
-
defaultOption[key] = option[key];
|
|
20
|
-
}
|
|
21
|
-
return defaultOption;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function throttle (callback, option) {
|
|
25
|
-
if (option === void 0) { option = {}; }
|
|
26
|
-
option = mergeOption(option, {
|
|
27
|
-
time: 200,
|
|
28
|
-
keep: false,
|
|
29
|
-
opportunity: "end"
|
|
30
|
-
});
|
|
31
|
-
var hadInterval = false;
|
|
32
|
-
var hadClick = false;
|
|
33
|
-
var oneClick = false;
|
|
34
|
-
var arg;
|
|
35
|
-
return function () {
|
|
36
|
-
var _this = this;
|
|
37
|
-
arg = arguments;
|
|
38
|
-
if (!hadInterval) {
|
|
39
|
-
if (option.opportunity != 'end') {
|
|
40
|
-
callback.apply(_this, arg);
|
|
41
|
-
}
|
|
42
|
-
hadInterval = true;
|
|
43
|
-
var interval_1 = setInterval(function () {
|
|
44
|
-
if (hadClick) {
|
|
45
|
-
if (!option.keep) {
|
|
46
|
-
callback.apply(_this, arg);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
if (option.opportunity != 'begin') {
|
|
51
|
-
if (oneClick || option.opportunity == 'end')
|
|
52
|
-
callback.apply(_this, arg);
|
|
53
|
-
}
|
|
54
|
-
hadInterval = false;
|
|
55
|
-
oneClick = false;
|
|
56
|
-
clearInterval(interval_1);
|
|
57
|
-
}
|
|
58
|
-
hadClick = false;
|
|
59
|
-
}, option.time);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
hadClick = true;
|
|
63
|
-
oneClick = true;
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return throttle;
|
|
69
|
-
|
|
70
|
-
}));
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
var e,t;e=this,t=function(){"use strict";return function(e,t){void 0===t&&(t={}),t=function(e,t){for(var n in e)t[n]=e[n];return t}(t,{time:200,keep:!1,opportunity:"end"});var n,o=!1,i=!1,r=!1;return function(){var p=this;if(n=arguments,o)i=!0,r=!0;else{"end"!=t.opportunity&&e.apply(p,n),o=!0;var f=setInterval((function(){i?t.keep||e.apply(p,n):("begin"!=t.opportunity&&(r||"end"==t.opportunity)&&e.apply(p,n),o=!1,r=!1,clearInterval(f)),i=!1}),t.time)}}}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_throttle=t();
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
(function (global, factory) {
|
|
12
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
13
|
-
typeof define === 'function' && define.amd ? define(factory) :
|
|
14
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_viewHandler = factory());
|
|
15
|
-
})(this, (function () { 'use strict';
|
|
16
|
-
|
|
17
|
-
var mousePosition = function (el, event) {
|
|
18
|
-
var bounding = el.getBoundingClientRect();
|
|
19
|
-
return {
|
|
20
|
-
"x": event.clientX - bounding.left,
|
|
21
|
-
"y": event.clientY - bounding.top
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
var getKeyString = function (event) {
|
|
25
|
-
return {
|
|
26
|
-
37: "left",
|
|
27
|
-
38: "up",
|
|
28
|
-
39: "right",
|
|
29
|
-
40: "down",
|
|
30
|
-
}[event.keyCode || event.which];
|
|
31
|
-
};
|
|
32
|
-
function viewHandler (callback) {
|
|
33
|
-
var el = document.getElementsByTagName('body')[0];
|
|
34
|
-
el.addEventListener("keydown", function (event) {
|
|
35
|
-
var keyCode = getKeyString(event);
|
|
36
|
-
if (keyCode == 'up') {
|
|
37
|
-
callback({
|
|
38
|
-
type: "lookUp",
|
|
39
|
-
normal: [],
|
|
40
|
-
value: 0.1,
|
|
41
|
-
event: event
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
else if (keyCode == 'down') {
|
|
45
|
-
callback({
|
|
46
|
-
type: "lookDown",
|
|
47
|
-
normal: [],
|
|
48
|
-
value: 0.1,
|
|
49
|
-
event: event
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
else if (keyCode == 'left') {
|
|
53
|
-
callback({
|
|
54
|
-
type: "lookLeft",
|
|
55
|
-
normal: [],
|
|
56
|
-
value: 0.1,
|
|
57
|
-
event: event
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
else if (keyCode == 'right') {
|
|
61
|
-
callback({
|
|
62
|
-
type: "lookRight",
|
|
63
|
-
normal: [],
|
|
64
|
-
value: 0.1,
|
|
65
|
-
event: event
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
var mouseP = null;
|
|
70
|
-
var doMove = function (event) {
|
|
71
|
-
if (mouseP == null) {
|
|
72
|
-
callback({
|
|
73
|
-
type: "hover",
|
|
74
|
-
normal: [],
|
|
75
|
-
value: 0,
|
|
76
|
-
event: event
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
var tempMouseP = mousePosition(el, event);
|
|
81
|
-
var normal = [tempMouseP.x - mouseP.x, tempMouseP.y - mouseP.y];
|
|
82
|
-
var rotateNormal = [
|
|
83
|
-
normal[1],
|
|
84
|
-
normal[0],
|
|
85
|
-
0
|
|
86
|
-
];
|
|
87
|
-
if (rotateNormal[0] == 0 && rotateNormal[1] == 0)
|
|
88
|
-
return;
|
|
89
|
-
callback({
|
|
90
|
-
type: "rotate",
|
|
91
|
-
normal: rotateNormal,
|
|
92
|
-
value: (Math.abs(tempMouseP.x - mouseP.x) + Math.abs(tempMouseP.y - mouseP.y)) * 0.01,
|
|
93
|
-
event: event
|
|
94
|
-
});
|
|
95
|
-
mouseP = tempMouseP;
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
el.addEventListener("mousedown", function (event) {
|
|
99
|
-
mouseP = mousePosition(el, event);
|
|
100
|
-
});
|
|
101
|
-
el.addEventListener("mouseup", function (event) {
|
|
102
|
-
mouseP = null;
|
|
103
|
-
});
|
|
104
|
-
el.addEventListener("mousemove", function (event) {
|
|
105
|
-
doMove(event);
|
|
106
|
-
});
|
|
107
|
-
el.addEventListener("touchend", function (event) {
|
|
108
|
-
mouseP = null;
|
|
109
|
-
});
|
|
110
|
-
el.addEventListener("touchstart", function (event) {
|
|
111
|
-
mouseP = mousePosition(el, event);
|
|
112
|
-
});
|
|
113
|
-
el.addEventListener("touchmove", function (event) {
|
|
114
|
-
doMove(event.touches[0]);
|
|
115
|
-
});
|
|
116
|
-
var doScale = function (value, event) {
|
|
117
|
-
if (value == 0)
|
|
118
|
-
return;
|
|
119
|
-
var baseTimes = 0.899;
|
|
120
|
-
callback({
|
|
121
|
-
type: "scale",
|
|
122
|
-
value: value < 0 ? baseTimes : 2 - baseTimes,
|
|
123
|
-
normal: [],
|
|
124
|
-
event: event
|
|
125
|
-
});
|
|
126
|
-
};
|
|
127
|
-
el.addEventListener("mousewheel", function (event) {
|
|
128
|
-
doScale(event.wheelDelta, event);
|
|
129
|
-
});
|
|
130
|
-
if (window.addEventListener) {
|
|
131
|
-
window.addEventListener('DOMMouseScroll', function (event) {
|
|
132
|
-
doScale(-1 * event.detail, event);
|
|
133
|
-
}, false);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
return viewHandler;
|
|
138
|
-
|
|
139
|
-
}));
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*
|
|
5
|
-
* Copyright zxl20070701
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://zxl20070701.github.io/notebook/home.html
|
|
8
|
-
*
|
|
9
|
-
* Publish Date: Sat Sep 30 2023 19:14:04 GMT+0800 (中国标准时间)
|
|
10
|
-
*/
|
|
11
|
-
var e,n;e=this,n=function(){"use strict";var e=function(e,n){var t=e.getBoundingClientRect();return{x:n.clientX-t.left,y:n.clientY-t.top}};return function(n){var t=document.getElementsByTagName("body")[0];t.addEventListener("keydown",(function(e){var t=function(e){return{37:"left",38:"up",39:"right",40:"down"}[e.keyCode||e.which]}(e);"up"==t?n({type:"lookUp",normal:[],value:.1,event:e}):"down"==t?n({type:"lookDown",normal:[],value:.1,event:e}):"left"==t?n({type:"lookLeft",normal:[],value:.1,event:e}):"right"==t&&n({type:"lookRight",normal:[],value:.1,event:e})}));var o=null,i=function(i){if(null==o)n({type:"hover",normal:[],value:0,event:i});else{var u=e(t,i),l=[u.x-o.x,u.y-o.y],a=[l[1],l[0],0];if(0==a[0]&&0==a[1])return;n({type:"rotate",normal:a,value:.01*(Math.abs(u.x-o.x)+Math.abs(u.y-o.y)),event:i}),o=u}};t.addEventListener("mousedown",(function(n){o=e(t,n)})),t.addEventListener("mouseup",(function(e){o=null})),t.addEventListener("mousemove",(function(e){i(e)})),t.addEventListener("touchend",(function(e){o=null})),t.addEventListener("touchstart",(function(n){o=e(t,n)})),t.addEventListener("touchmove",(function(e){i(e.touches[0])}));var u=function(e,t){0!=e&&n({type:"scale",value:e<0?.899:1.101,normal:[],event:t})};t.addEventListener("mousewheel",(function(e){u(e.wheelDelta,e)})),window.addEventListener&&window.addEventListener("DOMMouseScroll",(function(e){u(-1*e.detail,e)}),!1)}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_viewHandler=n();
|