vislite 1.12.0-alpha.0 → 1.12.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 (183) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +402 -394
  3. package/LICENSE +20 -20
  4. package/README-en.md +245 -245
  5. package/README.md +245 -245
  6. package/bin/formatArgv.js +30 -30
  7. package/bin/help.js +17 -17
  8. package/bin/run +21 -21
  9. package/bin/skills.js +26 -26
  10. package/lib/BarLayout/index.es.js +348 -348
  11. package/lib/Buffer/index.es.js +34 -34
  12. package/lib/Canvas/index.es.js +804 -800
  13. package/lib/Canvas/index.es.min.js +1 -1
  14. package/lib/Cardinal/index.es.js +89 -89
  15. package/lib/Eoap/index.es.js +32 -32
  16. package/lib/Hermite/index.es.js +34 -34
  17. package/lib/MapCoordinate/index.es.js +199 -199
  18. package/lib/Matrix4/index.es.js +123 -123
  19. package/lib/Mercator/index.es.js +18 -18
  20. package/lib/PieLayout/index.es.js +115 -115
  21. package/lib/RawCanvas/index.es.js +736 -732
  22. package/lib/RawCanvas/index.es.min.js +1 -1
  23. package/lib/SVG/index.es.js +626 -631
  24. package/lib/SVG/index.es.min.js +1 -1
  25. package/lib/Shader/index.es.js +34 -34
  26. package/lib/Texture/index.es.js +52 -52
  27. package/lib/TreeLayout/index.es.js +301 -315
  28. package/lib/animation/index.es.js +2 -2
  29. package/lib/assemble/index.es.js +19 -16
  30. package/lib/assemble/index.es.min.js +1 -1
  31. package/lib/getLoopColors/index.es.js +34 -34
  32. package/lib/getWebGLContext/index.es.js +61 -61
  33. package/lib/index.umd.js +2797 -2784
  34. package/lib/index.umd.min.js +2 -2
  35. package/lib/initOption/index.es.js +5 -5
  36. package/lib/mergeOption/index.es.js +34 -34
  37. package/lib/move/index.es.js +6 -6
  38. package/lib/rotate/index.es.js +6 -6
  39. package/lib/ruler/index.es.js +136 -136
  40. package/lib/scale/index.es.js +5 -5
  41. package/minialipay/ui-canvas/drawImage.js +35 -35
  42. package/minialipay/ui-canvas/index.acss +4 -4
  43. package/minialipay/ui-canvas/index.axml +3 -3
  44. package/minialipay/ui-canvas/index.d.ts +1 -1
  45. package/minialipay/ui-canvas/index.js +100 -100
  46. package/minialipay/ui-canvas/index.json +6 -6
  47. package/miniprogram/ui-canvas/drawImage.js +35 -35
  48. package/miniprogram/ui-canvas/index.js +125 -125
  49. package/miniprogram/ui-canvas/index.json +4 -4
  50. package/miniprogram/ui-canvas/index.wxml +4 -4
  51. package/miniprogram/ui-canvas/index.wxss +5 -5
  52. package/package/BarLayout/index.ts +2 -2
  53. package/package/Buffer/index.ts +2 -2
  54. package/package/Canvas/index.ts +2 -2
  55. package/package/Cardinal/index.ts +2 -2
  56. package/package/Eoap/index.ts +2 -2
  57. package/package/Hermite/index.ts +2 -2
  58. package/package/MapCoordinate/index.ts +2 -2
  59. package/package/Matrix4/index.ts +2 -2
  60. package/package/Mercator/index.ts +2 -2
  61. package/package/PieLayout/index.ts +2 -2
  62. package/package/RawCanvas/index.ts +2 -2
  63. package/package/SVG/index.ts +2 -2
  64. package/package/Shader/index.ts +2 -2
  65. package/package/Texture/index.ts +2 -2
  66. package/package/TreeLayout/index.ts +2 -2
  67. package/package/animation/index.ts +5 -5
  68. package/package/assemble/index.ts +2 -2
  69. package/package/getLoopColors/index.ts +2 -2
  70. package/package/getWebGLContext/index.ts +40 -40
  71. package/package/index.ts +84 -84
  72. package/package/initOption/index.ts +2 -2
  73. package/package/mergeOption/index.ts +2 -2
  74. package/package/move/index.ts +2 -2
  75. package/package/rotate/index.ts +2 -2
  76. package/package/ruler/index.ts +2 -2
  77. package/package/scale/index.ts +2 -2
  78. package/package/throttle/index.ts +2 -2
  79. package/package.json +79 -79
  80. package/skills/vislite-lib/BarLayout.md +117 -117
  81. package/skills/vislite-lib/Canvas.md +183 -183
  82. package/skills/vislite-lib/Interpolation.md +129 -129
  83. package/skills/vislite-lib/Matrix.md +174 -174
  84. package/skills/vislite-lib/PieLayout.md +131 -131
  85. package/skills/vislite-lib/Projections.md +158 -158
  86. package/skills/vislite-lib/SKILL.md +179 -179
  87. package/skills/vislite-lib/SVG.md +137 -137
  88. package/skills/vislite-lib/TreeLayout.md +176 -176
  89. package/skills/vislite-lib/Utilities.md +261 -261
  90. package/skills/vislite-lib/WebGL.md +106 -106
  91. package/skills/vislite-lib/minialipay/ui-canvas.md +95 -95
  92. package/skills/vislite-lib/miniprogram/ui-canvas.md +98 -98
  93. package/skills/vislite-lib/uniapp/ui-canvas.md +113 -113
  94. package/src/Canvas.ts +89 -89
  95. package/src/Eoap.ts +66 -66
  96. package/src/Matrix4/index.ts +84 -84
  97. package/src/Matrix4/move.ts +12 -12
  98. package/src/Matrix4/rotate.ts +15 -15
  99. package/src/Matrix4/scale.ts +11 -11
  100. package/src/Matrix4/transform.ts +64 -64
  101. package/src/Mercator.ts +27 -27
  102. package/src/SVG.ts +86 -69
  103. package/src/common/assemble.ts +30 -22
  104. package/src/common/canvas/arc.ts +51 -51
  105. package/src/common/canvas/config.ts +176 -176
  106. package/src/common/canvas/default.ts +64 -64
  107. package/src/common/canvas/gradient.ts +31 -31
  108. package/src/common/canvas/index.ts +189 -189
  109. package/src/common/canvas/painter.ts +475 -454
  110. package/src/common/canvas/texts.ts +18 -18
  111. package/src/common/map/getBoundary.ts +15 -15
  112. package/src/common/map/tool.ts +29 -29
  113. package/src/common/option.ts +31 -31
  114. package/src/common/setStyle.ts +5 -5
  115. package/src/common/svg/config.ts +213 -213
  116. package/src/common/svg/default.ts +29 -29
  117. package/src/common/svg/gradient.ts +53 -53
  118. package/src/common/svg/index.ts +420 -420
  119. package/src/common/svg/tool.ts +51 -51
  120. package/src/common/tree/index.ts +25 -25
  121. package/src/common/tree/toInnerTree.ts +61 -61
  122. package/src/common/tree/toPlainTree.ts +135 -135
  123. package/src/common/type.ts +26 -26
  124. package/src/common/webgl/buffer.ts +79 -79
  125. package/src/common/webgl/getWebGLContext.ts +45 -45
  126. package/src/common/webgl/shader.ts +75 -75
  127. package/src/common/webgl/texture.ts +98 -98
  128. package/src/coordinate/MapCoordinate.ts +80 -80
  129. package/src/getLoopColors.ts +42 -42
  130. package/src/interpolation/Cardinal.ts +110 -110
  131. package/src/interpolation/Hermite.ts +65 -65
  132. package/src/layout/BarLayout.ts +249 -249
  133. package/src/layout/PieLayout.ts +146 -146
  134. package/src/layout/TreeLayout.ts +200 -200
  135. package/src/move.ts +7 -7
  136. package/src/rotate.ts +7 -7
  137. package/src/ruler.ts +209 -209
  138. package/src/scale.ts +6 -6
  139. package/types/Bar.d.ts +91 -91
  140. package/types/BarConfig.d.ts +4 -4
  141. package/types/BarLayout.d.ts +48 -48
  142. package/types/BarOption.d.ts +31 -31
  143. package/types/Buffer.d.ts +30 -30
  144. package/types/Canvas.d.ts +379 -379
  145. package/types/CanvasConfig.d.ts +61 -61
  146. package/types/CanvasOption.d.ts +13 -13
  147. package/types/CanvasOpts.d.ts +9 -9
  148. package/types/Cardinal.d.ts +20 -20
  149. package/types/Gradient.d.ts +20 -20
  150. package/types/Hermite.d.ts +25 -25
  151. package/types/Map.d.ts +9 -9
  152. package/types/MapConfig.d.ts +27 -27
  153. package/types/MapCoordinate.d.ts +22 -22
  154. package/types/Matrix4.d.ts +79 -79
  155. package/types/Pie.d.ts +73 -73
  156. package/types/PieConfig.d.ts +26 -26
  157. package/types/PieLayout.d.ts +40 -40
  158. package/types/PieOption.d.ts +21 -21
  159. package/types/SVG.d.ts +282 -282
  160. package/types/SVGConfig.d.ts +54 -54
  161. package/types/Shader.d.ts +22 -22
  162. package/types/Texture.d.ts +22 -22
  163. package/types/Tree.d.ts +74 -74
  164. package/types/TreeConfig.d.ts +52 -52
  165. package/types/TreeLayout.d.ts +71 -71
  166. package/types/TreeOption.d.ts +48 -48
  167. package/types/animation.d.ts +26 -26
  168. package/types/assemble.d.ts +14 -14
  169. package/types/getLoopColors.d.ts +13 -13
  170. package/types/getWebGLContext.d.ts +7 -7
  171. package/types/index.d.ts +220 -221
  172. package/types/module.d.ts +110 -110
  173. package/types/move.d.ts +15 -15
  174. package/types/option.d.ts +12 -12
  175. package/types/painterConfig.d.ts +14 -14
  176. package/types/rotate.d.ts +15 -15
  177. package/types/ruler.d.ts +24 -24
  178. package/types/scale.d.ts +15 -15
  179. package/types/throttle.d.ts +6 -6
  180. package/types/ui-canvas.d.ts +4 -4
  181. package/types/uni-canvas.d.ts +3 -3
  182. package/uni-app/drawImage.js +19 -19
  183. package/uni-app/ui-canvas.vue +295 -295
