vislite 1.3.0 → 1.4.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.
Files changed (191) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +12 -5
  3. package/LICENSE +20 -20
  4. package/README.md +284 -284
  5. package/lib/BarLayout/index.es.d.ts +3 -0
  6. package/lib/BarLayout/index.es.js +467 -0
  7. package/lib/BarLayout/index.es.min.d.ts +3 -0
  8. package/lib/BarLayout/index.es.min.js +10 -0
  9. package/lib/Buffer/index.es.js +1 -1
  10. package/lib/Buffer/index.es.min.js +1 -1
  11. package/lib/Canvas/index.es.js +2 -2
  12. package/lib/Canvas/index.es.min.js +1 -1
  13. package/lib/Cardinal/index.es.js +1 -1
  14. package/lib/Cardinal/index.es.min.js +1 -1
  15. package/lib/Eoap/index.es.js +1 -1
  16. package/lib/Eoap/index.es.min.js +1 -1
  17. package/lib/Hermite/index.es.js +1 -1
  18. package/lib/Hermite/index.es.min.js +1 -1
  19. package/lib/MapCoordinate/index.es.js +1 -1
  20. package/lib/MapCoordinate/index.es.min.js +1 -1
  21. package/lib/Matrix4/index.es.js +1 -1
  22. package/lib/Matrix4/index.es.min.js +1 -1
  23. package/lib/Mercator/index.es.js +1 -1
  24. package/lib/Mercator/index.es.min.js +1 -1
  25. package/lib/PieLayout/index.es.d.ts +3 -0
  26. package/lib/PieLayout/index.es.js +234 -0
  27. package/lib/PieLayout/index.es.min.d.ts +3 -0
  28. package/lib/PieLayout/index.es.min.js +9 -0
  29. package/lib/RawCanvas/index.es.js +2 -2
  30. package/lib/RawCanvas/index.es.min.js +1 -1
  31. package/lib/SVG/index.es.js +29 -6
  32. package/lib/SVG/index.es.min.js +2 -2
  33. package/lib/Shader/index.es.js +1 -1
  34. package/lib/Shader/index.es.min.js +1 -1
  35. package/lib/Texture/index.es.js +1 -1
  36. package/lib/Texture/index.es.min.js +1 -1
  37. package/lib/TreeLayout/index.es.js +109 -102
  38. package/lib/TreeLayout/index.es.min.js +6 -2
  39. package/lib/animation/index.es.js +114 -103
  40. package/lib/animation/index.es.min.js +6 -2
  41. package/lib/assemble/index.es.js +1 -1
  42. package/lib/assemble/index.es.min.js +1 -1
  43. package/lib/getLoopColors/index.es.js +1 -1
  44. package/lib/getLoopColors/index.es.min.js +1 -1
  45. package/lib/getWebGLContext/index.es.js +1 -1
  46. package/lib/getWebGLContext/index.es.min.js +1 -1
  47. package/lib/index.umd.js +510 -158
  48. package/lib/index.umd.min.js +12 -2
  49. package/lib/initOption/index.es.js +1 -1
  50. package/lib/initOption/index.es.min.js +1 -1
  51. package/lib/mergeOption/index.es.js +1 -1
  52. package/lib/mergeOption/index.es.min.js +1 -1
  53. package/lib/move/index.es.js +1 -1
  54. package/lib/move/index.es.min.js +1 -1
  55. package/lib/rotate/index.es.js +1 -1
  56. package/lib/rotate/index.es.min.js +1 -1
  57. package/lib/ruler/index.es.js +1 -1
  58. package/lib/ruler/index.es.min.js +1 -1
  59. package/lib/scale/index.es.js +1 -1
  60. package/lib/scale/index.es.min.js +1 -1
  61. package/lib/throttle/index.es.js +55 -50
  62. package/lib/throttle/index.es.min.js +5 -1
  63. package/minialipay/ui-canvas/drawImage.js +35 -35
  64. package/minialipay/ui-canvas/index.acss +4 -4
  65. package/minialipay/ui-canvas/index.axml +3 -3
  66. package/minialipay/ui-canvas/index.d.ts +1 -1
  67. package/minialipay/ui-canvas/index.js +100 -100
  68. package/minialipay/ui-canvas/index.json +6 -6
  69. package/miniprogram/ui-canvas/drawImage.js +35 -35
  70. package/miniprogram/ui-canvas/index.js +117 -117
  71. package/miniprogram/ui-canvas/index.json +4 -4
  72. package/miniprogram/ui-canvas/index.wxml +4 -4
  73. package/miniprogram/ui-canvas/index.wxss +5 -5
  74. package/package/BarLayout/index.ts +3 -0
  75. package/package/Buffer/index.ts +2 -2
  76. package/package/Canvas/index.ts +2 -2
  77. package/package/Cardinal/index.ts +2 -2
  78. package/package/Eoap/index.ts +2 -2
  79. package/package/Hermite/index.ts +2 -2
  80. package/package/MapCoordinate/index.ts +2 -2
  81. package/package/Matrix4/index.ts +2 -2
  82. package/package/Mercator/index.ts +2 -2
  83. package/package/PieLayout/index.ts +3 -0
  84. package/package/RawCanvas/index.ts +2 -2
  85. package/package/SVG/index.ts +2 -2
  86. package/package/Shader/index.ts +2 -2
  87. package/package/Texture/index.ts +2 -2
  88. package/package/TreeLayout/index.ts +2 -2
  89. package/package/animation/index.ts +5 -2
  90. package/package/assemble/index.ts +2 -2
  91. package/package/getLoopColors/index.ts +2 -2
  92. package/package/getWebGLContext/index.ts +40 -40
  93. package/package/index.ts +4 -0
  94. package/package/initOption/index.ts +2 -2
  95. package/package/mergeOption/index.ts +2 -2
  96. package/package/move/index.ts +2 -2
  97. package/package/rotate/index.ts +2 -2
  98. package/package/ruler/index.ts +2 -2
  99. package/package/scale/index.ts +2 -2
  100. package/package/throttle/index.ts +1 -1
  101. package/package.json +3 -3
  102. package/src/Canvas.ts +84 -84
  103. package/src/Eoap.ts +66 -66
  104. package/src/Matrix4/index.ts +84 -84
  105. package/src/Matrix4/move.ts +12 -12
  106. package/src/Matrix4/rotate.ts +15 -15
  107. package/src/Matrix4/scale.ts +11 -11
  108. package/src/Matrix4/transform.ts +64 -64
  109. package/src/Mercator.ts +27 -27
  110. package/src/SVG.ts +31 -0
  111. package/src/common/assemble.ts +22 -22
  112. package/src/common/canvas/arc.ts +51 -51
  113. package/src/common/canvas/config.ts +176 -176
  114. package/src/common/canvas/default.ts +64 -64
  115. package/src/common/canvas/gradient.ts +1 -1
  116. package/src/common/canvas/index.ts +188 -188
  117. package/src/common/canvas/painter.ts +443 -443
  118. package/src/common/canvas/texts.ts +18 -18
  119. package/src/common/map/getBoundary.ts +15 -15
  120. package/src/common/map/tool.ts +29 -29
  121. package/src/common/option.ts +29 -29
  122. package/src/common/setStyle.ts +5 -5
  123. package/src/common/svg/config.ts +213 -213
  124. package/src/common/svg/default.ts +2 -2
  125. package/src/common/svg/gradient.ts +2 -2
  126. package/src/common/svg/index.ts +1 -1
  127. package/src/common/svg/tool.ts +51 -51
  128. package/src/common/tree/index.ts +25 -25
  129. package/src/common/tree/toInnerTree.ts +61 -61
  130. package/src/common/tree/toPlainTree.ts +3 -0
  131. package/src/common/type.ts +26 -26
  132. package/src/common/webgl/buffer.ts +79 -79
  133. package/src/common/webgl/getWebGLContext.ts +45 -45
  134. package/src/common/webgl/shader.ts +75 -75
  135. package/src/common/webgl/texture.ts +1 -0
  136. package/src/coordinate/MapCoordinate.ts +80 -80
  137. package/src/getLoopColors.ts +42 -42
  138. package/src/interpolation/Cardinal.ts +110 -110
  139. package/src/interpolation/Hermite.ts +65 -65
  140. package/src/layout/BarLayout.ts +249 -0
  141. package/src/layout/PieLayout.ts +142 -0
  142. package/src/layout/TreeLayout.ts +4 -1
  143. package/src/move.ts +7 -7
  144. package/src/rotate.ts +7 -7
  145. package/src/ruler.ts +209 -209
  146. package/src/scale.ts +6 -6
  147. package/types/Bar.d.ts +92 -0
  148. package/types/BarConfig.d.ts +5 -0
  149. package/types/BarLayout.d.ts +49 -0
  150. package/types/BarOption.d.ts +32 -0
  151. package/types/Buffer.d.ts +23 -23
  152. package/types/Canvas.d.ts +352 -352
  153. package/types/CanvasConfig.d.ts +88 -88
  154. package/types/CanvasOption.d.ts +8 -8
  155. package/types/CanvasOpts.d.ts +9 -9
  156. package/types/Cardinal.d.ts +13 -13
  157. package/types/Gradient.d.ts +14 -14
  158. package/types/Hermite.d.ts +18 -18
  159. package/types/Map.d.ts +9 -9
  160. package/types/MapConfig.d.ts +27 -27
  161. package/types/MapCoordinate.d.ts +22 -22
  162. package/types/Matrix4.d.ts +47 -47
  163. package/types/Pie.d.ts +74 -0
  164. package/types/PieConfig.d.ts +27 -0
  165. package/types/PieLayout.d.ts +41 -0
  166. package/types/PieOption.d.ts +22 -0
  167. package/types/SVG.d.ts +4 -0
  168. package/types/SVGConfig.d.ts +71 -71
  169. package/types/Shader.d.ts +16 -16
  170. package/types/Texture.d.ts +16 -16
  171. package/types/Tree.d.ts +74 -74
  172. package/types/TreeConfig.d.ts +36 -36
  173. package/types/TreeLayout.d.ts +59 -59
  174. package/types/TreeOption.d.ts +48 -48
  175. package/types/animation.d.ts +7 -1
  176. package/types/assemble.d.ts +5 -5
  177. package/types/getLoopColors.d.ts +5 -5
  178. package/types/getWebGLContext.d.ts +7 -7
  179. package/types/index.d.ts +16 -0
  180. package/types/move.d.ts +5 -5
  181. package/types/option.d.ts +12 -12
  182. package/types/painterConfig.d.ts +4 -4
  183. package/types/rotate.d.ts +5 -5
  184. package/types/ruler.d.ts +10 -10
  185. package/types/scale.d.ts +5 -5
  186. package/types/throttle.d.ts +1 -1
  187. package/types/throttleOption.d.ts +1 -1
  188. package/types/ui-canvas.d.ts +4 -4
  189. package/types/uni-canvas.d.ts +3 -3
  190. package/uni-app/drawImage.js +19 -19
  191. package/uni-app/ui-canvas.vue +284 -284
