@openglobus/og 0.16.3 → 0.17.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 (197) hide show
  1. package/README.md +1 -1
  2. package/css/og.css +24 -2
  3. package/dist/@openglobus/og.css +1 -1
  4. package/dist/@openglobus/og.esm.js +2 -2
  5. package/dist/@openglobus/og.esm.js.map +1 -1
  6. package/dist/@openglobus/og.umd.js +2 -2
  7. package/dist/@openglobus/og.umd.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/og/Clock.js +1 -5
  10. package/src/og/Events.js +2 -6
  11. package/src/og/Extent.js +5 -9
  12. package/src/og/Globe.js +93 -56
  13. package/src/og/ImageCanvas.js +13 -6
  14. package/src/og/Lock.js +44 -48
  15. package/src/og/LonLat.js +1 -5
  16. package/src/og/Object3d.js +2 -2
  17. package/src/og/QueueArray.js +1 -1
  18. package/src/og/Stack.js +49 -53
  19. package/src/og/astro/earth.js +112 -116
  20. package/src/og/astro/jd.js +514 -518
  21. package/src/og/astro/orbit.js +119 -123
  22. package/src/og/astro/rotation.js +36 -40
  23. package/src/og/bv/Box.js +77 -81
  24. package/src/og/bv/Sphere.js +57 -61
  25. package/src/og/camera/Camera.js +20 -7
  26. package/src/og/camera/Frustum.js +4 -4
  27. package/src/og/camera/PlanetCamera.js +15 -22
  28. package/src/og/cons.js +1 -1
  29. package/src/og/control/Atmosphere.js +0 -4
  30. package/src/og/control/Control.js +9 -8
  31. package/src/og/control/DebugInfo.js +3 -7
  32. package/src/og/control/DrawingSwitcher.js +117 -0
  33. package/src/og/control/EarthCoordinates.js +214 -214
  34. package/src/og/control/EarthNavigation.js +6 -13
  35. package/src/og/control/GeoImageDragControl.js +0 -4
  36. package/src/og/control/KeyboardNavigation.js +0 -4
  37. package/src/og/control/LayerAnimation.js +0 -4
  38. package/src/og/control/LayerSwitcher.js +2 -4
  39. package/src/og/control/Lighting.js +12 -16
  40. package/src/og/control/MouseNavigation.js +1 -5
  41. package/src/og/control/MouseWheelZoomControl.js +0 -4
  42. package/src/og/control/RulerSwitcher.js +0 -4
  43. package/src/og/control/ScaleControl.js +2 -6
  44. package/src/og/control/ShowFps.js +40 -44
  45. package/src/og/control/SimpleNavigation.js +10 -10
  46. package/src/og/control/SimpleSkyBackground.js +0 -4
  47. package/src/og/control/Sun.js +0 -4
  48. package/src/og/control/ToggleWireframe.js +35 -39
  49. package/src/og/control/ZoomControl.js +0 -4
  50. package/src/og/control/drawing/DrawingControl.js +51 -0
  51. package/src/og/control/drawing/LineStringDrawingScene.js +203 -0
  52. package/src/og/control/drawing/PolygonDrawingScene.js +785 -0
  53. package/src/og/control/elevationProfile/ElevationProfile.js +275 -0
  54. package/src/og/control/index.js +5 -1
  55. package/src/og/control/ruler/Ruler.js +0 -4
  56. package/src/og/control/ruler/RulerScene.js +3 -2
  57. package/src/og/control/selection/Selection.js +0 -4
  58. package/src/og/control/selection/SelectionScene.js +2 -4
  59. package/src/og/control/timeline/TimelineControl.js +4 -4
  60. package/src/og/control/timeline/TimelineModel.js +2 -2
  61. package/src/og/control/timeline/TimelineView.js +1 -0
  62. package/src/og/control/visibleExtent/Segment.js +7 -7
  63. package/src/og/control/visibleExtent/drawnode.js +0 -4
  64. package/src/og/ellipsoid/Ellipsoid.js +236 -325
  65. package/src/og/ellipsoid/wgs84.js +0 -4
  66. package/src/og/entity/BaseBillboard.js +375 -379
  67. package/src/og/entity/Billboard.js +0 -4
  68. package/src/og/entity/BillboardHandler.js +3 -7
  69. package/src/og/entity/Entity.js +22 -22
  70. package/src/og/entity/EntityCollection.js +14 -18
  71. package/src/og/entity/GeoObject.js +6 -8
  72. package/src/og/entity/GeoObjectHandler.js +30 -24
  73. package/src/og/entity/Geometry.js +5 -4
  74. package/src/og/entity/GeometryHandler.js +18 -19
  75. package/src/og/entity/Label.js +0 -4
  76. package/src/og/entity/LabelHandler.js +10 -14
  77. package/src/og/entity/LabelWorker.js +1 -1
  78. package/src/og/entity/PointCloud.js +2 -6
  79. package/src/og/entity/PointCloudHandler.js +122 -126
  80. package/src/og/entity/Polyline.js +15 -17
  81. package/src/og/entity/PolylineHandler.js +104 -108
  82. package/src/og/entity/Ray.js +29 -29
  83. package/src/og/entity/RayHandler.js +2 -2
  84. package/src/og/entity/Strip.js +1 -1
  85. package/src/og/entity/StripHandler.js +2 -2
  86. package/src/og/index.js +3 -1
  87. package/src/og/input/KeyboardHandler.js +128 -132
  88. package/src/og/input/MouseHandler.js +94 -98
  89. package/src/og/input/TouchHandler.js +59 -63
  90. package/src/og/input/input.js +44 -48
  91. package/src/og/layer/BaseGeoImage.js +6 -9
  92. package/src/og/layer/CanvasTiles.js +1 -5
  93. package/src/og/layer/GeoImage.js +0 -4
  94. package/src/og/layer/GeoTexture2d.js +0 -4
  95. package/src/og/layer/GeoVideo.js +0 -4
  96. package/src/og/layer/KML.js +1 -0
  97. package/src/og/layer/Layer.js +22 -26
  98. package/src/og/layer/Material.js +0 -4
  99. package/src/og/layer/Vector.js +25 -22
  100. package/src/og/layer/WMS.js +182 -186
  101. package/src/og/layer/XYZ.js +0 -4
  102. package/src/og/light/LightSource.js +0 -4
  103. package/src/og/math/Line2.js +28 -32
  104. package/src/og/math/Mat3.js +152 -156
  105. package/src/og/math/Ray.js +0 -4
  106. package/src/og/math/Vec2.js +0 -4
  107. package/src/og/math/Vec3.js +5 -4
  108. package/src/og/math/Vec4.js +0 -4
  109. package/src/og/math/coder.js +104 -104
  110. package/src/og/math.js +42 -10
  111. package/src/og/mercator.js +1 -1
  112. package/src/og/proj/EPSG3857.js +13 -13
  113. package/src/og/proj/Proj.js +59 -63
  114. package/src/og/quadTree/EPSG4326QuadTreeStrategy.js +1 -0
  115. package/src/og/quadTree/EarthQuadTreeStrategy.js +1 -0
  116. package/src/og/quadTree/EntityCollectionNode.js +12 -16
  117. package/src/og/quadTree/MarsQuadTreeStrategy.js +1 -0
  118. package/src/og/quadTree/Node.js +15 -14
  119. package/src/og/quadTree/QuadTreeStrategy.js +1 -0
  120. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +1 -0
  121. package/src/og/renderer/Renderer.js +114 -27
  122. package/src/og/renderer/RendererEvents.js +0 -4
  123. package/src/og/scene/Axes.js +74 -78
  124. package/src/og/scene/BaseNode.js +1 -5
  125. package/src/og/scene/Planet.js +127 -130
  126. package/src/og/scene/RenderNode.js +20 -12
  127. package/src/og/scene/SkyBox.js +104 -108
  128. package/src/og/segment/Segment.js +10 -6
  129. package/src/og/segment/SegmentLonLat.js +3 -7
  130. package/src/og/segment/segmentHelper.js +229 -225
  131. package/src/og/shaders/atmos.js +1 -1
  132. package/src/og/shaders/billboard.js +0 -4
  133. package/src/og/shaders/drawnode.js +5 -9
  134. package/src/og/shaders/geoObject.js +0 -4
  135. package/src/og/shaders/label.js +0 -4
  136. package/src/og/shaders/pickingMask.js +0 -4
  137. package/src/og/shaders/pointCloud.js +0 -4
  138. package/src/og/shaders/polyline.js +0 -4
  139. package/src/og/shaders/ray.js +0 -4
  140. package/src/og/shaders/skybox.js +0 -4
  141. package/src/og/terrain/EmptyTerrain.js +0 -4
  142. package/src/og/utils/FontAtlas.js +0 -4
  143. package/src/og/utils/GeoImageCreator.js +2 -3
  144. package/src/og/utils/NormalMapCreator.js +11 -12
  145. package/src/og/utils/PlainSegmentWorker.js +9 -9
  146. package/src/og/utils/TerrainWorker.js +2 -2
  147. package/src/og/utils/TextureAtlas.js +1 -1
  148. package/src/og/utils/VectorTileCreator.js +3 -9
  149. package/src/og/utils/earcut.js +8 -8
  150. package/src/og/utils/shared.js +30 -11
  151. package/src/og/webgl/Framebuffer.js +2 -6
  152. package/src/og/webgl/Handler.js +46 -20
  153. package/src/og/webgl/Multisample.js +2 -6
  154. package/src/og/webgl/Program.js +4 -8
  155. package/src/og/webgl/ProgramController.js +2 -2
  156. package/types/Clock.d.ts +1 -1
  157. package/types/Extent.d.ts +5 -5
  158. package/types/Globe.d.ts +15 -1
  159. package/types/ImageCanvas.d.ts +5 -0
  160. package/types/bv/Box.d.ts +1 -1
  161. package/types/bv/Sphere.d.ts +3 -3
  162. package/types/camera/Camera.d.ts +3 -2
  163. package/types/camera/PlanetCamera.d.ts +4 -4
  164. package/types/control/DrawingSwitcher.d.ts +13 -0
  165. package/types/control/EarthCoordinates.d.ts +1 -1
  166. package/types/control/Lighting.d.ts +8 -8
  167. package/types/control/drawing/DrawingControl.d.ts +14 -0
  168. package/types/control/drawing/LineStringDrawingScene.d.ts +5 -0
  169. package/types/control/drawing/PolygonDrawingScene.d.ts +99 -0
  170. package/types/control/index.d.ts +3 -1
  171. package/types/control/ruler/RulerScene.d.ts +0 -1
  172. package/types/control/selection/SelectionScene.d.ts +0 -1
  173. package/types/ellipsoid/Ellipsoid.d.ts +53 -64
  174. package/types/entity/Entity.d.ts +3 -2
  175. package/types/entity/GeoObject.d.ts +1 -2
  176. package/types/entity/Geometry.d.ts +5 -0
  177. package/types/entity/Polyline.d.ts +1 -1
  178. package/types/entity/Ray.d.ts +1 -0
  179. package/types/index.d.ts +1 -0
  180. package/types/layer/BaseGeoImage.d.ts +1 -1
  181. package/types/layer/CanvasTiles.d.ts +1 -1
  182. package/types/layer/Layer.d.ts +1 -1
  183. package/types/layer/Vector.d.ts +1 -0
  184. package/types/math/Vec3.d.ts +2 -0
  185. package/types/math.d.ts +7 -0
  186. package/types/renderer/Renderer.d.ts +7 -1
  187. package/types/scene/Axes.d.ts +0 -1
  188. package/types/scene/Planet.d.ts +27 -26
  189. package/types/scene/RenderNode.d.ts +2 -0
  190. package/types/scene/SkyBox.d.ts +0 -1
  191. package/types/segment/Segment.d.ts +3 -2
  192. package/types/segment/SegmentLonLat.d.ts +0 -1
  193. package/types/utils/GeoImageCreator.d.ts +1 -1
  194. package/types/utils/NormalMapCreator.d.ts +1 -1
  195. package/types/utils/VectorTileCreator.d.ts +2 -2
  196. package/types/utils/shared.d.ts +2 -0
  197. package/types/webgl/Handler.d.ts +6 -4
