vislite 1.12.0 → 1.12.1

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