{ "pandav:/src/animate.css.js": { "cubeCode": "Cube(\"pandav:/com/basicBand3dV2/1.0.0/src/animate.css\", [], function(m){m.exports=\".index-module_container_x4- canvas{outline:0}\";return m.exports});", "requires": [], "buildLevel": 7, "outputDir": "/com/basicBand3dV2/1.0.0/src", "outputPath": "/com/basicBand3dV2/1.0.0/src/animate.css.js", "fileName": "/src/animate.css" }, "pandav:/src/component/dom/InfoPlane.jsx": { "cubeCode": "Cube('pandav:/com/basicBand3dV2/1.0.0/src/component/dom/InfoPlane.jsx',['pandav:/npm/react/17.0.2','pandav:/npm/lodash/4.6.1'],function(a,b,c){var d=c('pandav:/npm/react/17.0.2'),e=d.memo,f=c('pandav:/npm/lodash/4.6.1'),g=e(function(a){var b=a.cameraInfo,c=a.config,e=b.position,f=e.x,g=e.y,h=e.z,i=b.rotation,j=i.x,k=i.y,l=i.z,m=b.target,n=m.x,o=m.y,p=m.z;return d.createElement('div',{style:{position:'absolute',color:'#fff',textAlign:'left'}},d.createElement('div',null,d.createElement('span',null,'\\u4F4D\\u7F6E\\uFF1A'),d.createElement('span',{style:{marginRight:'5px'}},f),d.createElement('span',{style:{marginRight:'5px'}},g),d.createElement('span',null,h)),d.createElement('div',null,d.createElement('span',null,'\\u65CB\\u8F6C\\uFF1A'),d.createElement('span',{style:{marginRight:'5px'}},j),d.createElement('span',{style:{marginRight:'5px'}},k),d.createElement('span',null,l)),d.createElement('div',null,d.createElement('span',null,'\\u89C6\\u89D2\\uFF1A'),d.createElement('span',{style:{marginRight:'5px'}},n),d.createElement('span',{style:{marginRight:'5px'}},o),d.createElement('span',null,p)))});return a.exports=g,a.exports});", "requires": [], "buildLevel": 6, "outputDir": "/com/basicBand3dV2/1.0.0/src/component/dom", "outputPath": "/com/basicBand3dV2/1.0.0/src/component/dom/InfoPlane.jsx", "fileName": "/src/component/dom/InfoPlane.jsx" }, "pandav:/src/component/dom/Legend.jsx": { "cubeCode": "Cube('pandav:/com/basicBand3dV2/1.0.0/src/component/dom/Legend.jsx',['pandav:/npm/react/17.0.2','pandav:/npm/lodash/4.6.1','pandav:/com/basicBand3dV2/1.0.0/src/component/utils','pandav:/com/cube-chart/0.0.2'],function(a,b,c){var e=c('pandav:/npm/react/17.0.2'),f=e.memo,g=c('pandav:/npm/lodash/4.6.1'),d=c('pandav:/com/basicBand3dV2/1.0.0/src/component/utils'),h=d.getPosition,i=c('pandav:/com/cube-chart/0.0.2'),j=i.utils.getFontStyle,k=f(function(a){var b=Math.min,c=a.config,d=a.data,f=a.boxSize,i=a.click,k=c.font,l=c.iconSize,m=l.width,n=l.height,o=c.iconGap,p=c.layout,q=p.alignment,r=p.gridGap,s=r.gridRowGap,t=r.gridColumnGap,u=p.gridTemplateColumns,v=p.translate,w=v.x,x=v.y,y=c.interactive,z=c.unselect.opacity,A=f.width,B=f.height,C=h(q),D=g.assign({},{position:'absolute',width:A,height:B,left:0,top:0},j(k),{display:'flex',justifyContent:C[0],alignItems:C[1],pointerEvents:'none'}),E={display:'grid',gridTemplateColumns:'repeat('.concat(b(u,d.length),', 1fr)'),gridGap:s+'px '+t+'px',transform:'translate('.concat(w,'px, ').concat(x,'px)'),height:'fit-content'},F={display:'flex',gap:o,alignItems:'center',cursor:'pointer',pointerEvents:y?'auto':'none'},G={minWidth:m,height:n};return e.createElement('div',{style:D},e.createElement('div',{style:E},d.map(function(a,b){var c=a.key,d=a.cfg,f=a.show,h=a.displayName;return e.createElement('div',{key:b,style:g.assign({},F,{opacity:f?1:z/100}),onClick:function(){return i(c)}},e.createElement('span',{style:g.assign({},G,{background:d.flankColor})}),e.createElement('span',null,h))})))});return a.exports=k,a.exports});", "requires": [ "pandav:/src/component/utils.js" ], "buildLevel": 4, "outputDir": "/com/basicBand3dV2/1.0.0/src/component/dom", "outputPath": "/com/basicBand3dV2/1.0.0/src/component/dom/Legend.jsx", "fileName": "/src/component/dom/Legend.jsx" }, "pandav:/src/component/dom/ToolTip.jsx": { "cubeCode": "Cube('pandav:/com/basicBand3dV2/1.0.0/src/component/dom/ToolTip.jsx',['pandav:/npm/react/17.0.2','pandav:/npm/lodash/4.6.1','pandav:/com/basicBand3dV2/1.0.0/src/component/utils','pandav:/com/cube-chart/0.0.2'],function(a,b,c){var e=c('pandav:/npm/react/17.0.2'),f=e.memo,g=c('pandav:/npm/lodash/4.6.1'),d=c('pandav:/com/basicBand3dV2/1.0.0/src/component/utils'),h=d.getPosition,i=c('pandav:/com/cube-chart/0.0.2'),j=i.utils.getFontStyle,k=f(function(a){var b=a.config,c=a.data,d=a.hoverData,f=a.offset,h=b.image,k=b.margin,l=b.size,m=l.width,n=l.height,o=b.translate,p=o.x,q=o.y,r=b.data,s=r.data,t=s.iconSize,u=s.lineHeight,v=s.name,w=s.num,x=s.value,y=s.suffix,z=y.show,A=y.content,B=y.font,C=y.translate,D=C.x,E=C.y,F=r.xAxis,G=F.font,H=F.align,I=F.translate,J=I.x,K=I.y,L=d.position,M=f.marginLeft,N=f.marginTop,O=new Map,P=[];Object.values(A).forEach(function(a){var b=a.suffixText,c=b.name,d=b.suffix;c?O.set(c,d):P.push(a.suffixText.suffix)});var Q=P.length,R=0,S=c.map(function(a){var b=O.get(a.s);if(!b)if(Q)b=P[R%Q],R++;else return g.assign({},a,{},{suffix:''});return g.assign({},a,{},{suffix:b})}),T={position:'absolute',left:L[0]+M,top:L[1]+N,width:m,height:n,background:h?'url('.concat(h,') 0 0 / 100% 100%'):'rgba(48, 55, 66, 0.85)',pointerEvents:'none',transform:'translate('.concat(p,'px,').concat(q,'px)'),display:'flex'},U=g.assign({},k,{},{display:'flex',flexDirection:'column',flex:1}),V=g.assign({},j(G),{},{textAlign:H,transform:'translate('.concat(J,'px, ').concat(K,'px)')}),W={display:'flex',justifyContent:'space-between',gap:u+'px'},X={display:'inline-block',width:t,height:t,marginRight:5},Y=g.assign({},j(v)),Z=g.assign({},j(x)),$=g.assign({},j(B),{},{transform:'translate('.concat(D,'px,').concat(E,'px)')});return e.createElement('div',{style:T},e.createElement('div',{style:U},e.createElement('div',{style:V},c[0].x),e.createElement('div',{style:{flex:1,display:'flex',flexDirection:'column',justifyContent:'space-around'}},S.map(function(a,b){return e.createElement('div',{key:b,style:W},e.createElement('div',null,e.createElement('span',{style:g.assign({},X,{},{background:a.color})}),e.createElement('span',{style:Y},a.displayName)),e.createElement('div',{style:{display:'flex'}},e.createElement('span',{style:Z},a.y.toFixed(w)),z&&e.createElement('span',{style:$},a.suffix)))}))))});return a.exports=k,a.exports});", "requires": [ "pandav:/src/component/utils.js" ], "buildLevel": 5, "outputDir": "/com/basicBand3dV2/1.0.0/src/component/dom", "outputPath": "/com/basicBand3dV2/1.0.0/src/component/dom/ToolTip.jsx", "fileName": "/src/component/dom/ToolTip.jsx" }, "pandav:/index.js": { "cubeCode": "Cube('pandav:/com/basicBand3dV2/1.0.0',['pandav:/npm/bcore/0.0.18/event','pandav:/npm/react/17.0.2','pandav:/npm/react-dom/17.0.2','pandav:/com/basicBand3dV2/1.0.0/src/com.jsx','pandav:/npm/jquery/2.1.4'],function(a,b,c){var d=c('pandav:/npm/bcore/0.0.18/event'),e=c('pandav:/npm/react/17.0.2'),f=c('pandav:/npm/react-dom/17.0.2'),g=c('pandav:/com/basicBand3dV2/1.0.0/src/com.jsx'),h=c('pandav:/npm/jquery/2.1.4');return a.exports=d.extend(function(a,b){this.config={theme:{}},this.container=a,this.apis=b.apis,this.containSize={boxWidth:h(a)&&h(a).width(),boxHeight:h(a)&&h(a).height()},this.init(b)},{init:function(a){this.mergeConfig(a)},add:function(a){a.addTo(this),this.childrenLayer=a},mergeConfig:function(a){var b;return a?(b=a,this.config=a):b=this.config,b},updateOptions:function(a){this.render(this._data,a)},updateChildOptions:function(a){this.mergeChildConfig(a),this.render(this._data,a)},mergeChildConfig:function(a){this.childrenLayer=Object.assign({},this.childrenLayer,{config:a})},getChildrenData:function(a){this.childrenLayer=Object.assign({},this.childrenLayer,{_data:a,data:a})},data:function(a){return a&&(this._data=a),this._data},setColors:function(){},resize:function(a,b){this.containSize={boxWidth:a,boxHeight:b},this.render(this._data,this.config)},render:function(a,b){a=this.data(a);var c=this.mergeConfig(b),d=this.containSize,h=d.boxWidth,i=d.boxHeight,j={width:h,height:i,emitEvent:this.emit.bind(this),config:c.options,childrenLayer:Object.assign({},this.childrenLayer),container:this.container,data:a,containSize:this.containSize,id:this.__id};f.render(e.createElement(g,j),this.container)},destroy:function(){return!!this.container&&void(f.unmountComponentAtNode(this.container),this.container.innerHTML='')},childDestroy:function(){this.updateChildOptions({options:{visibility:!1}})}}),a.exports});", "requires": [ "pandav:/src/com.jsx" ], "buildLevel": 1, "outputDir": "/com/basicBand3dV2/1.0.0", "outputPath": "/com/basicBand3dV2/1.0.0/index.js", "fileName": "/index.js" }, "pandav:/src/com.jsx": { "cubeCode": "Cube('pandav:/com/basicBand3dV2/1.0.0/src/com.jsx',['pandav:/npm/three/0.100.0/build/three','pandav:/npm/react/17.0.2','pandav:/npm/lodash/4.6.1','pandav:/npm/d3/5.16.0/dist/d3','pandav:/com/basicBand3dV2/1.0.0/src/component/object/draw','pandav:/com/basicBand3dV2/1.0.0/src/component/dom/Legend.jsx','pandav:/com/basicBand3dV2/1.0.0/src/component/dom/ToolTip.jsx','pandav:/com/basicBand3dV2/1.0.0/src/component/dom/InfoPlane.jsx','pandav:/com/basicBand3dV2/1.0.0/src/animate.css','pandav:/com/basicBand3dV2/1.0.0/src/component/js/controls/OrbitControls','pandav:/com/basicBand3dV2/1.0.0/src/component/utils'],function(a,b,c){function d(a,b){return j(a)||h(a,b)||f(a,b)||e()}function e(){throw new TypeError('Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.')}function f(a,b){if(a){if('string'==typeof a)return g(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return'Object'===c&&a.constructor&&(c=a.constructor.name),'Map'===c||'Set'===c?Array.from(a):'Arguments'===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?g(a,b):void 0}}function g(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);ca){c+=e((b-c)/a)*a,pa.current=(pa.current+1)%oa.current.length;var f=oa.current[pa.current];if(f){var g=f.userData,h=f.localToWorld(new k.Vector3),i=h.x,j=h.y,l=h.z;Ea({name:g.name,position:D(new k.Vector3(i,j,l).project(ja.current),ha.current)})}}ta.current=requestAnimationFrame(d)};ta.current=requestAnimationFrame(d)},Xa=function a(){ta.current&&(cancelAnimationFrame(ta.current),ta.current=null)},Ya=Da?Na.flatMap(function(a){if(a.show){var b=a.cfg.flankColor,c=a.values.find(function(a){return a.x==Da.name});if(c)return q.assign({},c,{displayName:a.displayName,color:b})}return[]}):[];return l.createElement('div',{className:'__pandav-component',style:{position:'absolute',width:g,height:h,textAlign:'center'},id:j},l.createElement('div',{ref:ha,className:'index-module_container_x4-',onMouseMove:function b(a){var c=ha.current,d=E(a,c);ka.current.setFromCamera(d,ja.current);var e=ka.current.intersectObjects(ia.current.children,!0);if(e.length){Xa();var f=e.find(function(a){return null!=a.object.userData.name});if(f&&_){var g=f.object.userData,h=f.object.localToWorld(new k.Vector3),i=h.x,j=h.y,l=h.z;pa.current=g.index,Ea({name:g.name,position:D(new k.Vector3(i,j,l).project(ja.current),c)})}var m=e.find(function(a){return a.object.userData.data});m?(c.style.cursor='pointer',qa.current=m.object.userData):(c.style.cursor='move',qa.current=null)}else Da&&(Z&&Ha?!ta.current&&Wa(1e3*$):_&&Ea(null))},onClick:function a(){if(qa.current){var b=qa.current,c=b.data,d=b.type;'value'==d?v&&v('click',c):v&&v('click',q.assign({},d,c))}},style:{position:'absolute',width:ua,height:va,left:R,top:P,cursor:'move'}}),N.show&&l.createElement(s,{config:N,data:Na,boxSize:{width:g,height:h},click:function b(a){Aa(function(b){return b.map(function(b){return b[0]==a?[b[0],!b[1]]:[b[0],b[1]]})})}}),Da&&l.createElement(t,{config:aa,data:Ya,hoverData:Da,offset:{marginLeft:R,marginTop:P}}),ea&&l.createElement(u,{cameraInfo:La}))},a.exports});", "requires": [ "pandav:/src/component/object/draw.js", "pandav:/src/component/dom/Legend.jsx", "pandav:/src/component/dom/ToolTip.jsx", "pandav:/src/component/dom/InfoPlane.jsx", "pandav:/src/animate.css.js", "pandav:/src/component/js/controls/OrbitControls.js", "pandav:/src/component/utils.js" ], "buildLevel": 2, "outputDir": "/com/basicBand3dV2/1.0.0/src", "outputPath": "/com/basicBand3dV2/1.0.0/src/com.jsx", "fileName": "/src/com.jsx" }, "pandav:/src/component/js/lines/Line2.js": { "cubeCode": "Cube('pandav:/com/basicBand3dV2/1.0.0/src/component/js/lines/Line2',['pandav:/npm/three/0.100.0/build/three'],function(a,b,c){var d=c('pandav:/npm/three/0.100.0/build/three');return d.Line2=function(a,b){d.LineSegments2.call(this),this.type='Line2',this.geometry=void 0===a?new d.LineGeometry:a,this.material=void 0===b?new d.LineMaterial({color:16777215*Math.random()}):b},d.Line2.prototype=Object.assign(Object.create(d.LineSegments2.prototype),{constructor:d.Line2,isLine2:!0,copy:function(){return this}}),a.exports});", "requires": [], "buildLevel": 8, "outputDir": "/com/basicBand3dV2/1.0.0/src/component/js/lines", "outputPath": "/com/basicBand3dV2/1.0.0/src/component/js/lines/Line2.js", "fileName": "/src/component/js/lines/Line2.js" }, "pandav:/src/component/js/lines/LineGeometry.js": { "cubeCode": "Cube('pandav:/com/basicBand3dV2/1.0.0/src/component/js/lines/LineGeometry',['pandav:/npm/three/0.100.0/build/three'],function(a,b,c){var d=c('pandav:/npm/three/0.100.0/build/three');return d.LineGeometry=function(){d.LineSegmentsGeometry.call(this),this.type='LineGeometry'},d.LineGeometry.prototype=Object.assign(Object.create(d.LineSegmentsGeometry.prototype),{constructor:d.LineGeometry,isLineGeometry:!0,setPositions:function(a){for(var b=a.length-3,c=new Float32Array(2*b),e=0;eda.y&&n(j()),ba.copy(ca),L.update()}function t(a){_.set(a.clientX,a.clientY),aa.subVectors(_,$).multiplyScalar(L.panSpeed),ga(aa.x,aa.y),$.copy(_),L.update()}function u(){}function v(a){0>a.deltaY?n(j()):0R||8*(1-j.dot(L.object.quaternion))>R)&&(L.dispatchEvent(M),h.copy(L.object.position),j.copy(L.object.quaternion),W=!1,!0)}}(),this.dispose=function(){L.domElement.removeEventListener('contextmenu',K,!1),L.domElement.removeEventListener('mousedown',C,!1),L.domElement.removeEventListener('wheel',F,!1),L.domElement.removeEventListener('touchstart',H,!1),L.domElement.removeEventListener('touchend',J,!1),L.domElement.removeEventListener('touchmove',I,!1),document.removeEventListener('mousemove',D,!1),document.removeEventListener('mouseup',E,!1),window.removeEventListener('keydown',G,!1)};var L=this,M={type:'change'},N={type:'start'},O={type:'end'},P={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY_PAN:4},Q=P.NONE,R=1e-6,S=new d.Spherical,T=new d.Spherical,U=1,V=new d.Vector3,W=!1,X=new d.Vector2,Y=new d.Vector2,Z=new d.Vector2,$=new d.Vector2,_=new d.Vector2,aa=new d.Vector2,ba=new d.Vector2,ca=new d.Vector2,da=new d.Vector2,ea=function(){var a=new d.Vector3;return function(b,c){a.setFromMatrixColumn(c,0),a.multiplyScalar(-b),V.add(a)}}(),fa=function(){var a=new d.Vector3;return function(b,c){!0===L.screenSpacePanning?a.setFromMatrixColumn(c,1):(a.setFromMatrixColumn(c,0),a.crossVectors(L.object.up,a)),a.multiplyScalar(b),V.add(a)}}(),ga=function(){var a=new d.Vector3;return function(b,c){var d=Math.tan,e=L.domElement===document?L.domElement.body:L.domElement;if(L.object.isPerspectiveCamera){var f=L.object.position;a.copy(f).sub(L.target);var g=a.length();g*=d(L.object.fov/2*h/180),ea(2*b*g/e.clientHeight,L.object.matrix),fa(2*c*g/e.clientHeight,L.object.matrix)}else L.object.isOrthographicCamera?(ea(b*(L.object.right-L.object.left)/L.object.zoom/e.clientWidth,L.object.matrix),fa(c*(L.object.top-L.object.bottom)/L.object.zoom/e.clientHeight,L.object.matrix)):(console.warn('WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.'),L.enablePan=!1)}}();L.domElement.addEventListener('contextmenu',K,!1),L.domElement.addEventListener('mousedown',C,!1),L.domElement.addEventListener('wheel',F,!1),L.domElement.addEventListener('touchstart',H,!1),L.domElement.addEventListener('touchend',J,!1),L.domElement.addEventListener('touchmove',I,!1),window.addEventListener('keydown',G,!1),this.update()},d.OrbitControls.prototype=Object.create(d.EventDispatcher.prototype),d.OrbitControls.prototype.constructor=d.OrbitControls,Object.defineProperties(d.OrbitControls.prototype,{center:{get:function(){return console.warn('THREE.OrbitControls: .center has been renamed to .target'),this.target}},noZoom:{get:function(){return console.warn('THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.'),!this.enableZoom},set:function(a){console.warn('THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.'),this.enableZoom=!a}},noRotate:{get:function(){return console.warn('THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.'),!this.enableRotate},set:function(a){console.warn('THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.'),this.enableRotate=!a}},noPan:{get:function(){return console.warn('THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.'),!this.enablePan},set:function(a){console.warn('THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.'),this.enablePan=!a}},noKeys:{get:function(){return console.warn('THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.'),!this.enableKeys},set:function(a){console.warn('THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.'),this.enableKeys=!a}},staticMoving:{get:function(){return console.warn('THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.'),!this.enableDamping},set:function(a){console.warn('THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.'),this.enableDamping=!a}},dynamicDampingFactor:{get:function(){return console.warn('THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.'),this.dampingFactor},set:function(a){console.warn('THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.'),this.dampingFactor=a}}}),a.exports});", "requires": [], "buildLevel": 8, "outputDir": "/com/basicBand3dV2/1.0.0/src/component/js/controls", "outputPath": "/com/basicBand3dV2/1.0.0/src/component/js/controls/OrbitControls.js", "fileName": "/src/component/js/controls/OrbitControls.js" }, "pandav:/src/component/js/lines/LineSegments2.js": { "cubeCode": "Cube('pandav:/com/basicBand3dV2/1.0.0/src/component/js/lines/LineSegments2',['pandav:/npm/three/0.100.0/build/three'],function(a,b,c){var d=c('pandav:/npm/three/0.100.0/build/three');return d.LineSegments2=function(a,b){d.Mesh.call(this),this.type='LineSegments2',this.geometry=void 0===a?new d.LineSegmentsGeometry:a,this.material=void 0===b?new d.LineMaterial({color:16777215*Math.random()}):b},d.LineSegments2.prototype=Object.assign(Object.create(d.Mesh.prototype),{constructor:d.LineSegments2,isLineSegments2:!0,computeLineDistances:function(){var a=new d.Vector3,b=new d.Vector3;return function(){for(var c=this.geometry,e=c.attributes.instanceStart,f=c.attributes.instanceEnd,g=new Float32Array(2*e.data.count),h=0,k=0,m=e.data.count;h\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\n\\t\\tuniform float linewidth;\\n\\t\\tuniform vec2 resolution;\\n\\n\\t\\tattribute vec3 instanceStart;\\n\\t\\tattribute vec3 instanceEnd;\\n\\n\\t\\tattribute vec3 instanceColorStart;\\n\\t\\tattribute vec3 instanceColorEnd;\\n\\n\\t\\tvarying vec2 vUv;\\n\\n\\t\\t#ifdef USE_DASH\\n\\n\\t\\t\\tuniform float dashScale;\\n\\t\\t\\tattribute float instanceDistanceStart;\\n\\t\\t\\tattribute float instanceDistanceEnd;\\n\\t\\t\\tvarying float vLineDistance;\\n\\n\\t\\t#endif\\n\\n\\t\\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\\n\\n\\t\\t\\t// trim end segment so it terminates between the camera plane and the near plane\\n\\n\\t\\t\\t// conservative estimate of the near plane\\n\\t\\t\\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\\n\\t\\t\\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\\n\\t\\t\\tfloat nearEstimate = - 0.5 * b / a;\\n\\n\\t\\t\\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\\n\\n\\t\\t\\tend.xyz = mix( start.xyz, end.xyz, alpha );\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\t#ifdef USE_COLOR\\n\\n\\t\\t\\t\\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t\\t#ifdef USE_DASH\\n\\n\\t\\t\\t\\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t\\tfloat aspect = resolution.x / resolution.y;\\n\\n\\t\\t\\tvUv = uv;\\n\\n\\t\\t\\t// camera space\\n\\t\\t\\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\\n\\t\\t\\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\\n\\n\\t\\t\\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\\n\\t\\t\\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\\n\\t\\t\\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\\n\\t\\t\\t// perhaps there is a more elegant solution -- WestLangley\\n\\n\\t\\t\\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\\n\\n\\t\\t\\tif ( perspective ) {\\n\\n\\t\\t\\t\\tif ( start.z < 0.0 && end.z >= 0.0 ) {\\n\\n\\t\\t\\t\\t\\ttrimSegment( start, end );\\n\\n\\t\\t\\t\\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\\n\\n\\t\\t\\t\\t\\ttrimSegment( end, start );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\t// clip space\\n\\t\\t\\tvec4 clipStart = projectionMatrix * start;\\n\\t\\t\\tvec4 clipEnd = projectionMatrix * end;\\n\\n\\t\\t\\t// ndc space\\n\\t\\t\\tvec2 ndcStart = clipStart.xy / clipStart.w;\\n\\t\\t\\tvec2 ndcEnd = clipEnd.xy / clipEnd.w;\\n\\n\\t\\t\\t// direction\\n\\t\\t\\tvec2 dir = ndcEnd - ndcStart;\\n\\n\\t\\t\\t// account for clip-space aspect ratio\\n\\t\\t\\tdir.x *= aspect;\\n\\t\\t\\tdir = normalize( dir );\\n\\n\\t\\t\\t// perpendicular to dir\\n\\t\\t\\tvec2 offset = vec2( dir.y, - dir.x );\\n\\n\\t\\t\\t// undo aspect ratio adjustment\\n\\t\\t\\tdir.x /= aspect;\\n\\t\\t\\toffset.x /= aspect;\\n\\n\\t\\t\\t// sign flip\\n\\t\\t\\tif ( position.x < 0.0 ) offset *= - 1.0;\\n\\n\\t\\t\\t// endcaps\\n\\t\\t\\tif ( position.y < 0.0 ) {\\n\\n\\t\\t\\t\\toffset += - dir;\\n\\n\\t\\t\\t} else if ( position.y > 1.0 ) {\\n\\n\\t\\t\\t\\toffset += dir;\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\t// adjust for linewidth\\n\\t\\t\\toffset *= linewidth;\\n\\n\\t\\t\\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\\n\\t\\t\\toffset /= resolution.y;\\n\\n\\t\\t\\t// select end\\n\\t\\t\\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\\n\\n\\t\\t\\t// back to clip space\\n\\t\\t\\toffset *= clip.w;\\n\\n\\t\\t\\tclip.xy += offset;\\n\\n\\t\\t\\tgl_Position = clip;\\n\\n\\t\\t\\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\\n\\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\n\\t\\t}\\n\\t\\t',fragmentShader:'\\n\\t\\tuniform vec3 diffuse;\\n\\t\\tuniform float opacity;\\n\\n\\t\\t#ifdef USE_DASH\\n\\n\\t\\t\\tuniform float dashSize;\\n\\t\\t\\tuniform float gapSize;\\n\\n\\t\\t#endif\\n\\n\\t\\tvarying float vLineDistance;\\n\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\n\\t\\tvarying vec2 vUv;\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\t#include \\n\\n\\t\\t\\t#ifdef USE_DASH\\n\\n\\t\\t\\t\\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\\n\\n\\t\\t\\t\\tif ( mod( vLineDistance, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t\\tif ( abs( vUv.y ) > 1.0 ) {\\n\\n\\t\\t\\t\\tfloat a = vUv.x;\\n\\t\\t\\t\\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\\n\\t\\t\\t\\tfloat len2 = a * a + b * b;\\n\\n\\t\\t\\t\\tif ( len2 > 1.0 ) discard;\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\n\\t\\t\\tgl_FragColor = vec4( diffuseColor.rgb, diffuseColor.a );\\n\\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\n\\t\\t}\\n\\t\\t'},d.LineMaterial=function(a){d.ShaderMaterial.call(this,{type:'LineMaterial',uniforms:d.UniformsUtils.clone(d.ShaderLib.line.uniforms),vertexShader:d.ShaderLib.line.vertexShader,fragmentShader:d.ShaderLib.line.fragmentShader}),this.dashed=!1,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(a){this.uniforms.diffuse.value=a}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(a){this.uniforms.linewidth.value=a}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(a){this.uniforms.dashScale.value=a}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(a){this.uniforms.dashSize.value=a}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(a){this.uniforms.gapSize.value=a}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(a){this.uniforms.resolution.value.copy(a)}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(a){this.uniforms.opacity.value=a}}}),this.setValues(a)},d.LineMaterial.prototype=Object.create(d.ShaderMaterial.prototype),d.LineMaterial.prototype.constructor=d.LineMaterial,d.LineMaterial.prototype.isLineMaterial=!0,d.LineMaterial.prototype.copy=function(a){return d.ShaderMaterial.prototype.copy.call(this,a),this.color.copy(a.color),this.linewidth=a.linewidth,this.resolution=a.resolution,this},a.exports});", "requires": [], "buildLevel": 11, "outputDir": "/com/basicBand3dV2/1.0.0/src/component/js/lines", "outputPath": "/com/basicBand3dV2/1.0.0/src/component/js/lines/LineMaterial.js", "fileName": "/src/component/js/lines/LineMaterial.js" }, "pandav:/src/component/js/lines/LineSegmentsGeometry.js": { "cubeCode": "Cube('pandav:/com/basicBand3dV2/1.0.0/src/component/js/lines/LineSegmentsGeometry',['pandav:/npm/three/0.100.0/build/three'],function(a,b,c){var d=c('pandav:/npm/three/0.100.0/build/three');return d.LineSegmentsGeometry=function(){d.InstancedBufferGeometry.call(this),this.type='LineSegmentsGeometry';var a=new d.BufferGeometry;this.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),this.addAttribute('position',new d.Float32BufferAttribute([-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],3)),this.addAttribute('uv',new d.Float32BufferAttribute([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2))},d.LineSegmentsGeometry.prototype=Object.assign(Object.create(d.InstancedBufferGeometry.prototype),{constructor:d.LineSegmentsGeometry,isLineSegmentsGeometry:!0,applyMatrix:function(a){var b=this.attributes.instanceStart,c=this.attributes.instanceEnd;return void 0!==b&&(a.applyToBufferAttribute(b),a.applyToBufferAttribute(c),b.data.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},setPositions:function(a){var b;a instanceof Float32Array?b=a:Array.isArray(a)&&(b=new Float32Array(a));var c=new d.InstancedInterleavedBuffer(b,6,1);return this.addAttribute('instanceStart',new d.InterleavedBufferAttribute(c,3,0)),this.addAttribute('instanceEnd',new d.InterleavedBufferAttribute(c,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this},setColors:function(a){var b;a instanceof Float32Array?b=a:Array.isArray(a)&&(b=new Float32Array(a));var c=new d.InstancedInterleavedBuffer(b,6,1);return this.addAttribute('instanceColorStart',new d.InterleavedBufferAttribute(c,3,0)),this.addAttribute('instanceColorEnd',new d.InterleavedBufferAttribute(c,3,3)),this},fromWireframeGeometry:function(a){return this.setPositions(a.attributes.position.array),this},fromEdgesGeometry:function(a){return this.setPositions(a.attributes.position.array),this},fromMesh:function(a){return this.fromWireframeGeometry(new d.WireframeGeometry(a.geometry)),this},fromLineSegements:function(a){var b=a.geometry;return b.isGeometry?this.setPositions(b.vertices):b.isBufferGeometry&&this.setPositions(b.position.array),this},computeBoundingBox:function(){var a=new d.Box3;return function(){null===this.boundingBox&&(this.boundingBox=new d.Box3);var b=this.attributes.instanceStart,c=this.attributes.instanceEnd;void 0!==b&&void 0!==c&&(this.boundingBox.setFromBufferAttribute(b),a.setFromBufferAttribute(c),this.boundingBox.union(a))}}(),computeBoundingSphere:function(){var a=new d.Vector3;return function(){var b=Math.sqrt,c=Math.max;null===this.boundingSphere&&(this.boundingSphere=new d.Sphere),null===this.boundingBox&&this.computeBoundingBox();var e=this.attributes.instanceStart,f=this.attributes.instanceEnd;if(void 0!==e&&void 0!==f){var g=this.boundingSphere.center;this.boundingBox.getCenter(g);for(var h=0,j=0,k=e.count;ja.length)&&(b=a.length);for(var c=0,d=Array(b);ca.length)&&(b=a.length);for(var c=0,d=Array(b);cd)return c;for(;10m?[m,l]:[l,m],o=n;return h||(o=p(n,i,j)),o}return[0,100]},band:q,threeColor:function(a){var c=a.r,d=a.g,e=a.b;return new t.Color('rgb('.concat(isNaN(c)?0:c,',').concat(isNaN(d)?0:d,',').concat(isNaN(e)?0:e,')'))},getYTicksData:function(a,b){var c=b.count,d=b.auto,e=b.decimal,f=b.mode,g=b.step,h=a.ticks(c),i=a.domain();return isNaN(i[0])||isNaN(i[1])?[]:(d||('count'===f?h=w(i[1],i[0],c):'step'===f?h=v(i[1],i[0],g):void 0),h=h.map(function(b){return{offset:a(b),label:b.toFixed(e)}}),h)},getXTicksData:function(a,b,c){var d=a.length,e=f(d,c);0!=(d-1)%(e-1)&&(e=d);for(var g,h=(d-1)/(e-1),j=[],k=0;k