@@ -1,186 +1,182 @@
1
- /**
2
- * @module og/layer/WMS
3
- */
4
-
5
- "use strict";
6
-
7
- import { Extent } from "../Extent.js";
8
- import { LonLat } from "../LonLat.js";
9
- import * as mercator from "../mercator.js";
10
- import { XYZ } from "./XYZ.js";
11
-
12
- /**
13
- * Used to display WMS services as tile layers on the globe.
14
- * @class
15
- * @extends {XYZ}
16
- * //TODO: WMS version, format, and custom srs cpecification.
17
- * @param {string} name - Layer name.
18
- * @param {Object} options - Options:
19
- * @param {number} [options.opacity=1.0] - Layer opacity.
20
- * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
21
- * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
22
- * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
23
- * @param {boolean} [options.isBaseLayer=false] - Base layer flag.
24
- * @param {boolean} [options.visibility=true] - Layer visibility.
25
- * @param {string} options.url - WMS url source.
26
- * @param {number} [options.width=256] - Tile width.
27
- * @param {number} [options.height=256] - Tile height.
28
- * @param {string} options.layers - WMS layers string.
29
- * @param {string} [options.version="1.1.1"] - WMS version.
30
- * @param {Object} extra - Extra parameters (by WMS rreference or by WMS service vendors) to pass to WMS service.
31
- * @example:
32
- * new og.layer.WMS("USA States", {
33
- * isBaseLayer: false,
34
- * url: "http://openglobus.org/geoserver/",
35
- * layers: "topp:states",
36
- * opacity: 0.5,
37
- * zIndex: 50,
38
- * attribution: 'USA states - geoserver WMS example',
39
- * version: "1.1.1",
40
- * visibility: false }, {
41
- * transparent: true,
42
- * sld: "style.sld"}
43
- * );
44
- *
45
- * @fires og.layer.XYZ#load
46
- * @fires og.layer.XYZ#loadend
47
- */
48
- class WMS extends XYZ {
49
-
50
-
51
- constructor(name, options, extra) {
52
- super(name, options);
53
-
54
- this._extra = new URLSearchParams(extra).toString();
55
-
56
-
57
- if (!options.extent) {
58
- this.setExtent(new Extent(new LonLat(-180.0, -90), new LonLat(180.0, 90)));
59
- }
60
-
61
- /**
62
- * WMS layers string.
63
- * @public
64
- * @type {string}
65
- */
66
- this.layers = options.layers;
67
-
68
- /**
69
- * WMS tile width.
70
- * @public
71
- * @type {number}
72
- */
73
- this.imageWidth = options.imageWidth || 256;
74
-
75
- /**
76
- * WMS tile height.
77
- * @public
78
- * @type {number}
79
- */
80
- this.imageHeight = options.imageHeight || 256;
81
-
82
- this._getBbox = WMS.get_bbox_v1_1_1;
83
-
84
- this.setVersion(options.version);
85
- }
86
-
87
- static createRequestUrl(
88
- url,
89
- layers,
90
- format = "image/png",
91
- version = "1.1.1",
92
- request = "GetMap",
93
- srs,
94
- bbox,
95
- width = 256,
96
- height = 256,
97
- extra
98
-
99
- ) {
100
- return `${url}/?LAYERS=${layers}&FORMAT=${format}&SERVICE=WMS&VERSION=${version}&REQUEST=${request}&SRS=${srs}&BBOX=${bbox}&WIDTH=${width}&HEIGHT=${height}` +
101
- (extra ? `&${extra}` : "");
102
- }
103
-
104
- static get_bbox_v1_1_1(extent) {
105
- return (
106
- extent.getWest() +
107
- "," +
108
- extent.getSouth() +
109
- "," +
110
- extent.getEast() +
111
- "," +
112
- extent.getNorth()
113
- );
114
- }
115
-
116
- static get_bbox_v1_3_0(extent) {
117
- return (
118
- extent.getSouth() +
119
- "," +
120
- extent.getWest() +
121
- "," +
122
- extent.getNorth() +
123
- "," +
124
- extent.getEast()
125
- );
126
- }
127
-
128
- _checkSegment(segment) {
129
- return true;
130
- }
131
-
132
- get instanceName() {
133
- return "WMS";
134
- }
135
-
136
- _createUrl(segment) {
137
- return WMS.createRequestUrl(
138
- this.url,
139
- this.layers,
140
- "image/png",
141
- this._version,
142
- "GetMap",
143
- segment._projection.code,
144
- this._getBbox(segment.getExtent()),
145
- this.imageWidth,
146
- this.imageHeight,
147
- this._extra
148
- );
149
- }
150
-
151
- setVersion(version) {
152
- if (version) {
153
- this._version = version;
154
- } else {
155
- this._version = "1.1.1";
156
- }
157
-
158
- if (this._version === "1.1.1") {
159
- this._getBbox = WMS.get_bbox_v1_1_1;
160
- } else if (version === "1.3.0") {
161
- this._getBbox = WMS.get_bbox_v1_3_0;
162
- }
163
- }
164
-
165
- _correctFullExtent() {
166
- var e = this._extent,
167
- em = this._extentMerc;
168
- var ENLARGE_MERCATOR_LON = mercator.POLE + 50000;
169
- var ENLARGE_MERCATOR_LAT = mercator.POLE + 50000;
170
- if (e.northEast.lat === 90.0) {
171
- em.northEast.lat = ENLARGE_MERCATOR_LAT;
172
- }
173
- if (e.northEast.lon === 180.0) {
174
- em.northEast.lon = ENLARGE_MERCATOR_LON;
175
- }
176
- if (e.southWest.lat === -90.0) {
177
- em.southWest.lat = -ENLARGE_MERCATOR_LAT;
178
- }
179
- if (e.southWest.lon === -180.0) {
180
- em.southWest.lon = -ENLARGE_MERCATOR_LON;
181
- }
182
- }
183
- }
184
-
185
- export { WMS };
186
-
1
+ "use strict";
2
+
3
+ import { Extent } from "../Extent.js";
4
+ import { LonLat } from "../LonLat.js";
5
+ import * as mercator from "../mercator.js";
6
+ import { XYZ } from "./XYZ.js";
7
+
8
+ /**
9
+ * Used to display WMS services as tile layers on the globe.
10
+ * @class
11
+ * @extends {XYZ}
12
+ * //TODO: WMS version, format, and custom srs cpecification.
13
+ * @param {string} name - Layer name.
14
+ * @param {Object} options - Options:
15
+ * @param {number} [options.opacity=1.0] - Layer opacity.
16
+ * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
17
+ * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
18
+ * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
19
+ * @param {boolean} [options.isBaseLayer=false] - Base layer flag.
20
+ * @param {boolean} [options.visibility=true] - Layer visibility.
21
+ * @param {string} options.url - WMS url source.
22
+ * @param {number} [options.width=256] - Tile width.
23
+ * @param {number} [options.height=256] - Tile height.
24
+ * @param {string} options.layers - WMS layers string.
25
+ * @param {string} [options.version="1.1.1"] - WMS version.
26
+ * @param {Object} extra - Extra parameters (by WMS rreference or by WMS service vendors) to pass to WMS service.
27
+ * @example:
28
+ * new og.layer.WMS("USA States", {
29
+ * isBaseLayer: false,
30
+ * url: "http://openglobus.org/geoserver/",
31
+ * layers: "topp:states",
32
+ * opacity: 0.5,
33
+ * zIndex: 50,
34
+ * attribution: 'USA states - geoserver WMS example',
35
+ * version: "1.1.1",
36
+ * visibility: false }, {
37
+ * transparent: true,
38
+ * sld: "style.sld"}
39
+ * );
40
+ *
41
+ * @fires og.layer.XYZ#load
42
+ * @fires og.layer.XYZ#loadend
43
+ */
44
+ class WMS extends XYZ {
45
+
46
+
47
+ constructor(name, options, extra) {
48
+ super(name, options);
49
+
50
+ this._extra = new URLSearchParams(extra).toString();
51
+
52
+
53
+ if (!options.extent) {
54
+ this.setExtent(new Extent(new LonLat(-180.0, -90), new LonLat(180.0, 90)));
55
+ }
56
+
57
+ /**
58
+ * WMS layers string.
59
+ * @public
60
+ * @type {string}
61
+ */
62
+ this.layers = options.layers;
63
+
64
+ /**
65
+ * WMS tile width.
66
+ * @public
67
+ * @type {number}
68
+ */
69
+ this.imageWidth = options.imageWidth || 256;
70
+
71
+ /**
72
+ * WMS tile height.
73
+ * @public
74
+ * @type {number}
75
+ */
76
+ this.imageHeight = options.imageHeight || 256;
77
+
78
+ this._getBbox = WMS.get_bbox_v1_1_1;
79
+
80
+ this.setVersion(options.version);
81
+ }
82
+
83
+ static createRequestUrl(
84
+ url,
85
+ layers,
86
+ format = "image/png",
87
+ version = "1.1.1",
88
+ request = "GetMap",
89
+ srs,
90
+ bbox,
91
+ width = 256,
92
+ height = 256,
93
+ extra
94
+
95
+ ) {
96
+ return `${url}/?LAYERS=${layers}&FORMAT=${format}&SERVICE=WMS&VERSION=${version}&REQUEST=${request}&SRS=${srs}&BBOX=${bbox}&WIDTH=${width}&HEIGHT=${height}` +
97
+ (extra ? `&${extra}` : "");
98
+ }
99
+
100
+ static get_bbox_v1_1_1(extent) {
101
+ return (
102
+ extent.getWest() +
103
+ "," +
104
+ extent.getSouth() +
105
+ "," +
106
+ extent.getEast() +
107
+ "," +
108
+ extent.getNorth()
109
+ );
110
+ }
111
+
112
+ static get_bbox_v1_3_0(extent) {
113
+ return (
114
+ extent.getSouth() +
115
+ "," +
116
+ extent.getWest() +
117
+ "," +
118
+ extent.getNorth() +
119
+ "," +
120
+ extent.getEast()
121
+ );
122
+ }
123
+
124
+ _checkSegment(segment) {
125
+ return true;
126
+ }
127
+
128
+ get instanceName() {
129
+ return "WMS";
130
+ }
131
+
132
+ _createUrl(segment) {
133
+ return WMS.createRequestUrl(
134
+ this.url,
135
+ this.layers,
136
+ "image/png",
137
+ this._version,
138
+ "GetMap",
139
+ segment._projection.code,
140
+ this._getBbox(segment.getExtent()),
141
+ this.imageWidth,
142
+ this.imageHeight,
143
+ this._extra
144
+ );
145
+ }
146
+
147
+ setVersion(version) {
148
+ if (version) {
149
+ this._version = version;
150
+ } else {
151
+ this._version = "1.1.1";
152
+ }
153
+
154
+ if (this._version === "1.1.1") {
155
+ this._getBbox = WMS.get_bbox_v1_1_1;
156
+ } else if (version === "1.3.0") {
157
+ this._getBbox = WMS.get_bbox_v1_3_0;
158
+ }
159
+ }
160
+
161
+ _correctFullExtent() {
162
+ var e = this._extent,
163
+ em = this._extentMerc;
164
+ var ENLARGE_MERCATOR_LON = mercator.POLE + 50000;
165
+ var ENLARGE_MERCATOR_LAT = mercator.POLE + 50000;
166
+ if (e.northEast.lat === 90.0) {
167
+ em.northEast.lat = ENLARGE_MERCATOR_LAT;
168
+ }
169
+ if (e.northEast.lon === 180.0) {
170
+ em.northEast.lon = ENLARGE_MERCATOR_LON;
171
+ }
172
+ if (e.southWest.lat === -90.0) {
173
+ em.southWest.lat = -ENLARGE_MERCATOR_LAT;
174
+ }
175
+ if (e.southWest.lon === -180.0) {
176
+ em.southWest.lon = -ENLARGE_MERCATOR_LON;
177
+ }
178
+ }
179
+ }
180
+
181
+ export { WMS };
182
+
@@ -1,7 +1,3 @@
1
- /**
2
- * @module og/layer/XYZ
3
- */
4
-
5
1
  "use strict";