@@ -1,89 +1,89 @@
1
- import { arcCapType, textAlignType, textBaselineType, lineCapType, lineJoinType } from './painterConfig'
2
-
3
- export default interface CanvasConfigType {
4
-
5
- /**
6
- * 填充色或图案,默认"#000"
7
- */
8
- fillStyle?: string | CanvasGradient
9
-
10
- /**
11
- * 轮廓色或图案,默认"#000"
12
- */
13
- strokeStyle?: string | CanvasGradient
14
-
15
- /**
16
- * 线条宽度,默认1(单位px)
17
- */
18
- lineWidth?: number
19
-
20
- /**
21
- * 线的端点类型,默认"butt"平直边缘(还有"round"半圆和"square"矩形)
22
- */
23
- lineCap?: lineCapType
24
-
25
- /**
26
- * 线的拐角连接方式,默认"miter"连接处边缘延长相接(还有"bevel"对角线斜角和"round"圆)
27
- */
28
- lineJoin?: lineJoinType
29
-
30
- /**
31
- * 设置线条虚线,默认为[]表示使用实线绘制
32
- *
33
- * 值应该是一个数组,格式:[实线长,虚线长,实线长 ...],数组长度任意,会自动循环
34
- */
35
- lineDash?: Array<number>
36
-
37
- /**
38
- * 文字水平对齐方式,默认"left"左对齐(还有"center"居中和"right"右对齐)
39
- */
40
- textAlign?: textAlignType
41
-
42
- /**
43
- * 文字垂直对齐方式,默认"middle"垂直居中(还有"top"上对齐和"bottom"下对齐)
44
- */
45
- textBaseline?: textBaselineType
46
-
47
- /**
48
- * 阴影的模糊系数,默认0,也就是无阴影
49
- */
50
- shadowBlur?: number
51
-
52
- /**
53
- * 阴影的颜色
54
- */
55
- shadowColor?: string | CanvasGradient
56
-
57
- /**
58
- * 文字大小,默认16
59
- */
60
- fontSize?: number
61
-
62
- /**
63
- * 字体,默认"sans-serif"
64
- */
65
- fontFamily?: string
66
-
67
- /**
68
- * 字重,默认400
69
- */
70
- fontWeight?: number
71
-
72
- /**
73
- * 字类型,默认"normal"
74
- */
75
- fontStyle?: string
76
-
77
- /**
78
- * 圆弧开始端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
79
- */
80
- arcStartCap?: arcCapType
81
-
82
- /**
83
- * 圆弧结束端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
84
- */
85
- arcEndCap?: arcCapType
86
-
87
- // 矩形圆角半径
88
- rectRadius?: Array<number>
1
+ import { arcCapType, textAlignType, textBaselineType, lineCapType, lineJoinType } from './painterConfig'
2
+
3
+ export default interface CanvasConfigType {
4
+
5
+ /**
6
+ * 填充色或图案,默认"#000"
7
+ */
8
+ fillStyle?: string | CanvasGradient
9
+
10
+ /**
11
+ * 轮廓色或图案,默认"#000"
12
+ */
13
+ strokeStyle?: string | CanvasGradient
14
+
15
+ /**
16
+ * 线条宽度,默认1(单位px)
17
+ */
18
+ lineWidth?: number
19
+
20
+ /**
21
+ * 线的端点类型,默认"butt"平直边缘(还有"round"半圆和"square"矩形)
22
+ */
23
+ lineCap?: lineCapType
24
+
25
+ /**
26
+ * 线的拐角连接方式,默认"miter"连接处边缘延长相接(还有"bevel"对角线斜角和"round"圆)
27
+ */
28
+ lineJoin?: lineJoinType
29
+
30
+ /**
31
+ * 设置线条虚线,默认为[]表示使用实线绘制
32
+ *
33
+ * 值应该是一个数组,格式:[实线长,虚线长,实线长 ...],数组长度任意,会自动循环
34
+ */
35
+ lineDash?: Array<number>
36
+
37
+ /**
38
+ * 文字水平对齐方式,默认"left"左对齐(还有"center"居中和"right"右对齐)
39
+ */
40
+ textAlign?: textAlignType
41
+
42
+ /**
43
+ * 文字垂直对齐方式,默认"middle"垂直居中(还有"top"上对齐和"bottom"下对齐)
44
+ */
45
+ textBaseline?: textBaselineType
46
+
47
+ /**
48
+ * 阴影的模糊系数,默认0,也就是无阴影
49
+ */
50
+ shadowBlur?: number
51
+
52
+ /**
53
+ * 阴影的颜色
54
+ */
55
+ shadowColor?: string | CanvasGradient
56
+
57
+ /**
58
+ * 文字大小,默认16
59
+ */
60
+ fontSize?: number
61
+
62
+ /**
63
+ * 字体,默认"sans-serif"
64
+ */
65
+ fontFamily?: string
66
+
67
+ /**
68
+ * 字重,默认400
69
+ */
70
+ fontWeight?: number
71
+
72
+ /**
73
+ * 字类型,默认"normal"
74
+ */
75
+ fontStyle?: string
76
+
77
+ /**
78
+ * 圆弧开始端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
79
+ */
80
+ arcStartCap?: arcCapType
81
+
82
+ /**
83
+ * 圆弧结束端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
84
+ */
85
+ arcEndCap?: arcCapType
86
+
87
+ // 矩形圆角半径
88
+ rectRadius?: Array<number>
89
89
  }
@@ -1,9 +1,9 @@
1
- import CanvasOptsType from "./CanvasOpts"
2
-
3
- export default interface CanvasOptionType extends CanvasOptsType {
4
-
5
- /**
6
- * 是否支持区域管理,默认true
7
- */
8
- region?: boolean
1
+ import CanvasOptsType from "./CanvasOpts"
2
+
3
+ export default interface CanvasOptionType extends CanvasOptsType {
4
+
5
+ /**
6
+ * 是否支持区域管理,默认true
7
+ */
8
+ region?: boolean
9
9
  }
@@ -1,10 +1,10 @@
1
- export default interface CanvasOptsType {
2
-
3
- // https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
4
- willReadFrequently?: boolean
5
-
6
- alpha?: boolean
7
-
8
- storage?: string
9
-
1
+ export default interface CanvasOptsType {
2
+
3
+ // https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
4
+ willReadFrequently?: boolean
5
+
6
+ alpha?: boolean
7
+
8
+ storage?: string
9
+
10
10
  }
@@ -1,14 +1,14 @@
1
- export default interface CardinalType {
2
-
3
- /**
4
- * 设置点的位置:
5
- * @param points 参数格式:[[x1, y1], [x2, y2], ... ],至少两个点
6
- */
7
- setP(points: number[][]): this
8
-
9
- /**
10
- * 根据x值返回y值:
11
- */
12
- use(x: number): number
13
-
1
+ export default interface CardinalType {
2
+
3
+ /**
4
+ * 设置点的位置:
5
+ * @param points 参数格式:[[x1, y1], [x2, y2], ... ],至少两个点
6
+ */
7
+ setP(points: number[][]): this
8
+
9
+ /**
10
+ * 根据x值返回y值:
11
+ */
12
+ use(x: number): number
13
+
14
14
  }
@@ -1,15 +1,15 @@
1
- export default interface GradientType<T> {
2
-
3
- /**
4
- * 设置程度颜色
5
- * @param stop 程度
6
- * @param color 颜色
7
- */
8
- setColor(stop: number, color: string): this
9
-
10
- /**
11
- * 返回渐变色值
12
- */
13
- value(): T
14
-
1
+ export default interface GradientType<T> {
2
+
3
+ /**
4
+ * 设置程度颜色
5
+ * @param stop 程度
6
+ * @param color 颜色
7
+ */
8
+ setColor(stop: number, color: string): this
9
+
10
+ /**
11
+ * 返回渐变色值
12
+ */
13
+ value(): T
14
+
15
15
  }
@@ -1,19 +1,19 @@
1
- export default interface HermiteType {
2
-
3
- /**
4
- * 设置点的位置和斜率:
5
- * @param x1 左边点的位置
6
- * @param y1
7
- * @param x2 右边点的位置
8
- * @param y2
9
- * @param s1 两个点的斜率
10
- * @param s2
11
- */
12
- setP(x1: number, y1: number, x2: number, y2: number, s1: number, s2: number): this
13
-
14
- /**
15
- * 根据x值返回y值:
16
- */
17
- use(x: number): number
18
-
1
+ export default interface HermiteType {
2
+
3
+ /**
4
+ * 设置点的位置和斜率:
5
+ * @param x1 左边点的位置
6
+ * @param y1
7
+ * @param x2 右边点的位置
8
+ * @param y2
9
+ * @param s1 两个点的斜率
10
+ * @param s2
11
+ */
12
+ setP(x1: number, y1: number, x2: number, y2: number, s1: number, s2: number): this
13
+
14
+ /**
15
+ * 根据x值返回y值:
16
+ */
17
+ use(x: number): number
18
+
19
19
  }
package/types/Map.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- export default interface MapType {
2
-
3
- /**
4
- * 返回该点的绘图坐标(特别需要注意,计算出来的位置是偏离中心点的距离)
5
- * @param λ 经纬度
6
- * @param φ
7
- */
8
- use(λ: number, φ: number): [number, number, number]
9
-
1
+ export default interface MapType {
2
+
3
+ /**
4
+ * 返回该点的绘图坐标(特别需要注意,计算出来的位置是偏离中心点的距离)
5
+ * @param λ 经纬度
6
+ * @param φ
7
+ */
8
+ use(λ: number, φ: number): [number, number, number]
9
+
10
10
  }
@@ -1,28 +1,28 @@
1
- export default interface MapConfigType {
2
-
3
- /**
4
- * 投影算法,默认Mercator,即墨卡托投影
5
- */
6
- api?: "Eoap" | "Mercator"
7
-
8
- /**
9
- * 地图宽
10
- */
11
- width?: number
12
-
13
- /**
14
- * 地图高
15
- */
16
- height?: number
17
-
18
- /**
19
- * 地图左上角横坐标
20
- */
21
- left?: number
22
-
23
- /**
24
- * 地图左上角枞坐标
25
- */
26
- top?: number
27
-
1
+ export default interface MapConfigType {
2
+
3
+ /**
4
+ * 投影算法,默认Mercator,即墨卡托投影
5
+ */
6
+ api?: "Eoap" | "Mercator"
7
+
8
+ /**
9
+ * 地图宽
10
+ */
11
+ width?: number
12
+
13
+ /**
14
+ * 地图高
15
+ */
16
+ height?: number
17
+
18
+ /**
19
+ * 地图左上角横坐标
20
+ */
21
+ left?: number
22
+
23
+ /**
24
+ * 地图左上角枞坐标
25
+ */
26
+ top?: number
27
+
28
28
  }
@@ -1,23 +1,23 @@
1
- import MapConfigType from './MapConfig'
2
-
3
- export default interface MapCoordinateType {
4
-
5
- /**
6
- * 修改配置
7
- * @param config
8
- */
9
- setConfig(config: MapConfigType): this
10
-
11
- /**
12
- * 地理数据
13
- * @param geos
14
- */
15
- setGeos(...geos: any[]): this
16
-
17
- /**
18
- * 返回该点的绘图坐标
19
- * @param λ 经纬度
20
- * @param φ
21
- */
22
- use(λ: number, φ: number): [number, number]
1
+ import MapConfigType from './MapConfig'
2
+
3
+ export default interface MapCoordinateType {
4
+
5
+ /**
6
+ * 修改配置
7
+ * @param config
8
+ */
9
+ setConfig(config: MapConfigType): this
10
+
11
+ /**
12
+ * 地理数据
13
+ * @param geos
14
+ */
15
+ setGeos(...geos: any[]): this
16
+
17
+ /**
18
+ * 返回该点的绘图坐标
19
+ * @param λ 经纬度
20
+ * @param φ
21
+ */
22
+ use(λ: number, φ: number): [number, number]
23
23
  }
@@ -1,48 +1,48 @@
1
- export default interface Matrix4Type {
2
-
3
- /**
4
- * 返回matrix4当前记录的内部矩阵
5
- */
6
- value(): number[]
7
-
8
- /**
9
- * 两个矩阵相乘
10
- * @param newMatrix4
11
- * @param flag 可选,表示相乘位置,默认false,表示左乘
12
- */
13
- multiply(newMatrix4: number[], flag?: boolean): this
14
-
15
- /**
16
- * 把变换矩阵作用在具体的点上
17
- */
18
- use(x: number, y: number, z?: number, w?: number): [number, number, number, number]
19
-
20
- /**
21
- * 设置内置矩阵
22
- */
23
- setValue(initMatrix4?: number[]): this
24
-
25
- /**
26
- * 沿着向量(a, b, c)方向移动距离dis
27
- * (其中c可以不传,默认0)
28
- */
29
- move(dis: number, a: number, b: number, c?: number): this
30
-
31
- /**
32
- * 以点(cx, cy, cz)为中心,分别在x、y和z方向上缩放xTimes、yTimes和zTimes倍
33
- * (其中cx、cy和cz都可以不传递,默认0)
34
- */
35
- scale(xTimes: number, yTimes: number, zTimes: number, cx?: number, cy?: number, cz?: number): this
36
-
37
- /**
38
- * 围绕射线(a1, b1, c1) -> (a2, b2, c2)旋转deg度
39
- * (方向由右手法则确定)
40
- *
41
- * a1、b1、c1、a2、b2和c2这六个值在设置的时候,不是一定需要全部设置,还有以下可选:
42
- *
43
- * 1)只设置了a1和b1,表示在xoy平面围绕(a1, b1)旋转
44
- * 2)设置三个点(设置不足六个点都认为只设置了三个点),表示围绕从原点出发的射线旋转
45
- */
46
- rotate(deg: number, a1: number, b1: number, c1?: number, a2?: number, b2?: number, c2?: number): this
47
-
1
+ export default interface Matrix4Type {
2
+
3
+ /**
4
+ * 返回matrix4当前记录的内部矩阵
5
+ */
6
+ value(): number[]
7
+
8
+ /**
9
+ * 两个矩阵相乘
10
+ * @param newMatrix4
11
+ * @param flag 可选,表示相乘位置,默认false,表示左乘
12
+ */
13
+ multiply(newMatrix4: number[], flag?: boolean): this
14
+
15
+ /**
16
+ * 把变换矩阵作用在具体的点上
17
+ */
18
+ use(x: number, y: number, z?: number, w?: number): [number, number, number, number]
19
+
20
+ /**
21
+ * 设置内置矩阵
22
+ */
23
+ setValue(initMatrix4?: number[]): this
24
+
25
+ /**
26
+ * 沿着向量(a, b, c)方向移动距离dis
27
+ * (其中c可以不传,默认0)
28
+ */
29
+ move(dis: number, a: number, b: number, c?: number): this
30
+
31
+ /**
32
+ * 以点(cx, cy, cz)为中心,分别在x、y和z方向上缩放xTimes、yTimes和zTimes倍
33
+ * (其中cx、cy和cz都可以不传递,默认0)
34
+ */
35
+ scale(xTimes: number, yTimes: number, zTimes: number, cx?: number, cy?: number, cz?: number): this
36
+
37
+ /**
38
+ * 围绕射线(a1, b1, c1) -> (a2, b2, c2)旋转deg度
39
+ * (方向由右手法则确定)
40
+ *
41
+ * a1、b1、c1、a2、b2和c2这六个值在设置的时候,不是一定需要全部设置,还有以下可选:
42
+ *
43
+ * 1)只设置了a1和b1,表示在xoy平面围绕(a1, b1)旋转
44
+ * 2)设置三个点(设置不足六个点都认为只设置了三个点),表示围绕从原点出发的射线旋转
45
+ */
46
+ rotate(deg: number, a1: number, b1: number, c1?: number, a2?: number, b2?: number, c2?: number): this
47
+
48
48
  }
package/types/Pie.d.ts ADDED
@@ -0,0 +1,74 @@
1
+ export interface PieResultItemType {
2
+
3
+ /**
4
+ * 值
5
+ */
6
+ value: number
7
+
8
+ /**
9
+ * 名称
10
+ */
11
+ name: string
12
+
13
+ /**
14
+ * 开始弧度
15
+ */
16
+ beginDeg: number
17
+
18
+ /**
19
+ * 结束弧度
20
+ */
21
+ deg: number
22
+
23
+ /**
24
+ * 半径
25
+ */
26
+ radius: Array<number>
27
+
28
+ /**
29
+ * 提示
30
+ */
31
+ label: {
32
+ line: Array<Array<number>>
33
+ position: Array<number>
34
+ align: "left" | "right"
35
+ }
36
+
37
+ /**
38
+ * 是否悬浮
39
+ */
40
+ isHover: boolean
41
+ }
42
+
43
+ export interface PieResultType {
44
+
45
+ /**
46
+ * 个数
47
+ */
48
+ count: number
49
+
50
+ /**
51
+ * 圆心横坐标
52
+ */
53
+ cx: number
54
+
55
+ /**
56
+ * 圆心纵坐标
57
+ */
58
+ cy: number
59
+
60
+ /**
61
+ * 半径
62
+ */
63
+ radius: Array<number>
64
+
65
+ /**
66
+ * 一个个条目
67
+ */
68
+ node: Array<PieResultItemType>
69
+
70
+ /**
71
+ * 当前悬浮位置
72
+ */
73
+ hoverIndex: number
74
+ }
@@ -0,0 +1,27 @@
1
+ export interface nameType {
2
+ (pieData: any, initPie: Array<any>): string
3
+ }
4
+
5
+ export interface valueType {
6
+ (pieData: any, initPie: Array<any>): number
7
+ }
8
+
9
+ export default interface PieConfigType {
10
+
11
+ /**
12
+ * 获取条目名称的方法
13
+ * @param pieData 当前条目
14
+ * @param initPie 原始数据
15
+ * @returns 返回条目名称
16
+ */
17
+ name?: nameType
18
+
19
+ /**
20
+ * 获取条目值的方法
21
+ * @param pieData 当前条目
22
+ * @param initPie 原始数据
23
+ * @returns 返回条目值
24
+ */
25
+ value?: valueType
26
+
27
+ }
@@ -0,0 +1,41 @@
1
+ import { PieResultType } from "./Pie"
2
+ import PieOptionType from './PieOption'
3
+
4
+ export default interface PieLayoutType {
5
+
6
+ /**
7
+ * 设置布局的行为
8
+ * @param option
9
+ */
10
+ setOption(option: PieOptionType): this
11
+
12
+ /**
13
+ * 单纯的饼图计算
14
+ * @param initPie 原始数据
15
+ * @param hoverIndex 悬浮序号,可选
16
+ */
17
+ use(initPie: any,hoverIndex?:number): PieResultType
18
+
19
+ /**
20
+ * 绑定新的数据和渲染方法
21
+ * @param initPie 原始数据
22
+ * @param renderBack 渲染方法
23
+ */
24
+ bind(initPie: Array<any>, renderBack: (pie: PieResultType) => void): this
25
+
26
+ /**
27
+ * 解除绑定
28
+ */
29
+ unbind(): this
30
+
31
+ /**
32
+ * 设置当前悬浮序号
33
+ * @param index 序号,-1表示取消悬浮
34
+ */
35
+ setHover(index: number): this
36
+
37
+ /**
38
+ * 主动触发绘制更新
39
+ */
40
+ doUpdate(): this
41
+ }