@@ -1,214 +1,214 @@
1
- var toString = Object.prototype.toString;
2
- function getType(value) {
3
- if (value == null) {
4
- return value === undefined ? '[object Undefined]' : '[object Null]';
5
- }
6
- return toString.call(value);
7
- }
8
- function isPlainObject(value) {
9
- if (value === null || typeof value !== 'object' || getType(value) != '[object Object]') {
10
- return false;
11
- }
12
- if (Object.getPrototypeOf(value) === null) {
13
- return true;
14
- }
15
- var proto = value;
16
- while (Object.getPrototypeOf(proto) !== null) {
17
- proto = Object.getPrototypeOf(proto);
18
- }
19
- return Object.getPrototypeOf(value) === proto;
1
+ var toString = Object.prototype.toString;
2
+ function getType(value) {
3
+ if (value == null) {
4
+ return value === undefined ? '[object Undefined]' : '[object Null]';
5
+ }
6
+ return toString.call(value);
7
+ }
8
+ function isPlainObject(value) {
9
+ if (value === null || typeof value !== 'object' || getType(value) != '[object Object]') {
10
+ return false;
11
+ }
12
+ if (Object.getPrototypeOf(value) === null) {
13
+ return true;
14
+ }
15
+ var proto = value;
16
+ while (Object.getPrototypeOf(proto) !== null) {
17
+ proto = Object.getPrototypeOf(proto);
18
+ }
19
+ return Object.getPrototypeOf(value) === proto;
20
20
  }
21
21
 
22
- function initOption(setOption, defaultOption) {
23
- for (var key in setOption) {
24
- defaultOption[key] = setOption[key];
25
- }
26
- return defaultOption;
27
- }
28
- function mergeOption(oldOption, newOption) {
29
- (function doit(oldOption, newOption) {
30
- for (var key in newOption) {
31
- var value = newOption[key];
32
- if (isPlainObject(value)) {
33
- if (!oldOption[key])
34
- oldOption[key] = {};
35
- doit(oldOption[key], newOption[key]);
36
- }
37
- else {
38
- oldOption[key] = value;
39
- }
40
- }
41
- })(oldOption, newOption);
42
- return oldOption;
22
+ function initOption(setOption, defaultOption) {
23
+ for (var key in setOption) {
24
+ defaultOption[key] = setOption[key];
25
+ }
26
+ return defaultOption;
27
+ }
28
+ function mergeOption(oldOption, newOption) {
29
+ (function doit(oldOption, newOption) {
30
+ for (var key in newOption) {
31
+ var value = newOption[key];
32
+ if (isPlainObject(value)) {
33
+ if (!oldOption[key])
34
+ oldOption[key] = {};
35
+ doit(oldOption[key], newOption[key]);
36
+ }
37
+ else {
38
+ oldOption[key] = value;
39
+ }
40
+ }
41
+ })(oldOption, newOption);
42
+ return oldOption;
43
43
  }
44
44
 
45
- function mllData(geoJson) {
46
- var minLongitude = null, maxLongitude = null, minLatitude = null, maxLatitude = null;
47
- var forPolygon = function (coordinates) {
48
- for (var j = 0; j < coordinates.length; j++) {
49
- for (var k = 0; k < coordinates[j].length; k++) {
50
- var longitude = coordinates[j][k][0], latitude = coordinates[j][k][1];
51
- if (minLongitude == void 0 || minLongitude > longitude)
52
- minLongitude = longitude;
53
- if (maxLongitude == void 0 || maxLongitude < longitude)
54
- maxLongitude = longitude;
55
- if (minLatitude == void 0 || minLatitude > latitude)
56
- minLatitude = latitude;
57
- if (maxLatitude == void 0 || maxLatitude < latitude)
58
- maxLatitude = latitude;
59
- }
60
- }
61
- };
62
- var features = geoJson.features;
63
- for (var i = 0; i < features.length; i++) {
64
- if (features[i].geometry.type == "Polygon") {
65
- forPolygon(features[i].geometry.coordinates);
66
- }
67
- else if (features[i].geometry.type == "MultiPolygon") {
68
- for (var j = 0; j < features[i].geometry.coordinates.length; j++) {
69
- forPolygon(features[i].geometry.coordinates[j]);
70
- }
71
- }
72
- }
73
- return [minLongitude, maxLongitude, minLatitude, maxLatitude];
45
+ function mllData(geoJson) {
46
+ var minLongitude = null, maxLongitude = null, minLatitude = null, maxLatitude = null;
47
+ var forPolygon = function (coordinates) {
48
+ for (var j = 0; j < coordinates.length; j++) {
49
+ for (var k = 0; k < coordinates[j].length; k++) {
50
+ var longitude = coordinates[j][k][0], latitude = coordinates[j][k][1];
51
+ if (minLongitude == void 0 || minLongitude > longitude)
52
+ minLongitude = longitude;
53
+ if (maxLongitude == void 0 || maxLongitude < longitude)
54
+ maxLongitude = longitude;
55
+ if (minLatitude == void 0 || minLatitude > latitude)
56
+ minLatitude = latitude;
57
+ if (maxLatitude == void 0 || maxLatitude < latitude)
58
+ maxLatitude = latitude;
59
+ }
60
+ }
61
+ };
62
+ var features = geoJson.features;
63
+ for (var i = 0; i < features.length; i++) {
64
+ if (features[i].geometry.type == "Polygon") {
65
+ forPolygon(features[i].geometry.coordinates);
66
+ }
67
+ else if (features[i].geometry.type == "MultiPolygon") {
68
+ for (var j = 0; j < features[i].geometry.coordinates.length; j++) {
69
+ forPolygon(features[i].geometry.coordinates[j]);
70
+ }
71
+ }
72
+ }
73
+ return [minLongitude, maxLongitude, minLatitude, maxLatitude];
74
74
  }
75
75
 
76
- function getBoundary () {
77
- var geos = [];
78
- for (var _i = 0; _i < arguments.length; _i++) {
79
- geos[_i] = arguments[_i];
80
- }
81
- var minLongitude = null, maxLongitude = null, minLatitude = null, maxLatitude = null;
82
- for (var _a = 0, geos_1 = geos; _a < geos_1.length; _a++) {
83
- var geoJson = geos_1[_a];
84
- var _b = mllData(geoJson), _minLongitude = _b[0], _maxLongitude = _b[1], _minLatitude = _b[2], _maxLatitude = _b[3];
85
- if (minLongitude == void 0 || _minLongitude < minLongitude)
86
- minLongitude = _minLongitude;
87
- if (maxLongitude == void 0 || _maxLongitude > maxLongitude)
88
- maxLongitude = _maxLongitude;
89
- if (minLatitude == void 0 || _minLatitude < minLatitude)
90
- minLatitude = _minLatitude;
91
- if (maxLatitude == void 0 || _maxLatitude > maxLatitude)
92
- maxLatitude = _maxLatitude;
93
- }
94
- return [minLongitude, maxLongitude, minLatitude, maxLatitude];
76
+ function getBoundary () {
77
+ var geos = [];
78
+ for (var _i = 0; _i < arguments.length; _i++) {
79
+ geos[_i] = arguments[_i];
80
+ }
81
+ var minLongitude = null, maxLongitude = null, minLatitude = null, maxLatitude = null;
82
+ for (var _a = 0, geos_1 = geos; _a < geos_1.length; _a++) {
83
+ var geoJson = geos_1[_a];
84
+ var _b = mllData(geoJson), _minLongitude = _b[0], _maxLongitude = _b[1], _minLatitude = _b[2], _maxLatitude = _b[3];
85
+ if (minLongitude == void 0 || _minLongitude < minLongitude)
86
+ minLongitude = _minLongitude;
87
+ if (maxLongitude == void 0 || _maxLongitude > maxLongitude)
88
+ maxLongitude = _maxLongitude;
89
+ if (minLatitude == void 0 || _minLatitude < minLatitude)
90
+ minLatitude = _minLatitude;
91
+ if (maxLatitude == void 0 || _maxLatitude > maxLatitude)
92
+ maxLatitude = _maxLatitude;
93
+ }
94
+ return [minLongitude, maxLongitude, minLatitude, maxLatitude];
95
95
  }
96
96
 
97
- var Mercator = (function () {
98
- function Mercator(scale, center) {
99
- if (scale === void 0) { scale = 7; }
100
- if (center === void 0) { center = [107, 36]; }
101
- this.name = 'Mercator';
102
- var perimeter = 100 * scale * Math.PI;
103
- var help = perimeter / 180;
104
- var cx = help * center[0];
105
- var cy = -1 * help * center[1];
106
- this.use = function (λ, φ) {
107
- return [
108
- (help * λ - cx) * 0.8,
109
- -1 * help * φ - cy,
110
- 0
111
- ];
112
- };
113
- }
114
- return Mercator;
97
+ var Mercator = (function () {
98
+ function Mercator(scale, center) {
99
+ if (scale === void 0) { scale = 7; }
100
+ if (center === void 0) { center = [107, 36]; }
101
+ this.name = 'Mercator';
102
+ var perimeter = 100 * scale * Math.PI;
103
+ var help = perimeter / 180;
104
+ var cx = help * center[0];
105
+ var cy = -1 * help * center[1];
106
+ this.use = function (λ, φ) {
107
+ return [
108
+ (help * λ - cx) * 0.8,
109
+ -1 * help * φ - cy,
110
+ 0
111
+ ];
112
+ };
113
+ }
114
+ return Mercator;
115
115
  }());
116
116
 
117
- var rotateX = function (deg, x, y, z) {
118
- var cos = Math.cos(deg), sin = Math.sin(deg);
119
- return [x, y * cos - z * sin, y * sin + z * cos];
120
- };
121
- var rotateY = function (deg, x, y, z) {
122
- var cos = Math.cos(deg), sin = Math.sin(deg);
123
- return [z * sin + x * cos, y, z * cos - x * sin];
124
- };
125
- var rotateZ = function (deg, x, y, z) {
126
- var cos = Math.cos(deg), sin = Math.sin(deg);
127
- return [x * cos - y * sin, x * sin + y * cos, z];
128
- };
129
- var Eoap = (function () {
130
- function Eoap(scale, center) {
131
- if (scale === void 0) { scale = 7; }
132
- if (center === void 0) { center = [107, 36]; }
133
- this.name = 'Eoap';
134
- this.__scale = scale;
135
- this.__center = center;
136
- }
137
- Eoap.prototype.use = function (λ, φ) {
138
- var p = rotateY((360 - φ) / 180 * Math.PI, 100 * this.__scale, 0, 0);
139
- p = rotateZ(λ / 180 * Math.PI, p[0], p[1], p[2]);
140
- p = rotateZ((90 - this.__center[0]) / 180 * Math.PI, p[0], p[1], p[2]);
141
- p = rotateX((90 - this.__center[1]) / 180 * Math.PI, p[0], p[1], p[2]);
142
- return [
143
- -p[0],
144
- p[1],
145
- p[2]
146
- ];
147
- };
148
- return Eoap;
117
+ var rotateX = function (deg, x, y, z) {
118
+ var cos = Math.cos(deg), sin = Math.sin(deg);
119
+ return [x, y * cos - z * sin, y * sin + z * cos];
120
+ };
121
+ var rotateY = function (deg, x, y, z) {
122
+ var cos = Math.cos(deg), sin = Math.sin(deg);
123
+ return [z * sin + x * cos, y, z * cos - x * sin];
124
+ };
125
+ var rotateZ = function (deg, x, y, z) {
126
+ var cos = Math.cos(deg), sin = Math.sin(deg);
127
+ return [x * cos - y * sin, x * sin + y * cos, z];
128
+ };
129
+ var Eoap = (function () {
130
+ function Eoap(scale, center) {
131
+ if (scale === void 0) { scale = 7; }
132
+ if (center === void 0) { center = [107, 36]; }
133
+ this.name = 'Eoap';
134
+ this.__scale = scale;
135
+ this.__center = center;
136
+ }
137
+ Eoap.prototype.use = function (λ, φ) {
138
+ var p = rotateY((360 - φ) / 180 * Math.PI, 100 * this.__scale, 0, 0);
139
+ p = rotateZ(λ / 180 * Math.PI, p[0], p[1], p[2]);
140
+ p = rotateZ((90 - this.__center[0]) / 180 * Math.PI, p[0], p[1], p[2]);
141
+ p = rotateX((90 - this.__center[1]) / 180 * Math.PI, p[0], p[1], p[2]);
142
+ return [
143
+ -p[0],
144
+ p[1],
145
+ p[2]
146
+ ];
147
+ };
148
+ return Eoap;
149
149
  }());
150
150
 
151
- var MapCoordinate = (function () {
152
- function MapCoordinate(config) {
153
- if (config === void 0) { config = {}; }
154
- this.name = 'MapCoordinate';
155
- this.__config = initOption(config, {
156
- api: "Mercator",
157
- width: 400,
158
- height: 300,
159
- left: 0,
160
- top: 0
161
- });
162
- }
163
- MapCoordinate.prototype.$$updateMap = function () {
164
- var _a = this.__boundary, minLongitude = _a[0], maxLongitude = _a[1], minLatitude = _a[2], maxLatitude = _a[3];
165
- if (this.__config.api == "Eoap") {
166
- var xScale = this.__config.width * 0.836 / (maxLongitude - minLongitude);
167
- var yScale = this.__config.height * 0.557 / (maxLatitude - minLatitude);
168
- this.__map = new Eoap(xScale < yScale ? xScale : yScale, [
169
- (minLongitude + maxLongitude) * 0.5 * 0.9778,
170
- (minLatitude + maxLatitude) * 0.5 * 1.025
171
- ]);
172
- }
173
- else if (this.__config.api == "Mercator") {
174
- var xScale = this.__config.width * 0.72 / (maxLongitude - minLongitude);
175
- var yScale = this.__config.height * 0.575 / (maxLatitude - minLatitude);
176
- this.__map = new Mercator(xScale < yScale ? xScale : yScale, [
177
- (minLongitude + maxLongitude) * 0.5,
178
- (minLatitude + maxLatitude) * 0.5
179
- ]);
180
- }
181
- else {
182
- throw new Error("Unexpected API types:" + this.__config.api);
183
- }
184
- };
185
- MapCoordinate.prototype.setConfig = function (config) {
186
- mergeOption(this.__config, config);
187
- this.$$updateMap();
188
- return this;
189
- };
190
- MapCoordinate.prototype.setGeos = function () {
191
- var geos = [];
192
- for (var _i = 0; _i < arguments.length; _i++) {
193
- geos[_i] = arguments[_i];
194
- }
195
- this.__boundary = getBoundary.apply(void 0, geos);
196
- this.$$updateMap();
197
- return this;
198
- };
199
- MapCoordinate.prototype.use = function (λ, φ) {
200
- if (this.__map) {
201
- var dxyz = this.__map.use(λ, φ);
202
- return [
203
- this.__config.left + this.__config.width * 0.5 + dxyz[0],
204
- this.__config.top + this.__config.height * 0.5 + dxyz[1],
205
- ];
206
- }
207
- else {
208
- throw new Error("Geographic data not set");
209
- }
210
- };
211
- return MapCoordinate;
151
+ var MapCoordinate = (function () {
152
+ function MapCoordinate(config) {
153
+ if (config === void 0) { config = {}; }
154
+ this.name = 'MapCoordinate';
155
+ this.__config = initOption(config, {
156
+ api: "Mercator",
157
+ width: 400,
158
+ height: 300,
159
+ left: 0,
160
+ top: 0
161
+ });
162
+ }
163
+ MapCoordinate.prototype.$$updateMap = function () {
164
+ var _a = this.__boundary, minLongitude = _a[0], maxLongitude = _a[1], minLatitude = _a[2], maxLatitude = _a[3];
165
+ if (this.__config.api == "Eoap") {
166
+ var xScale = this.__config.width * 0.836 / (maxLongitude - minLongitude);
167
+ var yScale = this.__config.height * 0.557 / (maxLatitude - minLatitude);
168
+ this.__map = new Eoap(xScale < yScale ? xScale : yScale, [
169
+ (minLongitude + maxLongitude) * 0.5 * 0.9778,
170
+ (minLatitude + maxLatitude) * 0.5 * 1.025
171
+ ]);
172
+ }
173
+ else if (this.__config.api == "Mercator") {
174
+ var xScale = this.__config.width * 0.72 / (maxLongitude - minLongitude);
175
+ var yScale = this.__config.height * 0.575 / (maxLatitude - minLatitude);
176
+ this.__map = new Mercator(xScale < yScale ? xScale : yScale, [
177
+ (minLongitude + maxLongitude) * 0.5,
178
+ (minLatitude + maxLatitude) * 0.5
179
+ ]);
180
+ }
181
+ else {
182
+ throw new Error("Unexpected API types:" + this.__config.api);
183
+ }
184
+ };
185
+ MapCoordinate.prototype.setConfig = function (config) {
186
+ mergeOption(this.__config, config);
187
+ this.$$updateMap();
188
+ return this;
189
+ };
190
+ MapCoordinate.prototype.setGeos = function () {
191
+ var geos = [];
192
+ for (var _i = 0; _i < arguments.length; _i++) {
193
+ geos[_i] = arguments[_i];
194
+ }
195
+ this.__boundary = getBoundary.apply(void 0, geos);
196
+ this.$$updateMap();
197
+ return this;
198
+ };
199
+ MapCoordinate.prototype.use = function (λ, φ) {
200
+ if (this.__map) {
201
+ var dxyz = this.__map.use(λ, φ);
202
+ return [
203
+ this.__config.left + this.__config.width * 0.5 + dxyz[0],
204
+ this.__config.top + this.__config.height * 0.5 + dxyz[1],
205
+ ];
206
+ }
207
+ else {
208
+ throw new Error("Geographic data not set");
209
+ }
210
+ };
211
+ return MapCoordinate;
212
212
  }());
213
213
 
214
214
  export { MapCoordinate as default };
@@ -1,134 +1,134 @@
1
- function _move (d, a, b, c) {
2
- if (c === void 0) { c = 0; }
3
- var sqrt = Math.sqrt(a * a + b * b + c * c);
4
- return [
5
- 1, 0, 0, 0,
6
- 0, 1, 0, 0,
7
- 0, 0, 1, 0,
8
- a * d / sqrt, b * d / sqrt, c * d / sqrt, 1
9
- ];
1
+ function _move (d, a, b, c) {
2
+ if (c === void 0) { c = 0; }
3
+ var sqrt = Math.sqrt(a * a + b * b + c * c);
4
+ return [
5
+ 1, 0, 0, 0,
6
+ 0, 1, 0, 0,
7
+ 0, 0, 1, 0,
8
+ a * d / sqrt, b * d / sqrt, c * d / sqrt, 1
9
+ ];
10
10
  }
11
11
 
12
- function _rotate (deg) {
13
- var sin = Math.sin(deg), cos = Math.cos(deg);
14
- return [
15
- cos, sin, 0, 0,
16
- -sin, cos, 0, 0,
17
- 0, 0, 1, 0,
18
- 0, 0, 0, 1
19
- ];
12
+ function _rotate (deg) {
13
+ var sin = Math.sin(deg), cos = Math.cos(deg);
14
+ return [
15
+ cos, sin, 0, 0,
16
+ -sin, cos, 0, 0,
17
+ 0, 0, 1, 0,
18
+ 0, 0, 0, 1
19
+ ];
20
20
  }
21
21
 
22
- function _scale (xTimes, yTimes, zTimes, cx, cy, cz) {
23
- if (cx === void 0) { cx = 0; }
24
- if (cy === void 0) { cy = 0; }
25
- if (cz === void 0) { cz = 0; }
26
- return [
27
- xTimes, 0, 0, 0,
28
- 0, yTimes, 0, 0,
29
- 0, 0, zTimes, 0,
30
- cx - cx * xTimes, cy - cy * yTimes, cz - cz * zTimes, 1
31
- ];
22
+ function _scale (xTimes, yTimes, zTimes, cx, cy, cz) {
23
+ if (cx === void 0) { cx = 0; }
24
+ if (cy === void 0) { cy = 0; }
25
+ if (cz === void 0) { cz = 0; }
26
+ return [
27
+ xTimes, 0, 0, 0,
28
+ 0, yTimes, 0, 0,
29
+ 0, 0, zTimes, 0,
30
+ cx - cx * xTimes, cy - cy * yTimes, cz - cz * zTimes, 1
31
+ ];
32
32
  }
33
33
 
34
- function _transform (a1, b1, c1, a2, b2, c2) {
35
- if (typeof a1 === 'number' && typeof b1 === 'number') {
36
- if (typeof c1 !== 'number') {
37
- c1 = 0;
38
- a2 = a1;
39
- b2 = b1;
40
- c2 = 1;
41
- }
42
- else if (typeof a2 !== 'number' || typeof b2 !== 'number' || typeof c2 !== 'number') {
43
- a2 = a1;
44
- b2 = b1;
45
- c2 = c1;
46
- a1 = 0;
47
- b1 = 0;
48
- c1 = 0;
49
- }
50
- if (a1 == a2 && b1 == b2 && c1 == c2)
51
- throw new Error('It\'s not a legitimate ray!');
52
- var sqrt1 = Math.sqrt((a2 - a1) * (a2 - a1) + (b2 - b1) * (b2 - b1)), cos1 = sqrt1 != 0 ? (b2 - b1) / sqrt1 : 1, sin1 = sqrt1 != 0 ? (a2 - a1) / sqrt1 : 0, b = (a2 - a1) * sin1 + (b2 - b1) * cos1, c = c2 - c1, sqrt2 = Math.sqrt(b * b + c * c), cos2 = sqrt2 != 0 ? c / sqrt2 : 1, sin2 = sqrt2 != 0 ? b / sqrt2 : 0;
53
- return [
54
- [
55
- cos1, cos2 * sin1, sin1 * sin2, 0,
56
- -sin1, cos1 * cos2, cos1 * sin2, 0,
57
- 0, -sin2, cos2, 0,
58
- b1 * sin1 - a1 * cos1, c1 * sin2 - a1 * sin1 * cos2 - b1 * cos1 * cos2, -a1 * sin1 * sin2 - b1 * cos1 * sin2 - c1 * cos2, 1
59
- ],
60
- [
61
- cos1, -sin1, 0, 0,
62
- cos2 * sin1, cos2 * cos1, -sin2, 0,
63
- sin1 * sin2, cos1 * sin2, cos2, 0,
64
- a1, b1, c1, 1
65
- ]
66
- ];
67
- }
68
- else {
69
- throw new Error('a1 and b1 is required!');
70
- }
34
+ function _transform (a1, b1, c1, a2, b2, c2) {
35
+ if (typeof a1 === 'number' && typeof b1 === 'number') {
36
+ if (typeof c1 !== 'number') {
37
+ c1 = 0;
38
+ a2 = a1;
39
+ b2 = b1;
40
+ c2 = 1;
41
+ }
42
+ else if (typeof a2 !== 'number' || typeof b2 !== 'number' || typeof c2 !== 'number') {
43
+ a2 = a1;
44
+ b2 = b1;
45
+ c2 = c1;
46
+ a1 = 0;
47
+ b1 = 0;
48
+ c1 = 0;
49
+ }
50
+ if (a1 == a2 && b1 == b2 && c1 == c2)
51
+ throw new Error('It\'s not a legitimate ray!');
52
+ var sqrt1 = Math.sqrt((a2 - a1) * (a2 - a1) + (b2 - b1) * (b2 - b1)), cos1 = sqrt1 != 0 ? (b2 - b1) / sqrt1 : 1, sin1 = sqrt1 != 0 ? (a2 - a1) / sqrt1 : 0, b = (a2 - a1) * sin1 + (b2 - b1) * cos1, c = c2 - c1, sqrt2 = Math.sqrt(b * b + c * c), cos2 = sqrt2 != 0 ? c / sqrt2 : 1, sin2 = sqrt2 != 0 ? b / sqrt2 : 0;
53
+ return [
54
+ [
55
+ cos1, cos2 * sin1, sin1 * sin2, 0,
56
+ -sin1, cos1 * cos2, cos1 * sin2, 0,
57
+ 0, -sin2, cos2, 0,
58
+ b1 * sin1 - a1 * cos1, c1 * sin2 - a1 * sin1 * cos2 - b1 * cos1 * cos2, -a1 * sin1 * sin2 - b1 * cos1 * sin2 - c1 * cos2, 1
59
+ ],
60
+ [
61
+ cos1, -sin1, 0, 0,
62
+ cos2 * sin1, cos2 * cos1, -sin2, 0,
63
+ sin1 * sin2, cos1 * sin2, cos2, 0,
64
+ a1, b1, c1, 1
65
+ ]
66
+ ];
67
+ }
68
+ else {
69
+ throw new Error('a1 and b1 is required!');
70
+ }
71
71
  }
72
72
 
73
- var _multiply = function (matrix4, param) {
74
- var newParam = [];
75
- for (var i = 0; i < 4; i++)
76
- for (var j = 0; j < param.length / 4; j++)
77
- newParam[j * 4 + i] =
78
- matrix4[i] * param[j * 4] +
79
- matrix4[i + 4] * param[j * 4 + 1] +
80
- matrix4[i + 8] * param[j * 4 + 2] +
81
- matrix4[i + 12] * param[j * 4 + 3];
82
- return newParam;
83
- };
84
- var __initMatrix4 = [
85
- 1, 0, 0, 0,
86
- 0, 1, 0, 0,
87
- 0, 0, 1, 0,
88
- 0, 0, 0, 1
89
- ];
90
- var Matrix4 = (function () {
91
- function Matrix4(initMatrix4) {
92
- if (initMatrix4 === void 0) { initMatrix4 = __initMatrix4; }
93
- this.name = 'Matrix4';
94
- this.__matrix4 = initMatrix4;
95
- }
96
- Matrix4.prototype.setValue = function (initMatrix4) {
97
- if (initMatrix4 === void 0) { initMatrix4 = __initMatrix4; }
98
- this.__matrix4 = initMatrix4;
99
- return this;
100
- };
101
- Matrix4.prototype.move = function (dis, a, b, c) {
102
- if (c === void 0) { c = 0; }
103
- this.__matrix4 = _multiply(_move(dis, a, b, c), this.__matrix4);
104
- return this;
105
- };
106
- Matrix4.prototype.rotate = function (deg, a1, b1, c1, a2, b2, c2) {
107
- var matrix4s = _transform(a1, b1, c1, a2, b2, c2);
108
- this.__matrix4 = _multiply(_multiply(_multiply(matrix4s[1], _rotate(deg)), matrix4s[0]), this.__matrix4);
109
- return this;
110
- };
111
- Matrix4.prototype.scale = function (xTimes, yTimes, zTimes, cx, cy, cz) {
112
- if (cx === void 0) { cx = 0; }
113
- if (cy === void 0) { cy = 0; }
114
- if (cz === void 0) { cz = 0; }
115
- this.__matrix4 = _multiply(_scale(xTimes, yTimes, zTimes, cx, cy, cz), this.__matrix4);
116
- return this;
117
- };
118
- Matrix4.prototype.multiply = function (newMatrix4, flag) {
119
- if (flag === void 0) { flag = false; }
120
- this.__matrix4 = flag ? _multiply(this.__matrix4, newMatrix4) : _multiply(newMatrix4, this.__matrix4);
121
- return this;
122
- };
123
- Matrix4.prototype.use = function (x, y, z, w) {
124
- if (z === void 0) { z = 0; }
125
- if (w === void 0) { w = 1; }
126
- return _multiply(this.__matrix4, [x, y, z, w]);
127
- };
128
- Matrix4.prototype.value = function () {
129
- return this.__matrix4;
130
- };
131
- return Matrix4;
73
+ var _multiply = function (matrix4, param) {
74
+ var newParam = [];
75
+ for (var i = 0; i < 4; i++)
76
+ for (var j = 0; j < param.length / 4; j++)
77
+ newParam[j * 4 + i] =
78
+ matrix4[i] * param[j * 4] +
79
+ matrix4[i + 4] * param[j * 4 + 1] +
80
+ matrix4[i + 8] * param[j * 4 + 2] +
81
+ matrix4[i + 12] * param[j * 4 + 3];
82
+ return newParam;
83
+ };
84
+ var __initMatrix4 = [
85
+ 1, 0, 0, 0,
86
+ 0, 1, 0, 0,
87
+ 0, 0, 1, 0,
88
+ 0, 0, 0, 1
89
+ ];
90
+ var Matrix4 = (function () {
91
+ function Matrix4(initMatrix4) {
92
+ if (initMatrix4 === void 0) { initMatrix4 = __initMatrix4; }
93
+ this.name = 'Matrix4';
94
+ this.__matrix4 = initMatrix4;
95
+ }
96
+ Matrix4.prototype.setValue = function (initMatrix4) {
97
+ if (initMatrix4 === void 0) { initMatrix4 = __initMatrix4; }
98
+ this.__matrix4 = initMatrix4;
99
+ return this;
100
+ };
101
+ Matrix4.prototype.move = function (dis, a, b, c) {
102
+ if (c === void 0) { c = 0; }
103
+ this.__matrix4 = _multiply(_move(dis, a, b, c), this.__matrix4);
104
+ return this;
105
+ };
106
+ Matrix4.prototype.rotate = function (deg, a1, b1, c1, a2, b2, c2) {
107
+ var matrix4s = _transform(a1, b1, c1, a2, b2, c2);
108
+ this.__matrix4 = _multiply(_multiply(_multiply(matrix4s[1], _rotate(deg)), matrix4s[0]), this.__matrix4);
109
+ return this;
110
+ };
111
+ Matrix4.prototype.scale = function (xTimes, yTimes, zTimes, cx, cy, cz) {
112
+ if (cx === void 0) { cx = 0; }
113
+ if (cy === void 0) { cy = 0; }
114
+ if (cz === void 0) { cz = 0; }
115
+ this.__matrix4 = _multiply(_scale(xTimes, yTimes, zTimes, cx, cy, cz), this.__matrix4);
116
+ return this;
117
+ };
118
+ Matrix4.prototype.multiply = function (newMatrix4, flag) {
119
+ if (flag === void 0) { flag = false; }
120
+ this.__matrix4 = flag ? _multiply(this.__matrix4, newMatrix4) : _multiply(newMatrix4, this.__matrix4);
121
+ return this;
122
+ };
123
+ Matrix4.prototype.use = function (x, y, z, w) {
124
+ if (z === void 0) { z = 0; }
125
+ if (w === void 0) { w = 1; }
126
+ return _multiply(this.__matrix4, [x, y, z, w]);
127
+ };
128
+ Matrix4.prototype.value = function () {
129
+ return this.__matrix4;
130
+ };
131
+ return Matrix4;
132
132
  }());
133
133
 
134
134
  export { Matrix4 as default };