6
2
 
7
3
  import * as mercator from "../mercator.js";
@@ -1,7 +1,3 @@
1
- /**
2
- * @module og/light/LightSource
3
- */
4
-
5
1
  "use strict";
6
2
 
7
3
  import { Vec3 } from "../math/Vec3.js";
@@ -1,32 +1,28 @@
1
- /**
2
- * @module og/math/Line2
3
- */
4
-
5
- 'use strict';
6
-
7
- import { Vec2 } from './Vec2.js';
8
-
9
- export class Line2 {
10
- constructor(a = 0, b = 0, c = 0) {
11
- this.a = a;
12
- this.b = b;
13
- this.c = c;
14
- }
15
-
16
- static get(p0, p1) {
17
- return new Line2(p1.y - p0.y, p0.x - p1.x, p1.x * p0.y - p0.x * p1.y);
18
- }
19
-
20
- static getParallel(l, p) {
21
- return new Line2(l.a, l.b, -l.a * p.x - l.b * p.y);
22
- }
23
-
24
- static getIntersection(L0, L1) {
25
- var x = (L1.b * L0.c - L0.b * L1.c) / (L0.b * L1.a - L1.b * L0.a);
26
- return new Vec2(x, -(L0.c + L0.a * x) / L0.b);
27
- }
28
-
29
- intersects(l) {
30
- return Line2.getIntersection(this, l);
31
- }
32
- }
1
+ 'use strict';
2
+
3
+ import { Vec2 } from './Vec2.js';
4
+
5
+ export class Line2 {
6
+ constructor(a = 0, b = 0, c = 0) {
7
+ this.a = a;
8
+ this.b = b;
9
+ this.c = c;
10
+ }
11
+
12
+ static get(p0, p1) {
13
+ return new Line2(p1.y - p0.y, p0.x - p1.x, p1.x * p0.y - p0.x * p1.y);
14
+ }
15
+
16
+ static getParallel(l, p) {
17
+ return new Line2(l.a, l.b, -l.a * p.x - l.b * p.y);
18
+ }
19
+
20
+ static getIntersection(L0, L1) {
21
+ var x = (L1.b * L0.c - L0.b * L1.c) / (L0.b * L1.a - L1.b * L0.a);
22
+ return new Vec2(x, -(L0.c + L0.a * x) / L0.b);
23
+ }
24
+
25
+ intersects(l) {
26
+ return Line2.getIntersection(this, l);
27
+ }
28
+ }