@anov/3d-ability 0.0.101 → 0.0.103
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/dist/business/Base/ObjectLayer.d.ts +1 -1
- package/dist/business/Base/ObjectLayer.js +3 -1
- package/dist/business/Base/ObjectLayer.js.map +1 -1
- package/dist/business/Flyline/index.js +8 -11
- package/dist/business/Flyline/index.js.map +1 -1
- package/dist/business/HeatMap/core.d.ts +2 -2
- package/dist/business/HeatMap/core.js +1 -1
- package/dist/business/HeatMap/core.js.map +1 -1
- package/dist/business/Mark/KeyframeAnimation.d.ts +62 -0
- package/dist/business/Mark/KeyframeAnimation.js +219 -0
- package/dist/business/Mark/KeyframeAnimation.js.map +1 -0
- package/dist/business/Mark/index.d.ts +15 -8
- package/dist/business/Mark/index.js +134 -74
- package/dist/business/Mark/index.js.map +1 -1
- package/dist/business/{Poi/shader/circle copy 2.d.ts → Mark/shader/tanhao.d.ts} +2 -5
- package/dist/business/Mark/shader/tanhao.js +12 -0
- package/dist/business/Mark/shader/tanhao.js.map +1 -0
- package/dist/business/Mark/type.d.ts +2 -12
- package/dist/business/Mark/type.js +0 -7
- package/dist/business/Mark/type.js.map +1 -1
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.d.ts +72 -63
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +315 -158
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
- package/dist/business/MaterialSwitch/inject.d.ts +46 -1
- package/dist/business/MaterialSwitch/inject.js +78 -8
- package/dist/business/MaterialSwitch/inject.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/finalFade.d.ts +2 -0
- package/dist/business/MaterialSwitch/shader/finalFade.js +3 -0
- package/dist/business/MaterialSwitch/shader/finalFade.js.map +1 -0
- package/dist/business/MaterialSwitch/shader/ground.d.ts +81 -0
- package/dist/business/MaterialSwitch/shader/ground.js +68 -0
- package/dist/business/MaterialSwitch/shader/ground.js.map +1 -0
- package/dist/business/MaterialSwitch/{realFade.d.ts → shader/realFade.d.ts} +2 -2
- package/dist/business/MaterialSwitch/{realFade.js → shader/realFade.js} +2 -2
- package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -0
- package/dist/business/Poi/link/Pyramid.js +1 -1
- package/dist/business/Poi/link/Pyramid.js.map +1 -1
- package/dist/business/Poi/particle/DoubleCircle.d.ts +1 -0
- package/dist/business/Poi/particle/DoubleCircle.js +14 -1
- package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
- package/dist/business/Poi/particle/SingleCircle.js +4 -1
- package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
- package/dist/business/Poi/particle/index.d.ts +3 -3
- package/dist/business/Poi/particle/index.js.map +1 -1
- package/dist/business/Poi/shader/doubleCircle.js +1 -1
- package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
- package/dist/business/Poi/title/index.d.ts +1 -1
- package/dist/business/SplitBuilding/index.d.ts +86 -0
- package/dist/business/SplitBuilding/index.js +593 -0
- package/dist/business/SplitBuilding/index.js.map +1 -0
- package/dist/business/SplitBuilding/type.d.ts +34 -0
- package/dist/business/SplitBuilding/type.js +25 -0
- package/dist/business/SplitBuilding/type.js.map +1 -0
- package/dist/business/Utils/constant.d.ts +1 -1
- package/dist/business/Utils/constant.js +1 -1
- package/dist/business/Utils/constant.js.map +1 -1
- package/dist/business/index.d.ts +1 -0
- package/dist/business/index.js +1 -0
- package/dist/business/index.js.map +1 -1
- package/dist/core/Material/SurfaceMaterial/index.js +7 -7
- package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/business/MaterialSwitch/finalFade.d.ts +0 -2
- package/dist/business/MaterialSwitch/finalFade.js +0 -3
- package/dist/business/MaterialSwitch/finalFade.js.map +0 -1
- package/dist/business/MaterialSwitch/realFade.js.map +0 -1
- package/dist/business/Poi/shader/circle copy 2.js +0 -15
- package/dist/business/Poi/shader/circle copy 2.js.map +0 -1
|
@@ -4,7 +4,7 @@ import { Object3D } from '@anov/3d-core';
|
|
|
4
4
|
*/
|
|
5
5
|
declare class ObjectLayer extends Object3D {
|
|
6
6
|
constructor();
|
|
7
|
-
createProxy<T extends object>(obj: T, mesh: Object3D): T;
|
|
7
|
+
createProxy<T extends object>(obj: T, mesh: Object3D, fn?: Function): T;
|
|
8
8
|
arrayMergeCustomizer(objValue: any, srcValue: any): any;
|
|
9
9
|
destroy(): void;
|
|
10
10
|
}
|
|
@@ -38,10 +38,12 @@ var ObjectLayer = /*#__PURE__*/function (_Object3D) {
|
|
|
38
38
|
_createClass(ObjectLayer, [{
|
|
39
39
|
key: "createProxy",
|
|
40
40
|
value: function createProxy(obj, mesh) {
|
|
41
|
+
var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
41
42
|
return new Proxy(obj, {
|
|
42
43
|
set: function set(target, prop, value) {
|
|
43
|
-
mesh[prop] = value;
|
|
44
|
+
if (mesh) mesh[prop] = value;
|
|
44
45
|
target[prop] = value;
|
|
46
|
+
fn && fn(prop, value);
|
|
45
47
|
return true;
|
|
46
48
|
}
|
|
47
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object3D","_","ObjectLayer","_Object3D","_inherits","_super","_createSuper","_classCallCheck","call","_createClass","key","value","createProxy","obj","mesh","Proxy","set","target","prop","arrayMergeCustomizer","objValue","srcValue","isArray","destroy"],"sources":["../../../src/business/Base/ObjectLayer.ts"],"sourcesContent":["import { Mesh, Object3D } from '@anov/3d-core'\nimport _ from 'lodash'\n\n/**\n * 覆盖物的基础类,如:POI、样条线、3D柱状图、热力图等\n */\nclass ObjectLayer extends Object3D {\n // private _layer = 0 // 图层对象可以用于控制对象的显示\n constructor() {\n super()\n }\n\n // get layer(): number {\n // return this._layer\n // }\n\n // set layer(newValue: number) {\n // this._layer = newValue\n // }\n\n // 创建代理对象的工具方法\n public createProxy<T extends object>(obj: T, mesh: Object3D): T {\n return new Proxy(obj, {\n set: (target, prop, value) => {\n mesh[prop] = value\n target[prop] = value\n return true\n },\n })\n }\n\n arrayMergeCustomizer(objValue, srcValue) {\n if (_.isArray(objValue) && srcValue)\n return srcValue\n }\n\n destroy() {\n\n }\n}\n\nexport default ObjectLayer"],"mappings":";;;;;;;;;;;;;AAAA,SAAeA,QAAQ,QAAQ,eAAe;AAC9C,OAAOC,CAAC,MAAM,QAAQ;;AAEtB;AACA;AACA;AAFA,IAGMC,WAAW,0BAAAC,SAAA;EAAAC,SAAA,CAAAF,WAAA,EAAAC,SAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,WAAA;EACf;EACA,SAAAA,YAAA,EAAc;IAAAK,eAAA,OAAAL,WAAA;IAAA,OAAAG,MAAA,CAAAG,IAAA;EAEd;;EAEA;EACA;EACA;;EAEA;EACA;EACA;;EAEA;EAAAC,YAAA,CAAAP,WAAA;IAAAQ,GAAA;IAAAC,KAAA,EACA,SAAAC,YAAqCC,GAAM,EAAEC,IAAc,
|
|
1
|
+
{"version":3,"names":["Object3D","_","ObjectLayer","_Object3D","_inherits","_super","_createSuper","_classCallCheck","call","_createClass","key","value","createProxy","obj","mesh","fn","arguments","length","undefined","Proxy","set","target","prop","arrayMergeCustomizer","objValue","srcValue","isArray","destroy"],"sources":["../../../src/business/Base/ObjectLayer.ts"],"sourcesContent":["import { Mesh, Object3D } from '@anov/3d-core'\nimport _ from 'lodash'\n\n/**\n * 覆盖物的基础类,如:POI、样条线、3D柱状图、热力图等\n */\nclass ObjectLayer extends Object3D {\n // private _layer = 0 // 图层对象可以用于控制对象的显示\n constructor() {\n super()\n }\n\n // get layer(): number {\n // return this._layer\n // }\n\n // set layer(newValue: number) {\n // this._layer = newValue\n // }\n\n // 创建代理对象的工具方法\n public createProxy<T extends object>(obj: T, mesh: Object3D, fn: Function = null): T {\n return new Proxy(obj, {\n set: (target, prop, value) => {\n if (mesh)\n mesh[prop] = value\n target[prop] = value\n fn && fn(prop, value)\n return true\n },\n })\n }\n\n arrayMergeCustomizer(objValue, srcValue) {\n if (_.isArray(objValue) && srcValue)\n return srcValue\n }\n\n destroy() {\n\n }\n}\n\nexport default ObjectLayer"],"mappings":";;;;;;;;;;;;;AAAA,SAAeA,QAAQ,QAAQ,eAAe;AAC9C,OAAOC,CAAC,MAAM,QAAQ;;AAEtB;AACA;AACA;AAFA,IAGMC,WAAW,0BAAAC,SAAA;EAAAC,SAAA,CAAAF,WAAA,EAAAC,SAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,WAAA;EACf;EACA,SAAAA,YAAA,EAAc;IAAAK,eAAA,OAAAL,WAAA;IAAA,OAAAG,MAAA,CAAAG,IAAA;EAEd;;EAEA;EACA;EACA;;EAEA;EACA;EACA;;EAEA;EAAAC,YAAA,CAAAP,WAAA;IAAAQ,GAAA;IAAAC,KAAA,EACA,SAAAC,YAAqCC,GAAM,EAAEC,IAAc,EAA0B;MAAA,IAAxBC,EAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;MAC9E,OAAO,IAAIG,KAAK,CAACN,GAAG,EAAE;QACpBO,GAAG,EAAE,SAAAA,IAACC,MAAM,EAAEC,IAAI,EAAEX,KAAK,EAAK;UAC5B,IAAIG,IAAI,EACNA,IAAI,CAACQ,IAAI,CAAC,GAAGX,KAAK;UACpBU,MAAM,CAACC,IAAI,CAAC,GAAGX,KAAK;UACpBI,EAAE,IAAIA,EAAE,CAACO,IAAI,EAAEX,KAAK,CAAC;UACrB,OAAO,IAAI;QACb;MACF,CAAC,CAAC;IACJ;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAAY,qBAAqBC,QAAQ,EAAEC,QAAQ,EAAE;MACvC,IAAIxB,CAAC,CAACyB,OAAO,CAACF,QAAQ,CAAC,IAAIC,QAAQ,EACjC,OAAOA,QAAQ;IACnB;EAAC;IAAAf,GAAA;IAAAC,KAAA,EAED,SAAAgB,QAAA,EAAU,CAEV;EAAC;EAAA,OAAAzB,WAAA;AAAA,EAlCuBF,QAAQ;AAqClC,eAAeE,WAAW"}
|
|
@@ -104,7 +104,6 @@ var Flyline = /*#__PURE__*/function (_ObjectLayer) {
|
|
|
104
104
|
// 遍历点组合气泡和飞线
|
|
105
105
|
this.path.forEach( /*#__PURE__*/function () {
|
|
106
106
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(item) {
|
|
107
|
-
var _this2$bubble;
|
|
108
107
|
var lineMesh;
|
|
109
108
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
110
109
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -118,16 +117,14 @@ var Flyline = /*#__PURE__*/function (_ObjectLayer) {
|
|
|
118
117
|
case 3:
|
|
119
118
|
_this2._lineMesh.push(lineMesh);
|
|
120
119
|
group.add(lineMesh);
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
case 6:
|
|
120
|
+
// 添加气泡
|
|
121
|
+
_this2.addBubbleMesh(group, new BubbleClass(_objectSpread({
|
|
122
|
+
radius: 0.5
|
|
123
|
+
}, _this2.bubble)), item.from);
|
|
124
|
+
_this2.addBubbleMesh(group, new BubbleClass(_objectSpread({
|
|
125
|
+
radius: 0.5
|
|
126
|
+
}, _this2.bubble)), item.to);
|
|
127
|
+
case 7:
|
|
131
128
|
case "end":
|
|
132
129
|
return _context.stop();
|
|
133
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","obj","_toPrimitive","String","toPrimitive","Number","Group","ObjectLayer","StrategyManage","BubbleStrategy","LineStrategy","STYLE_DATA","flyline_01","Flyline","_ObjectLayer","_super","params","_this","Set","style","path","line","bubble","_style","_path","_line","_bubble","init","get","set","_init","_callee2","_this2","group","_STYLE_DATA$this$styl","lineUri","bubbleUri","BubbleClass","LineClass","_callee2$","_context2","_ref","_callee","item","_this2$bubble","lineMesh","_callee$","_context","startPoint","endPoint","to","ready","_lineMesh","add","visible","addBubbleMesh","radius","_x","proxy","_bubbleMesh","parentNode","mesh","point","_pointStrings","has","JSON","stringify","position","fromArray","meshs","prop"],"sources":["../../../src/business/Flyline/index.ts"],"sourcesContent":["import type { Mesh, Object3D } from '@anov/3d-core'\nimport { Group } from '@anov/3d-core'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport { StrategyManage as BubbleStrategy } from '../Poi/particle/index'\nimport { StrategyManage as LineStrategy } from './line'\nimport type { ButtleOption, LineOption, Option, PathItem } from './type'\n\nconst STYLE_DATA = {\n flyline_01: ['arc', 'doubleCircle'],\n}\nclass Flyline extends ObjectLayer {\n _style: string\n _path: Array<object>\n _line: LineOption\n _bubble: ButtleOption\n\n _lineMesh: Array<Mesh> = []\n _bubbleMesh: Array<Mesh> = []\n _pointStrings = new Set()\n type = 'Group'\n\n public get style(): string {\n return this._style\n }\n\n public set style(value) {\n this._style = value\n }\n\n public get path(): Array<object> {\n return this._path\n }\n\n public set path(value) {\n this._path = value\n }\n\n public get line(): LineOption {\n return this._line || {}\n }\n\n public get bubble(): ButtleOption {\n return this._bubble || {}\n }\n\n constructor(params: Option) {\n super()\n const { style, path, line, bubble } = params\n this._style = style\n this._path = path\n this._line = line\n this._bubble = bubble\n\n this.init()\n }\n\n private async init() {\n const group = new Group()\n const [lineUri, bubbleUri] = STYLE_DATA[this.style]\n\n // 气泡\n const BubbleClass = await BubbleStrategy[bubbleUri]()\n // 飞线\n const LineClass = await LineStrategy[lineUri]()\n // 遍历点组合气泡和飞线\n this.path.forEach(async (item: PathItem) => {\n const lineMesh = new LineClass({ ...this.line, startPoint: item.from, endPoint: item.to })\n\n await lineMesh.ready\n this._lineMesh.push(lineMesh)\n group.add(lineMesh)\n if (this.bubble?.visible !== false) {\n // 添加气泡\n this.addBubbleMesh(group, new BubbleClass({ radius: 0.5, ...this.bubble }), item.from)\n this.addBubbleMesh(group, new BubbleClass({ radius: 0.5, ...this.bubble }), item.to)\n }\n })\n this.add(group)\n this._line = this.proxy(this._line, this._lineMesh)\n this._bubble = this.proxy(this._bubble, this._bubbleMesh)\n }\n\n private addBubbleMesh(parentNode: Group, mesh: Mesh, point) {\n if (this._pointStrings.has(JSON.stringify(point)))\n return\n this._pointStrings.add(JSON.stringify(point))\n mesh.position.fromArray(point)\n this._bubbleMesh.push(mesh)\n parentNode.add(mesh)\n }\n\n private proxy<T extends object>(obj: T, meshs: Array<Object3D>): T {\n return new Proxy(obj, {\n set: (target, prop, value) => {\n meshs.forEach(mesh => mesh[prop] = value)\n target[prop] = value\n return true\n },\n })\n }\n}\n\nexport { Flyline }"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","obj","_toPrimitive","String","toPrimitive","Number","Group","ObjectLayer","StrategyManage","BubbleStrategy","LineStrategy","STYLE_DATA","flyline_01","Flyline","_ObjectLayer","_super","params","_this","Set","style","path","line","bubble","_style","_path","_line","_bubble","init","get","set","_init","_callee2","_this2","group","_STYLE_DATA$this$styl","lineUri","bubbleUri","BubbleClass","LineClass","_callee2$","_context2","_ref","_callee","item","lineMesh","_callee$","_context","startPoint","endPoint","to","ready","_lineMesh","add","addBubbleMesh","radius","_x","proxy","_bubbleMesh","parentNode","mesh","point","_pointStrings","has","JSON","stringify","position","fromArray","meshs","prop"],"sources":["../../../src/business/Flyline/index.ts"],"sourcesContent":["import type { Mesh, Object3D } from '@anov/3d-core'\nimport { Group } from '@anov/3d-core'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport { StrategyManage as BubbleStrategy } from '../Poi/particle/index'\nimport { StrategyManage as LineStrategy } from './line'\nimport type { ButtleOption, LineOption, Option, PathItem } from './type'\n\nconst STYLE_DATA = {\n flyline_01: ['arc', 'doubleCircle'],\n}\nclass Flyline extends ObjectLayer {\n _style: string\n _path: Array<object>\n _line: LineOption\n _bubble: ButtleOption\n\n _lineMesh: Array<Mesh> = []\n _bubbleMesh: Array<Mesh> = []\n _pointStrings = new Set()\n type = 'Group'\n\n public get style(): string {\n return this._style\n }\n\n public set style(value) {\n this._style = value\n }\n\n public get path(): Array<object> {\n return this._path\n }\n\n public set path(value) {\n this._path = value\n }\n\n public get line(): LineOption {\n return this._line || {}\n }\n\n public get bubble(): ButtleOption {\n return this._bubble || {}\n }\n\n constructor(params: Option) {\n super()\n const { style, path, line, bubble } = params\n this._style = style\n this._path = path\n this._line = line\n this._bubble = bubble\n\n this.init()\n }\n\n private async init() {\n const group = new Group()\n const [lineUri, bubbleUri] = STYLE_DATA[this.style]\n\n // 气泡\n const BubbleClass = await BubbleStrategy[bubbleUri]()\n // 飞线\n const LineClass = await LineStrategy[lineUri]()\n // 遍历点组合气泡和飞线\n this.path.forEach(async (item: PathItem) => {\n const lineMesh = new LineClass({ ...this.line, startPoint: item.from, endPoint: item.to })\n\n await lineMesh.ready\n this._lineMesh.push(lineMesh)\n group.add(lineMesh)\n // 添加气泡\n this.addBubbleMesh(group, new BubbleClass({ radius: 0.5, ...this.bubble }), item.from)\n this.addBubbleMesh(group, new BubbleClass({ radius: 0.5, ...this.bubble }), item.to)\n })\n this.add(group)\n this._line = this.proxy(this._line, this._lineMesh)\n this._bubble = this.proxy(this._bubble, this._bubbleMesh)\n }\n\n private addBubbleMesh(parentNode: Group, mesh: Mesh, point) {\n if (this._pointStrings.has(JSON.stringify(point)))\n return\n this._pointStrings.add(JSON.stringify(point))\n mesh.position.fromArray(point)\n this._bubbleMesh.push(mesh)\n parentNode.add(mesh)\n }\n\n private proxy<T extends object>(obj: T, meshs: Array<Object3D>): T {\n return new Proxy(obj, {\n set: (target, prop, value) => {\n meshs.forEach(mesh => mesh[prop] = value)\n target[prop] = value\n return true\n },\n })\n }\n}\n\nexport { Flyline }"],"mappings":"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"}
|
|
@@ -23,8 +23,8 @@ declare class Heatmap {
|
|
|
23
23
|
y: number;
|
|
24
24
|
}): any;
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
declare const _default: {
|
|
27
27
|
create(config: any): Heatmap;
|
|
28
28
|
register(pluginKey: string, plugin: any): void;
|
|
29
29
|
};
|
|
30
|
-
export
|
|
30
|
+
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HeatmapConfig","defaultRadius","defaultRenderer","defaultGradient","defaultMaxOpacity","defaultMinOpacity","defaultBlur","defaultXField","defaultYField","defaultValueField","plugins","Store","config","_classCallCheck","_defineProperty","_xField","xField","_yField","yField","_valueField","valueField","radius","_cfgRadius","_createClass","key","value","_organiseData","dataPoint","forceRender","x","y","radi","_radi","store","_data","max","_max","min","_min","storedVal","setDataMax","setDataMin","_unOrganizeData","unorganizedData","data","push","_onExtremaChange","_coordinator","emit","addData","_len","arguments","length","args","Array","_key","dataArr","dataLen","organisedEntry","setData","dataPoints","pointsLen","i","getInternalData","removeData","setCoordinator","coordinator","getData","getValueAt","point","_renderer","shadowCtx","img","getImageData","Math","abs","Canvas2dRenderer","_width","_height","container","shadowCanvas","document","createElement","canvas","_renderBoundaries","computed","getComputedStyle","className","width","replace","height","getContext","ctx","style","cssText","position","appendChild","_palette","_getColorPalette","_templates","_setStyles","_config$gradient","gradientConfig","gradient","paletteCanvas","paletteCtx","createLinearGradient","addColorStop","fillStyle","fillRect","_getPointTemplate","blurFactor","tplCanvas","tplCtx","beginPath","arc","PI","fill","createRadialGradient","_prepareData","renderData","data2","xValues","Object","keys","xValuesLen","xValue","yValues","yValuesLen","yValue","renderPartial","_drawAlpha","_colorize","renderAll","_clear","_updateGradient","updateConfig","setDimensions","clearRect","_blur","blur","backgroundColor","_opacity","opacity","_maxOpacity","maxOpacity","_minOpacity","minOpacity","_useGradientOpacity","useGradientOpacity","rectX","rectY","tpl","templateAlpha","globalAlpha","drawImage","maxWidth","maxHeight","imgData","len","palette","alpha","offset","finalAlpha","newImg","ImageData","putImageData","getDataURL","toDataURL","Coordinator","cStore","on","evtName","callback","scope","call","Heatmap","_config","_objectSpread","plugin","pluginToLoad","Error","concat","Renderer","renderer","_store","_connect","_this","onExtremaChange","_this$_store","_len2","_key3","apply","_toConsumableArray","_this$_store2","_len3","_key4","_this$_store3","_len4","_key5","_this$_store4","_len5","_key6","configure","repaint","heatmapFactory","create","register","pluginKey"],"sources":["../../../src/business/HeatMap/core.ts"],"sourcesContent":["const HeatmapConfig = {\n defaultRadius: 40,\n defaultRenderer: 'canvas2d',\n defaultGradient: { 0.25: 'rgb(0,0,255)', 0.55: 'rgb(0,255,0)', 0.85: 'yellow', 1.0: 'rgb(255,0,0)' },\n defaultMaxOpacity: 1,\n defaultMinOpacity: 0,\n defaultBlur: 0.85,\n defaultXField: 'x',\n defaultYField: 'y',\n defaultValueField: 'value',\n plugins: {},\n}\n\ninterface IPoint {\n x: number\n y: number\n value: number\n radius: number\n min?: number\n max?: number\n}\n\ninterface IConfig {\n radius?: number\n xField?: string\n yField?: string\n valueField?: string\n defaultXField: string\n defaultYField: string\n defaultValueField: string\n}\n\nclass Store {\n private _coordinator: any = {}\n private _data: any[] = []\n private _radi: any[] = []\n private _min = 10\n private _max = 1\n private _xField: string\n private _yField: string\n private _valueField: string\n private _cfgRadius?: number\n\n constructor(config: IConfig) {\n this._xField = config.xField || config.defaultXField\n this._yField = config.yField || config.defaultYField\n this._valueField = config.valueField || config.defaultValueField\n\n if (config.radius)\n this._cfgRadius = config.radius\n }\n\n private _organiseData(dataPoint: any, forceRender: boolean): false | IPoint {\n const x = dataPoint[this._xField]\n const y = dataPoint[this._yField]\n const radi = this._radi\n const store = this._data\n const max = this._max\n const min = this._min\n const value = dataPoint[this._valueField] || 1\n const radius = dataPoint.radius || this._cfgRadius || HeatmapConfig.defaultRadius\n\n if (!store[x]) {\n store[x] = []\n radi[x] = []\n }\n\n if (!store[x][y]) {\n store[x][y] = value\n radi[x][y] = radius\n }\n else {\n store[x][y] += value\n }\n const storedVal = store[x][y]\n\n if (storedVal > max) {\n if (!forceRender)\n this._max = storedVal\n else\n this.setDataMax(storedVal)\n\n return false\n }\n else if (storedVal < min) {\n if (!forceRender)\n this._min = storedVal\n else\n this.setDataMin(storedVal)\n\n return false\n }\n else {\n return {\n x,\n y,\n value,\n radius,\n min,\n max,\n }\n }\n }\n\n private _unOrganizeData() {\n const unorganizedData = []\n const data = this._data\n const radi = this._radi\n\n for (const x in data) {\n for (const y in data[x]) {\n unorganizedData.push({\n x,\n y,\n radius: radi[x][y],\n value: data[x][y],\n })\n }\n }\n return {\n min: this._min,\n max: this._max,\n data: unorganizedData,\n }\n }\n\n private _onExtremaChange() {\n this._coordinator.emit('extremachange', {\n min: this._min,\n max: this._max,\n })\n }\n\n addData(...args: any[]) {\n if (args[0].length > 0) {\n const dataArr = args[0]\n let dataLen = dataArr.length\n while (dataLen--)\n this.addData(dataArr[dataLen])\n }\n else {\n // add to store\n const organisedEntry = this._organiseData(args[0], true)\n if (organisedEntry) {\n // if it's the first datapoint initialize the extremas with it\n if (this._data.length === 0)\n this._min = this._max = organisedEntry.value\n\n this._coordinator.emit('renderpartial', {\n min: this._min,\n max: this._max,\n data: [organisedEntry],\n })\n }\n }\n return this\n }\n\n setData(data: any) {\n const dataPoints = data.data\n const pointsLen = dataPoints.length\n\n // reset data arrays\n this._data = []\n this._radi = []\n\n for (let i = 0; i < pointsLen; i++)\n this._organiseData(dataPoints[i], false)\n\n this._max = data.max\n this._min = data.min || 0\n\n this._onExtremaChange()\n this._coordinator.emit('renderall', this.getInternalData())\n return this\n }\n\n removeData() {\n // TODO: implement\n }\n\n setDataMax(max: number) {\n this._max = max\n this._onExtremaChange()\n this._coordinator.emit('renderall', this.getInternalData())\n return this\n }\n\n setDataMin(min: number) {\n this._min = min\n this._onExtremaChange()\n this._coordinator.emit('renderall', this.getInternalData())\n return this\n }\n\n setCoordinator(coordinator: any) {\n this._coordinator = coordinator\n }\n\n getInternalData() {\n return {\n max: this._max,\n min: this._min,\n data: this._data,\n radi: this._radi,\n }\n }\n\n getData() {\n return this._unOrganizeData()\n }\n\n getValueAt(point: { x: number; y: number }) {\n const shadowCtx = (this as any)._renderer?.shadowCtx\n if (!shadowCtx)\n return null\n\n const img = shadowCtx.getImageData(point.x, point.y, 1, 1)\n const data = img.data[3]\n const max = this._max\n const min = this._min\n\n const value = (Math.abs(max! - min!) * (data / 255)) >> 0\n return value\n }\n}\n\nclass Canvas2dRenderer {\n private shadowCanvas: HTMLCanvasElement\n private canvas: HTMLCanvasElement\n private _renderBoundaries: number[]\n private _width: number\n private _height: number\n private shadowCtx: CanvasRenderingContext2D\n private ctx: CanvasRenderingContext2D\n private _palette: Uint8ClampedArray\n private _templates: { [key: string]: HTMLCanvasElement }\n private _blur: number\n private _opacity: number\n private _maxOpacity: number\n private _minOpacity: number\n private _useGradientOpacity: boolean\n private _min?: number\n private _max?: number\n\n constructor(config: any) {\n const container = config.container\n this.shadowCanvas = document.createElement('canvas')\n this.canvas = config.canvas || document.createElement('canvas')\n this._renderBoundaries = [10000, 10000, 0, 0]\n\n const computed = getComputedStyle(config.container) || {}\n\n this.canvas.className = 'heatmap-canvas'\n\n this._width = this.canvas.width = this.shadowCanvas.width = config.width || +(computed as any).width?.replace(/px/, '') || 0\n this._height = this.canvas.height = this.shadowCanvas.height = config.height || +(computed as any).height?.replace(/px/, '') || 0\n\n this.shadowCtx = this.shadowCanvas.getContext('2d')!\n this.ctx = this.canvas.getContext('2d')!\n\n this.canvas.style.cssText = this.shadowCanvas.style.cssText = 'position:absolute;left:0;top:0;'\n\n container.style.position = 'relative'\n container.appendChild(this.canvas)\n\n this._palette = this._getColorPalette(config)\n this._templates = {}\n\n this._setStyles(config)\n }\n\n private _getColorPalette(config: any) {\n const gradientConfig = config.gradient ?? config.defaultGradient\n const paletteCanvas = document.createElement('canvas')\n const paletteCtx = paletteCanvas.getContext('2d')!\n\n paletteCanvas.width = 256\n paletteCanvas.height = 1\n\n const gradient = paletteCtx.createLinearGradient(0, 0, 256, 1)\n for (const key in gradientConfig)\n gradient.addColorStop(+key, gradientConfig[key])\n\n paletteCtx.fillStyle = gradient\n paletteCtx.fillRect(0, 0, 256, 1)\n\n return paletteCtx.getImageData(0, 0, 256, 1).data\n }\n\n private _getPointTemplate(radius: number, blurFactor: number) {\n const tplCanvas = document.createElement('canvas')\n const tplCtx = tplCanvas.getContext('2d')!\n const x = radius\n const y = radius\n tplCanvas.width = tplCanvas.height = radius * 2\n\n if (blurFactor === 1) {\n tplCtx.beginPath()\n tplCtx.arc(x, y, radius, 0, 2 * Math.PI, false)\n tplCtx.fillStyle = 'rgba(0,0,0,1)'\n tplCtx.fill()\n }\n else {\n const gradient = tplCtx.createRadialGradient(x, y, radius * blurFactor, x, y, radius)\n gradient.addColorStop(0, 'rgba(0,0,0,1)')\n gradient.addColorStop(1, 'rgba(0,0,0,0)')\n tplCtx.fillStyle = gradient\n tplCtx.fillRect(0, 0, 2 * radius, 2 * radius)\n }\n\n return tplCanvas\n }\n\n private _prepareData(data: any) {\n const renderData = []\n const min = data.min\n const max = data.max\n const radi = data.radi\n const data2 = data.data\n\n const xValues = Object.keys(data2)\n let xValuesLen = xValues.length\n\n while (xValuesLen--) {\n const xValue = xValues[xValuesLen]\n const yValues = Object.keys(data2[xValue])\n let yValuesLen = yValues.length\n while (yValuesLen--) {\n const yValue = yValues[yValuesLen]\n const value = data2[xValue][yValue]\n const radius = radi[xValue][yValue]\n renderData.push({\n x: xValue,\n y: yValue,\n value,\n radius,\n })\n }\n }\n\n return {\n min,\n max,\n data: renderData,\n }\n }\n\n renderPartial(data: any) {\n if (data.data.length > 0) {\n this._drawAlpha(data)\n this._colorize()\n }\n }\n\n renderAll(data: any) {\n this._clear()\n if (data.data.length > 0) {\n this._drawAlpha(this._prepareData(data))\n this._colorize()\n }\n }\n\n private _updateGradient(config: any) {\n this._palette = this._getColorPalette(config)\n }\n\n updateConfig(config: any) {\n if (config.gradient)\n this._updateGradient(config)\n\n this._setStyles(config)\n }\n\n setDimensions(width: number, height: number) {\n this._width = width\n this._height = height\n this.canvas.width = this.shadowCanvas.width = width\n this.canvas.height = this.shadowCanvas.height = height\n }\n\n private _clear() {\n this.shadowCtx.clearRect(0, 0, this._width, this._height)\n this.ctx.clearRect(0, 0, this._width, this._height)\n }\n\n private _setStyles(config: any) {\n this._blur = (config.blur === 0) ? 0 : (config.blur || config.defaultBlur)\n\n if (config.backgroundColor)\n this.canvas.style.backgroundColor = config.backgroundColor\n\n this._width = this.canvas.width = this.shadowCanvas.width = config.width || this._width\n this._height = this.canvas.height = this.shadowCanvas.height = config.height || this._height\n\n this._opacity = (config.opacity || 0) * 255\n this._maxOpacity = (config.maxOpacity || config.defaultMaxOpacity) * 255\n this._minOpacity = (config.minOpacity || config.defaultMinOpacity) * 255\n this._useGradientOpacity = !!config.useGradientOpacity\n }\n\n private _drawAlpha(data: any) {\n this._min = data.min\n this._max = data.max\n const data2 = data.data || []\n let dataLen = data2.length\n // on a point basis?\n const blur = 1 - this._blur\n\n while (dataLen--) {\n const point = data2[dataLen]\n\n const x = point.x\n const y = point.y\n const radius = point.radius\n // if value is bigger than max\n // use max as value\n const value = Math.min(point.value, this._max!)\n const rectX = x - radius\n const rectY = y - radius\n const shadowCtx = this.shadowCtx\n\n let tpl\n if (!this._templates[radius])\n this._templates[radius] = tpl = this._getPointTemplate(radius, blur)\n else\n tpl = this._templates[radius]\n\n // value from minimum / value range\n // => [0, 1]\n const templateAlpha = (value - this._min!) / (this._max! - this._min!)\n // this fixes #176: small values are not visible because globalAlpha < .01 cannot be read from imageData\n shadowCtx.globalAlpha = templateAlpha < 0.01 ? 0.01 : templateAlpha\n\n shadowCtx.drawImage(tpl, rectX, rectY)\n\n // update renderBoundaries\n if (rectX < this._renderBoundaries[0])\n this._renderBoundaries[0] = rectX\n\n if (rectY < this._renderBoundaries[1])\n this._renderBoundaries[1] = rectY\n\n if (rectX + 2 * radius > this._renderBoundaries[2])\n this._renderBoundaries[2] = rectX + 2 * radius\n\n if (rectY + 2 * radius > this._renderBoundaries[3])\n this._renderBoundaries[3] = rectY + 2 * radius\n }\n }\n\n private _colorize() {\n let x = this._renderBoundaries[0]\n let y = this._renderBoundaries[1]\n let width = this._renderBoundaries[2] - x\n let height = this._renderBoundaries[3] - y\n const maxWidth = this._width\n const maxHeight = this._height\n const opacity = this._opacity\n const maxOpacity = this._maxOpacity\n const minOpacity = this._minOpacity\n const useGradientOpacity = this._useGradientOpacity\n\n if (x < 0)\n x = 0\n\n if (y < 0)\n y = 0\n\n if (x + width > maxWidth)\n width = maxWidth - x\n\n if (y + height > maxHeight)\n height = maxHeight - y\n\n const img = this.shadowCtx.getImageData(x, y, width, height)\n const imgData = img.data\n const len = imgData.length\n const palette = this._palette\n\n for (let i = 3; i < len; i += 4) {\n const alpha = imgData[i]\n const offset = alpha * 4\n\n if (!offset)\n continue\n\n let finalAlpha\n if (opacity > 0) {\n finalAlpha = opacity\n }\n else {\n if (alpha < maxOpacity) {\n if (alpha < minOpacity)\n finalAlpha = minOpacity\n else\n finalAlpha = alpha\n }\n else {\n finalAlpha = maxOpacity\n }\n }\n\n imgData[i - 3] = palette[offset]\n imgData[i - 2] = palette[offset + 1]\n imgData[i - 1] = palette[offset + 2]\n imgData[i] = useGradientOpacity ? palette[offset + 3] : finalAlpha\n }\n\n // 创建新的ImageData对象\n const newImg = new ImageData(imgData, width, height)\n this.ctx.putImageData(newImg, x, y)\n\n this._renderBoundaries = [1000, 1000, 0, 0]\n }\n\n getValueAt(point: { x: number; y: number }) {\n const shadowCtx = this.shadowCtx\n const img = shadowCtx.getImageData(point.x, point.y, 1, 1)\n const data = img.data[3]\n const max = this._max\n const min = this._min\n\n const value = (Math.abs(max! - min!) * (data / 255)) >> 0\n return value\n }\n\n getDataURL() {\n return this.canvas.toDataURL()\n }\n}\n\nclass Coordinator {\n private cStore: { [key: string]: ((data: any) => void)[] }\n\n constructor() {\n this.cStore = {}\n }\n\n on(evtName: string, callback: (data: any) => void, scope?: any) {\n const cStore = this.cStore\n\n if (!cStore[evtName])\n cStore[evtName] = []\n\n cStore[evtName].push((data: any) => {\n return callback.call(scope, data)\n })\n }\n\n emit(evtName: string, data: any) {\n const cStore = this.cStore\n if (cStore[evtName]) {\n const len = cStore[evtName].length\n for (let i = 0; i < len; i++) {\n const callback = cStore[evtName][i]\n callback(data)\n }\n }\n }\n}\n\nclass Heatmap {\n private _config: any\n private _coordinator: Coordinator\n public _renderer: any\n private _store: Store\n\n constructor(config: any) {\n this._config = { ...HeatmapConfig, ...config }\n this._coordinator = new Coordinator()\n\n if (config.plugin) {\n const pluginToLoad = config.plugin\n if (!HeatmapConfig.plugins[pluginToLoad]) {\n throw new Error(`Plugin '${pluginToLoad}' not found. Maybe it was not registered.`)\n }\n else {\n const plugin = HeatmapConfig.plugins[pluginToLoad]\n // set plugin renderer and store\n const Renderer = plugin.renderer\n const Store = plugin.store\n this._renderer = new Renderer(config)\n this._store = new Store(config)\n }\n }\n else {\n this._renderer = new Canvas2dRenderer(config)\n this._store = new Store(config)\n }\n\n this._connect()\n }\n\n private _connect() {\n const renderer = this._renderer\n const coordinator = this._coordinator\n const store = this._store\n\n coordinator.on('renderpartial', renderer.renderPartial, renderer)\n coordinator.on('renderall', renderer.renderAll, renderer)\n coordinator.on('extremachange', (data: any) => {\n this._config.onExtremaChange\n && this._config.onExtremaChange({\n min: data.min,\n max: data.max,\n gradient: this._config.gradient || this._config.defaultGradient,\n })\n })\n store.setCoordinator(coordinator)\n }\n\n addData(...args: any[]) {\n if (args.length === 1)\n this._store.addData(args[0])\n else\n this._store.addData(...args as [any])\n\n return this\n }\n\n removeData(...args: any[]) {\n if (this._store.removeData)\n this._store.removeData()\n\n return this\n }\n\n setData(...args: any[]) {\n if (args.length === 1)\n this._store.setData(args[0])\n else\n this._store.setData(...args as [any])\n\n return this\n }\n\n setDataMax(...args: any[]) {\n if (args.length === 1)\n this._store.setDataMax(args[0])\n else\n this._store.setDataMax(...args as [any])\n\n return this\n }\n\n setDataMin(...args: any[]) {\n if (args.length === 1)\n this._store.setDataMin(args[0])\n else\n this._store.setDataMin(...args as [any])\n\n return this\n }\n\n configure(config: any) {\n this._config = { ...this._config, ...config }\n this._renderer.updateConfig(this._config)\n this._coordinator.emit('renderall', this._store.getInternalData())\n return this\n }\n\n repaint() {\n this._coordinator.emit('renderall', this._store.getInternalData())\n return this\n }\n\n getData() {\n return this._store.getData()\n }\n\n getDataURL() {\n return this._renderer.getDataURL()\n }\n\n getValueAt(point: { x: number; y: number }) {\n if (this._store.getValueAt)\n return this._store.getValueAt(point)\n else if (this._renderer.getValueAt)\n return this._renderer.getValueAt(point)\n else\n return null\n }\n}\n\nexport const heatmapFactory = {\n create(config: any) {\n return new Heatmap(config)\n },\n register(pluginKey: string, plugin: any) {\n HeatmapConfig.plugins[pluginKey] = plugin\n },\n}"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["HeatmapConfig","defaultRadius","defaultRenderer","defaultGradient","defaultMaxOpacity","defaultMinOpacity","defaultBlur","defaultXField","defaultYField","defaultValueField","plugins","Store","config","_classCallCheck","_defineProperty","_xField","xField","_yField","yField","_valueField","valueField","radius","_cfgRadius","_createClass","key","value","_organiseData","dataPoint","forceRender","x","y","radi","_radi","store","_data","max","_max","min","_min","storedVal","setDataMax","setDataMin","_unOrganizeData","unorganizedData","data","push","_onExtremaChange","_coordinator","emit","addData","_len","arguments","length","args","Array","_key","dataArr","dataLen","organisedEntry","setData","dataPoints","pointsLen","i","getInternalData","removeData","setCoordinator","coordinator","getData","getValueAt","point","_renderer","shadowCtx","img","getImageData","Math","abs","Canvas2dRenderer","_width","_height","container","shadowCanvas","document","createElement","canvas","_renderBoundaries","computed","getComputedStyle","className","width","replace","height","getContext","ctx","style","cssText","position","appendChild","_palette","_getColorPalette","_templates","_setStyles","_config$gradient","gradientConfig","gradient","paletteCanvas","paletteCtx","createLinearGradient","addColorStop","fillStyle","fillRect","_getPointTemplate","blurFactor","tplCanvas","tplCtx","beginPath","arc","PI","fill","createRadialGradient","_prepareData","renderData","data2","xValues","Object","keys","xValuesLen","xValue","yValues","yValuesLen","yValue","renderPartial","_drawAlpha","_colorize","renderAll","_clear","_updateGradient","updateConfig","setDimensions","clearRect","_blur","blur","backgroundColor","_opacity","opacity","_maxOpacity","maxOpacity","_minOpacity","minOpacity","_useGradientOpacity","useGradientOpacity","rectX","rectY","tpl","templateAlpha","globalAlpha","drawImage","maxWidth","maxHeight","imgData","len","palette","alpha","offset","finalAlpha","newImg","ImageData","putImageData","getDataURL","toDataURL","Coordinator","cStore","on","evtName","callback","scope","call","Heatmap","_config","_objectSpread","plugin","pluginToLoad","Error","concat","Renderer","renderer","_store","_connect","_this","onExtremaChange","_this$_store","_len2","_key3","apply","_toConsumableArray","_this$_store2","_len3","_key4","_this$_store3","_len4","_key5","_this$_store4","_len5","_key6","configure","repaint","create","register","pluginKey"],"sources":["../../../src/business/HeatMap/core.ts"],"sourcesContent":["const HeatmapConfig = {\n defaultRadius: 40,\n defaultRenderer: 'canvas2d',\n defaultGradient: { 0.25: 'rgb(0,0,255)', 0.55: 'rgb(0,255,0)', 0.85: 'yellow', 1.0: 'rgb(255,0,0)' },\n defaultMaxOpacity: 1,\n defaultMinOpacity: 0,\n defaultBlur: 0.85,\n defaultXField: 'x',\n defaultYField: 'y',\n defaultValueField: 'value',\n plugins: {},\n}\n\ninterface IPoint {\n x: number\n y: number\n value: number\n radius: number\n min?: number\n max?: number\n}\n\ninterface IConfig {\n radius?: number\n xField?: string\n yField?: string\n valueField?: string\n defaultXField: string\n defaultYField: string\n defaultValueField: string\n}\n\nclass Store {\n private _coordinator: any = {}\n private _data: any[] = []\n private _radi: any[] = []\n private _min = 10\n private _max = 1\n private _xField: string\n private _yField: string\n private _valueField: string\n private _cfgRadius?: number\n\n constructor(config: IConfig) {\n this._xField = config.xField || config.defaultXField\n this._yField = config.yField || config.defaultYField\n this._valueField = config.valueField || config.defaultValueField\n\n if (config.radius)\n this._cfgRadius = config.radius\n }\n\n private _organiseData(dataPoint: any, forceRender: boolean): false | IPoint {\n const x = dataPoint[this._xField]\n const y = dataPoint[this._yField]\n const radi = this._radi\n const store = this._data\n const max = this._max\n const min = this._min\n const value = dataPoint[this._valueField] || 1\n const radius = dataPoint.radius || this._cfgRadius || HeatmapConfig.defaultRadius\n\n if (!store[x]) {\n store[x] = []\n radi[x] = []\n }\n\n if (!store[x][y]) {\n store[x][y] = value\n radi[x][y] = radius\n }\n else {\n store[x][y] += value\n }\n const storedVal = store[x][y]\n\n if (storedVal > max) {\n if (!forceRender)\n this._max = storedVal\n else\n this.setDataMax(storedVal)\n\n return false\n }\n else if (storedVal < min) {\n if (!forceRender)\n this._min = storedVal\n else\n this.setDataMin(storedVal)\n\n return false\n }\n else {\n return {\n x,\n y,\n value,\n radius,\n min,\n max,\n }\n }\n }\n\n private _unOrganizeData() {\n const unorganizedData = []\n const data = this._data\n const radi = this._radi\n\n for (const x in data) {\n for (const y in data[x]) {\n unorganizedData.push({\n x,\n y,\n radius: radi[x][y],\n value: data[x][y],\n })\n }\n }\n return {\n min: this._min,\n max: this._max,\n data: unorganizedData,\n }\n }\n\n private _onExtremaChange() {\n this._coordinator.emit('extremachange', {\n min: this._min,\n max: this._max,\n })\n }\n\n addData(...args: any[]) {\n if (args[0].length > 0) {\n const dataArr = args[0]\n let dataLen = dataArr.length\n while (dataLen--)\n this.addData(dataArr[dataLen])\n }\n else {\n // add to store\n const organisedEntry = this._organiseData(args[0], true)\n if (organisedEntry) {\n // if it's the first datapoint initialize the extremas with it\n if (this._data.length === 0)\n this._min = this._max = organisedEntry.value\n\n this._coordinator.emit('renderpartial', {\n min: this._min,\n max: this._max,\n data: [organisedEntry],\n })\n }\n }\n return this\n }\n\n setData(data: any) {\n const dataPoints = data.data\n const pointsLen = dataPoints.length\n\n // reset data arrays\n this._data = []\n this._radi = []\n\n for (let i = 0; i < pointsLen; i++)\n this._organiseData(dataPoints[i], false)\n\n this._max = data.max\n this._min = data.min || 0\n\n this._onExtremaChange()\n this._coordinator.emit('renderall', this.getInternalData())\n return this\n }\n\n removeData() {\n // TODO: implement\n }\n\n setDataMax(max: number) {\n this._max = max\n this._onExtremaChange()\n this._coordinator.emit('renderall', this.getInternalData())\n return this\n }\n\n setDataMin(min: number) {\n this._min = min\n this._onExtremaChange()\n this._coordinator.emit('renderall', this.getInternalData())\n return this\n }\n\n setCoordinator(coordinator: any) {\n this._coordinator = coordinator\n }\n\n getInternalData() {\n return {\n max: this._max,\n min: this._min,\n data: this._data,\n radi: this._radi,\n }\n }\n\n getData() {\n return this._unOrganizeData()\n }\n\n getValueAt(point: { x: number; y: number }) {\n const shadowCtx = (this as any)._renderer?.shadowCtx\n if (!shadowCtx)\n return null\n\n const img = shadowCtx.getImageData(point.x, point.y, 1, 1)\n const data = img.data[3]\n const max = this._max\n const min = this._min\n\n const value = (Math.abs(max! - min!) * (data / 255)) >> 0\n return value\n }\n}\n\nclass Canvas2dRenderer {\n private shadowCanvas: HTMLCanvasElement\n private canvas: HTMLCanvasElement\n private _renderBoundaries: number[]\n private _width: number\n private _height: number\n private shadowCtx: CanvasRenderingContext2D\n private ctx: CanvasRenderingContext2D\n private _palette: Uint8ClampedArray\n private _templates: { [key: string]: HTMLCanvasElement }\n private _blur: number\n private _opacity: number\n private _maxOpacity: number\n private _minOpacity: number\n private _useGradientOpacity: boolean\n private _min?: number\n private _max?: number\n\n constructor(config: any) {\n const container = config.container\n this.shadowCanvas = document.createElement('canvas')\n this.canvas = config.canvas || document.createElement('canvas')\n this._renderBoundaries = [10000, 10000, 0, 0]\n\n const computed = getComputedStyle(config.container) || {}\n\n this.canvas.className = 'heatmap-canvas'\n\n this._width = this.canvas.width = this.shadowCanvas.width = config.width || +(computed as any).width?.replace(/px/, '') || 0\n this._height = this.canvas.height = this.shadowCanvas.height = config.height || +(computed as any).height?.replace(/px/, '') || 0\n\n this.shadowCtx = this.shadowCanvas.getContext('2d')!\n this.ctx = this.canvas.getContext('2d')!\n\n this.canvas.style.cssText = this.shadowCanvas.style.cssText = 'position:absolute;left:0;top:0;'\n\n container.style.position = 'relative'\n container.appendChild(this.canvas)\n\n this._palette = this._getColorPalette(config)\n this._templates = {}\n\n this._setStyles(config)\n }\n\n private _getColorPalette(config: any) {\n const gradientConfig = config.gradient ?? config.defaultGradient\n const paletteCanvas = document.createElement('canvas')\n const paletteCtx = paletteCanvas.getContext('2d')!\n\n paletteCanvas.width = 256\n paletteCanvas.height = 1\n\n const gradient = paletteCtx.createLinearGradient(0, 0, 256, 1)\n for (const key in gradientConfig)\n gradient.addColorStop(+key, gradientConfig[key])\n\n paletteCtx.fillStyle = gradient\n paletteCtx.fillRect(0, 0, 256, 1)\n\n return paletteCtx.getImageData(0, 0, 256, 1).data\n }\n\n private _getPointTemplate(radius: number, blurFactor: number) {\n const tplCanvas = document.createElement('canvas')\n const tplCtx = tplCanvas.getContext('2d')!\n const x = radius\n const y = radius\n tplCanvas.width = tplCanvas.height = radius * 2\n\n if (blurFactor === 1) {\n tplCtx.beginPath()\n tplCtx.arc(x, y, radius, 0, 2 * Math.PI, false)\n tplCtx.fillStyle = 'rgba(0,0,0,1)'\n tplCtx.fill()\n }\n else {\n const gradient = tplCtx.createRadialGradient(x, y, radius * blurFactor, x, y, radius)\n gradient.addColorStop(0, 'rgba(0,0,0,1)')\n gradient.addColorStop(1, 'rgba(0,0,0,0)')\n tplCtx.fillStyle = gradient\n tplCtx.fillRect(0, 0, 2 * radius, 2 * radius)\n }\n\n return tplCanvas\n }\n\n private _prepareData(data: any) {\n const renderData = []\n const min = data.min\n const max = data.max\n const radi = data.radi\n const data2 = data.data\n\n const xValues = Object.keys(data2)\n let xValuesLen = xValues.length\n\n while (xValuesLen--) {\n const xValue = xValues[xValuesLen]\n const yValues = Object.keys(data2[xValue])\n let yValuesLen = yValues.length\n while (yValuesLen--) {\n const yValue = yValues[yValuesLen]\n const value = data2[xValue][yValue]\n const radius = radi[xValue][yValue]\n renderData.push({\n x: xValue,\n y: yValue,\n value,\n radius,\n })\n }\n }\n\n return {\n min,\n max,\n data: renderData,\n }\n }\n\n renderPartial(data: any) {\n if (data.data.length > 0) {\n this._drawAlpha(data)\n this._colorize()\n }\n }\n\n renderAll(data: any) {\n this._clear()\n if (data.data.length > 0) {\n this._drawAlpha(this._prepareData(data))\n this._colorize()\n }\n }\n\n private _updateGradient(config: any) {\n this._palette = this._getColorPalette(config)\n }\n\n updateConfig(config: any) {\n if (config.gradient)\n this._updateGradient(config)\n\n this._setStyles(config)\n }\n\n setDimensions(width: number, height: number) {\n this._width = width\n this._height = height\n this.canvas.width = this.shadowCanvas.width = width\n this.canvas.height = this.shadowCanvas.height = height\n }\n\n private _clear() {\n this.shadowCtx.clearRect(0, 0, this._width, this._height)\n this.ctx.clearRect(0, 0, this._width, this._height)\n }\n\n private _setStyles(config: any) {\n this._blur = (config.blur === 0) ? 0 : (config.blur || config.defaultBlur)\n\n if (config.backgroundColor)\n this.canvas.style.backgroundColor = config.backgroundColor\n\n this._width = this.canvas.width = this.shadowCanvas.width = config.width || this._width\n this._height = this.canvas.height = this.shadowCanvas.height = config.height || this._height\n\n this._opacity = (config.opacity || 0) * 255\n this._maxOpacity = (config.maxOpacity || config.defaultMaxOpacity) * 255\n this._minOpacity = (config.minOpacity || config.defaultMinOpacity) * 255\n this._useGradientOpacity = !!config.useGradientOpacity\n }\n\n private _drawAlpha(data: any) {\n this._min = data.min\n this._max = data.max\n const data2 = data.data || []\n let dataLen = data2.length\n // on a point basis?\n const blur = 1 - this._blur\n\n while (dataLen--) {\n const point = data2[dataLen]\n\n const x = point.x\n const y = point.y\n const radius = point.radius\n // if value is bigger than max\n // use max as value\n const value = Math.min(point.value, this._max!)\n const rectX = x - radius\n const rectY = y - radius\n const shadowCtx = this.shadowCtx\n\n let tpl\n if (!this._templates[radius])\n this._templates[radius] = tpl = this._getPointTemplate(radius, blur)\n else\n tpl = this._templates[radius]\n\n // value from minimum / value range\n // => [0, 1]\n const templateAlpha = (value - this._min!) / (this._max! - this._min!)\n // this fixes #176: small values are not visible because globalAlpha < .01 cannot be read from imageData\n shadowCtx.globalAlpha = templateAlpha < 0.01 ? 0.01 : templateAlpha\n\n shadowCtx.drawImage(tpl, rectX, rectY)\n\n // update renderBoundaries\n if (rectX < this._renderBoundaries[0])\n this._renderBoundaries[0] = rectX\n\n if (rectY < this._renderBoundaries[1])\n this._renderBoundaries[1] = rectY\n\n if (rectX + 2 * radius > this._renderBoundaries[2])\n this._renderBoundaries[2] = rectX + 2 * radius\n\n if (rectY + 2 * radius > this._renderBoundaries[3])\n this._renderBoundaries[3] = rectY + 2 * radius\n }\n }\n\n private _colorize() {\n let x = this._renderBoundaries[0]\n let y = this._renderBoundaries[1]\n let width = this._renderBoundaries[2] - x\n let height = this._renderBoundaries[3] - y\n const maxWidth = this._width\n const maxHeight = this._height\n const opacity = this._opacity\n const maxOpacity = this._maxOpacity\n const minOpacity = this._minOpacity\n const useGradientOpacity = this._useGradientOpacity\n\n if (x < 0)\n x = 0\n\n if (y < 0)\n y = 0\n\n if (x + width > maxWidth)\n width = maxWidth - x\n\n if (y + height > maxHeight)\n height = maxHeight - y\n\n const img = this.shadowCtx.getImageData(x, y, width, height)\n const imgData = img.data\n const len = imgData.length\n const palette = this._palette\n\n for (let i = 3; i < len; i += 4) {\n const alpha = imgData[i]\n const offset = alpha * 4\n\n if (!offset)\n continue\n\n let finalAlpha\n if (opacity > 0) {\n finalAlpha = opacity\n }\n else {\n if (alpha < maxOpacity) {\n if (alpha < minOpacity)\n finalAlpha = minOpacity\n else\n finalAlpha = alpha\n }\n else {\n finalAlpha = maxOpacity\n }\n }\n\n imgData[i - 3] = palette[offset]\n imgData[i - 2] = palette[offset + 1]\n imgData[i - 1] = palette[offset + 2]\n imgData[i] = useGradientOpacity ? palette[offset + 3] : finalAlpha\n }\n\n // 创建新的ImageData对象\n const newImg = new ImageData(imgData, width, height)\n this.ctx.putImageData(newImg, x, y)\n\n this._renderBoundaries = [1000, 1000, 0, 0]\n }\n\n getValueAt(point: { x: number; y: number }) {\n const shadowCtx = this.shadowCtx\n const img = shadowCtx.getImageData(point.x, point.y, 1, 1)\n const data = img.data[3]\n const max = this._max\n const min = this._min\n\n const value = (Math.abs(max! - min!) * (data / 255)) >> 0\n return value\n }\n\n getDataURL() {\n return this.canvas.toDataURL()\n }\n}\n\nclass Coordinator {\n private cStore: { [key: string]: ((data: any) => void)[] }\n\n constructor() {\n this.cStore = {}\n }\n\n on(evtName: string, callback: (data: any) => void, scope?: any) {\n const cStore = this.cStore\n\n if (!cStore[evtName])\n cStore[evtName] = []\n\n cStore[evtName].push((data: any) => {\n return callback.call(scope, data)\n })\n }\n\n emit(evtName: string, data: any) {\n const cStore = this.cStore\n if (cStore[evtName]) {\n const len = cStore[evtName].length\n for (let i = 0; i < len; i++) {\n const callback = cStore[evtName][i]\n callback(data)\n }\n }\n }\n}\n\nclass Heatmap {\n private _config: any\n private _coordinator: Coordinator\n public _renderer: any\n private _store: Store\n\n constructor(config: any) {\n this._config = { ...HeatmapConfig, ...config }\n this._coordinator = new Coordinator()\n\n if (config.plugin) {\n const pluginToLoad = config.plugin\n if (!HeatmapConfig.plugins[pluginToLoad]) {\n throw new Error(`Plugin '${pluginToLoad}' not found. Maybe it was not registered.`)\n }\n else {\n const plugin = HeatmapConfig.plugins[pluginToLoad]\n // set plugin renderer and store\n const Renderer = plugin.renderer\n const Store = plugin.store\n this._renderer = new Renderer(config)\n this._store = new Store(config)\n }\n }\n else {\n this._renderer = new Canvas2dRenderer(config)\n this._store = new Store(config)\n }\n\n this._connect()\n }\n\n private _connect() {\n const renderer = this._renderer\n const coordinator = this._coordinator\n const store = this._store\n\n coordinator.on('renderpartial', renderer.renderPartial, renderer)\n coordinator.on('renderall', renderer.renderAll, renderer)\n coordinator.on('extremachange', (data: any) => {\n this._config.onExtremaChange\n && this._config.onExtremaChange({\n min: data.min,\n max: data.max,\n gradient: this._config.gradient || this._config.defaultGradient,\n })\n })\n store.setCoordinator(coordinator)\n }\n\n addData(...args: any[]) {\n if (args.length === 1)\n this._store.addData(args[0])\n else\n this._store.addData(...args as [any])\n\n return this\n }\n\n removeData(...args: any[]) {\n if (this._store.removeData)\n this._store.removeData()\n\n return this\n }\n\n setData(...args: any[]) {\n if (args.length === 1)\n this._store.setData(args[0])\n else\n this._store.setData(...args as [any])\n\n return this\n }\n\n setDataMax(...args: any[]) {\n if (args.length === 1)\n this._store.setDataMax(args[0])\n else\n this._store.setDataMax(...args as [any])\n\n return this\n }\n\n setDataMin(...args: any[]) {\n if (args.length === 1)\n this._store.setDataMin(args[0])\n else\n this._store.setDataMin(...args as [any])\n\n return this\n }\n\n configure(config: any) {\n this._config = { ...this._config, ...config }\n this._renderer.updateConfig(this._config)\n this._coordinator.emit('renderall', this._store.getInternalData())\n return this\n }\n\n repaint() {\n this._coordinator.emit('renderall', this._store.getInternalData())\n return this\n }\n\n getData() {\n return this._store.getData()\n }\n\n getDataURL() {\n return this._renderer.getDataURL()\n }\n\n getValueAt(point: { x: number; y: number }) {\n if (this._store.getValueAt)\n return this._store.getValueAt(point)\n else if (this._renderer.getValueAt)\n return this._renderer.getValueAt(point)\n else\n return null\n }\n}\n\nexport default {\n create(config: any) {\n return new Heatmap(config)\n },\n register(pluginKey: string, plugin: any) {\n HeatmapConfig.plugins[pluginKey] = plugin\n },\n}"],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { Group } from '@anov/3d-core';
|
|
2
|
+
import { AnimationMixer } from '@anov/3d-core';
|
|
3
|
+
declare enum EMarkAnimationType {
|
|
4
|
+
Bounce = "bounce",// 上下弹跳
|
|
5
|
+
Pulse = "pulse",// 缩放
|
|
6
|
+
Rotate = "rotate",// 旋转
|
|
7
|
+
Flash = "flash"
|
|
8
|
+
}
|
|
9
|
+
interface AnimationOption {
|
|
10
|
+
enable: boolean;
|
|
11
|
+
type: EMarkAnimationType | EMarkAnimationType[];
|
|
12
|
+
duration: number;
|
|
13
|
+
}
|
|
14
|
+
declare class KeyframeAnimation {
|
|
15
|
+
private _target;
|
|
16
|
+
private _duration;
|
|
17
|
+
private _type;
|
|
18
|
+
private _enable;
|
|
19
|
+
private _mixer;
|
|
20
|
+
private _animations;
|
|
21
|
+
private _animationClips;
|
|
22
|
+
constructor(target: Group, options: AnimationOption);
|
|
23
|
+
/**
|
|
24
|
+
* 获取动画混合器
|
|
25
|
+
*/
|
|
26
|
+
get mixer(): AnimationMixer;
|
|
27
|
+
get duration(): number;
|
|
28
|
+
set duration(value: number);
|
|
29
|
+
get type(): EMarkAnimationType | EMarkAnimationType[];
|
|
30
|
+
set type(value: EMarkAnimationType | EMarkAnimationType[]);
|
|
31
|
+
get enable(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* 重置所有动画
|
|
34
|
+
*/
|
|
35
|
+
reset(): void;
|
|
36
|
+
/**
|
|
37
|
+
* 设置动画
|
|
38
|
+
*/
|
|
39
|
+
private setupAnimations;
|
|
40
|
+
private getBoxSize;
|
|
41
|
+
/**
|
|
42
|
+
* 创建关键帧轨道
|
|
43
|
+
*/
|
|
44
|
+
private createKeyframeTracks;
|
|
45
|
+
/**
|
|
46
|
+
* 更新动画
|
|
47
|
+
*/
|
|
48
|
+
update(delta: number): void;
|
|
49
|
+
/**
|
|
50
|
+
* 播放动画
|
|
51
|
+
*/
|
|
52
|
+
play(type?: EMarkAnimationType): void;
|
|
53
|
+
/**
|
|
54
|
+
* 停止动画
|
|
55
|
+
*/
|
|
56
|
+
stop(type?: EMarkAnimationType): void;
|
|
57
|
+
/**
|
|
58
|
+
* 销毁资源
|
|
59
|
+
*/
|
|
60
|
+
destroy(): void;
|
|
61
|
+
}
|
|
62
|
+
export { KeyframeAnimation, EMarkAnimationType, AnimationOption };
|