vislite 1.12.0 → 2.0.0-next.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 (180) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +414 -403
  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 +21 -17
  8. package/bin/minialipay.js +27 -0
  9. package/bin/run +25 -21
  10. package/bin/skills.js +26 -26
  11. package/lib/BarLayout/index.es.js +348 -348
  12. package/lib/Buffer/index.es.js +34 -34
  13. package/lib/Canvas/index.es.js +804 -804
  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 -736
  22. package/lib/SVG/index.es.js +626 -626
  23. package/lib/Shader/index.es.js +34 -34
  24. package/lib/Texture/index.es.js +52 -52
  25. package/lib/TreeLayout/index.es.js +301 -301
  26. package/lib/animation/index.es.js +2 -2
  27. package/lib/assemble/index.es.js +19 -19
  28. package/lib/getLoopColors/index.es.js +34 -34
  29. package/lib/getWebGLContext/index.es.js +61 -61
  30. package/lib/index.umd.js +2797 -2797
  31. package/lib/index.umd.min.js +1 -1
  32. package/lib/initOption/index.es.js +5 -5
  33. package/lib/mergeOption/index.es.js +34 -34
  34. package/lib/move/index.es.js +6 -6
  35. package/lib/rotate/index.es.js +6 -6
  36. package/lib/ruler/index.es.js +136 -136
  37. package/lib/scale/index.es.js +5 -5
  38. package/minialipay/ui-canvas/drawImage.js +35 -35
  39. package/minialipay/ui-canvas/index.acss +4 -4
  40. package/minialipay/ui-canvas/index.axml +3 -3
  41. package/minialipay/ui-canvas/index.d.ts +1 -1
  42. package/minialipay/ui-canvas/index.js +100 -100
  43. package/minialipay/ui-canvas/index.json +6 -6
  44. package/miniprogram/ui-canvas/drawImage.js +35 -35
  45. package/miniprogram/ui-canvas/index.js +125 -125
  46. package/miniprogram/ui-canvas/index.json +4 -4
  47. package/miniprogram/ui-canvas/index.wxml +4 -4
  48. package/miniprogram/ui-canvas/index.wxss +5 -5
  49. package/package/BarLayout/index.ts +2 -2
  50. package/package/Buffer/index.ts +2 -2
  51. package/package/Canvas/index.ts +2 -2
  52. package/package/Cardinal/index.ts +2 -2
  53. package/package/Eoap/index.ts +2 -2
  54. package/package/Hermite/index.ts +2 -2
  55. package/package/MapCoordinate/index.ts +2 -2
  56. package/package/Matrix4/index.ts +2 -2
  57. package/package/Mercator/index.ts +2 -2
  58. package/package/PieLayout/index.ts +2 -2
  59. package/package/RawCanvas/index.ts +2 -2
  60. package/package/SVG/index.ts +2 -2
  61. package/package/Shader/index.ts +2 -2
  62. package/package/Texture/index.ts +2 -2
  63. package/package/TreeLayout/index.ts +2 -2
  64. package/package/animation/index.ts +5 -5
  65. package/package/assemble/index.ts +2 -2
  66. package/package/getLoopColors/index.ts +2 -2
  67. package/package/getWebGLContext/index.ts +40 -40
  68. package/package/index.ts +84 -84
  69. package/package/initOption/index.ts +2 -2
  70. package/package/mergeOption/index.ts +2 -2
  71. package/package/move/index.ts +2 -2
  72. package/package/rotate/index.ts +2 -2
  73. package/package/ruler/index.ts +2 -2
  74. package/package/scale/index.ts +2 -2
  75. package/package/throttle/index.ts +2 -2
  76. package/package.json +103 -79
  77. package/skills/vislite-lib/BarLayout.md +117 -117
  78. package/skills/vislite-lib/Canvas.md +183 -183
  79. package/skills/vislite-lib/Interpolation.md +129 -129
  80. package/skills/vislite-lib/Matrix.md +174 -174
  81. package/skills/vislite-lib/PieLayout.md +131 -131
  82. package/skills/vislite-lib/Projections.md +158 -158
  83. package/skills/vislite-lib/SKILL.md +179 -179
  84. package/skills/vislite-lib/SVG.md +137 -137
  85. package/skills/vislite-lib/TreeLayout.md +176 -176
  86. package/skills/vislite-lib/Utilities.md +261 -261
  87. package/skills/vislite-lib/WebGL.md +106 -106
  88. package/skills/vislite-lib/minialipay/ui-canvas.md +95 -95
  89. package/skills/vislite-lib/miniprogram/ui-canvas.md +98 -98
  90. package/skills/vislite-lib/uniapp/ui-canvas.md +113 -113
  91. package/src/Canvas.ts +89 -89
  92. package/src/Eoap.ts +66 -66
  93. package/src/Matrix4/index.ts +84 -84
  94. package/src/Matrix4/move.ts +12 -12
  95. package/src/Matrix4/rotate.ts +15 -15
  96. package/src/Matrix4/scale.ts +11 -11
  97. package/src/Matrix4/transform.ts +64 -64
  98. package/src/Mercator.ts +27 -27
  99. package/src/SVG.ts +86 -86
  100. package/src/common/assemble.ts +30 -30
  101. package/src/common/canvas/arc.ts +51 -51
  102. package/src/common/canvas/config.ts +176 -176
  103. package/src/common/canvas/default.ts +64 -64
  104. package/src/common/canvas/gradient.ts +31 -31
  105. package/src/common/canvas/index.ts +189 -189
  106. package/src/common/canvas/painter.ts +475 -475
  107. package/src/common/canvas/texts.ts +18 -18
  108. package/src/common/map/getBoundary.ts +15 -15
  109. package/src/common/map/tool.ts +29 -29
  110. package/src/common/option.ts +31 -31
  111. package/src/common/setStyle.ts +5 -5
  112. package/src/common/svg/config.ts +213 -213
  113. package/src/common/svg/default.ts +29 -29
  114. package/src/common/svg/gradient.ts +53 -53
  115. package/src/common/svg/index.ts +420 -420
  116. package/src/common/svg/tool.ts +51 -51
  117. package/src/common/tree/index.ts +25 -25
  118. package/src/common/tree/toInnerTree.ts +61 -61
  119. package/src/common/tree/toPlainTree.ts +135 -135
  120. package/src/common/type.ts +26 -26
  121. package/src/common/webgl/buffer.ts +79 -79
  122. package/src/common/webgl/getWebGLContext.ts +45 -45
  123. package/src/common/webgl/shader.ts +75 -75
  124. package/src/common/webgl/texture.ts +98 -98
  125. package/src/coordinate/MapCoordinate.ts +80 -80
  126. package/src/getLoopColors.ts +42 -42
  127. package/src/interpolation/Cardinal.ts +110 -110
  128. package/src/interpolation/Hermite.ts +65 -65
  129. package/src/layout/BarLayout.ts +249 -249
  130. package/src/layout/PieLayout.ts +146 -146
  131. package/src/layout/TreeLayout.ts +200 -200
  132. package/src/move.ts +7 -7
  133. package/src/rotate.ts +7 -7
  134. package/src/ruler.ts +209 -209
  135. package/src/scale.ts +6 -6
  136. package/types/Bar.d.ts +91 -91
  137. package/types/BarConfig.d.ts +4 -4
  138. package/types/BarLayout.d.ts +48 -48
  139. package/types/BarOption.d.ts +31 -31
  140. package/types/Buffer.d.ts +30 -30
  141. package/types/Canvas.d.ts +379 -379
  142. package/types/CanvasConfig.d.ts +61 -61
  143. package/types/CanvasOption.d.ts +13 -13
  144. package/types/CanvasOpts.d.ts +9 -9
  145. package/types/Cardinal.d.ts +20 -20
  146. package/types/Gradient.d.ts +20 -20
  147. package/types/Hermite.d.ts +25 -25
  148. package/types/Map.d.ts +9 -9
  149. package/types/MapConfig.d.ts +27 -27
  150. package/types/MapCoordinate.d.ts +22 -22
  151. package/types/Matrix4.d.ts +79 -79
  152. package/types/Pie.d.ts +73 -73
  153. package/types/PieConfig.d.ts +26 -26
  154. package/types/PieLayout.d.ts +40 -40
  155. package/types/PieOption.d.ts +21 -21
  156. package/types/SVG.d.ts +282 -282
  157. package/types/SVGConfig.d.ts +54 -54
  158. package/types/Shader.d.ts +22 -22
  159. package/types/Texture.d.ts +22 -22
  160. package/types/Tree.d.ts +74 -74
  161. package/types/TreeConfig.d.ts +52 -52
  162. package/types/TreeLayout.d.ts +71 -71
  163. package/types/TreeOption.d.ts +48 -48
  164. package/types/animation.d.ts +26 -26
  165. package/types/assemble.d.ts +14 -14
  166. package/types/getLoopColors.d.ts +13 -13
  167. package/types/getWebGLContext.d.ts +7 -7
  168. package/types/index.d.ts +220 -220
  169. package/types/module.d.ts +110 -110
  170. package/types/move.d.ts +15 -15
  171. package/types/option.d.ts +12 -12
  172. package/types/painterConfig.d.ts +14 -14
  173. package/types/rotate.d.ts +15 -15
  174. package/types/ruler.d.ts +24 -24
  175. package/types/scale.d.ts +15 -15
  176. package/types/throttle.d.ts +6 -6
  177. package/types/ui-canvas.d.ts +4 -4
  178. package/types/uni-canvas.d.ts +3 -3
  179. package/uni-app/drawImage.js +19 -19
  180. 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 };