@openglobus/og 0.21.0 → 0.22.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.
- package/LICENSE.md +2 -2
- package/lib/@openglobus/js/Globe.d.ts +4 -0
- package/lib/@openglobus/js/Object3d.d.ts +7 -2
- package/lib/@openglobus/js/camera/Camera.d.ts +2 -0
- package/lib/@openglobus/js/control/geoObjectEditor/GeoObjectEditorScene.d.ts +58 -0
- package/lib/@openglobus/js/ellipsoid/Ellipsoid.d.ts +2 -1
- package/lib/@openglobus/js/ellipsoid/index.d.ts +4 -3
- package/lib/@openglobus/js/ellipsoid/mars.d.ts +6 -0
- package/lib/@openglobus/js/ellipsoid/moon.d.ts +6 -0
- package/lib/@openglobus/js/entity/Entity.d.ts +4 -2
- package/lib/@openglobus/js/entity/EntityCollection.d.ts +3 -2
- package/lib/@openglobus/js/entity/GeoObject.d.ts +6 -1
- package/lib/@openglobus/js/entity/GeoObjectHandler.d.ts +4 -0
- package/lib/@openglobus/js/entity/Label.d.ts +14 -0
- package/lib/@openglobus/js/entity/LabelHandler.d.ts +1 -1
- package/lib/@openglobus/js/index.d.ts +3 -3
- package/lib/@openglobus/js/layer/Vector.d.ts +12 -29
- package/lib/@openglobus/js/proj/equi.d.ts +9 -0
- package/lib/@openglobus/js/quadTree/{EPSG4326QuadTreeStrategy.d.ts → EPSG4326/EPSG4326QuadTreeStrategy.d.ts} +2 -2
- package/lib/@openglobus/js/quadTree/EntityCollectionNode.d.ts +5 -13
- package/lib/@openglobus/js/quadTree/EntityCollectionsTreeStrategy.d.ts +25 -0
- package/lib/@openglobus/js/quadTree/QuadTreeStrategy.d.ts +11 -0
- package/lib/@openglobus/js/quadTree/earth/EarthEntityCollectionNodeLonLat.d.ts +18 -0
- package/lib/@openglobus/js/quadTree/earth/EarthEntityCollectionsTreeStrategy.d.ts +19 -0
- package/lib/@openglobus/js/quadTree/earth/EarthQuadTreeStrategy.d.ts +29 -0
- package/lib/@openglobus/js/quadTree/equi/EquiEntityCollectionNodeLonLat.d.ts +17 -0
- package/lib/@openglobus/js/quadTree/equi/EquiEntityCollectionsTreeStrategy.d.ts +17 -0
- package/lib/@openglobus/js/quadTree/equi/EquiQuadTreeStrategy.d.ts +19 -0
- package/lib/@openglobus/js/quadTree/index.d.ts +6 -6
- package/lib/{js/quadTree → @openglobus/js/quadTree/wgs84}/Wgs84QuadTreeStrategy.d.ts +2 -2
- package/lib/@openglobus/js/renderer/Renderer.d.ts +2 -0
- package/lib/@openglobus/js/scene/Planet.d.ts +0 -27
- package/lib/@openglobus/js/segment/Segment.d.ts +0 -1
- package/lib/@openglobus/js/segment/SegmentLonLat.d.ts +0 -4
- package/lib/@openglobus/js/segment/{SegmentLonLatWgs84.d.ts → SegmentLonLatEqui.d.ts} +4 -1
- package/lib/@openglobus/js/terrain/RgbTerrain.d.ts +11 -0
- package/lib/@openglobus/og.esm.js +1 -1
- package/lib/@openglobus/og.esm.js.map +1 -1
- package/lib/@openglobus/og.umd.js +1 -1
- package/lib/@openglobus/og.umd.js.map +1 -1
- package/lib/@openglobus/res/fonts/Ephesis-Regular.json +4648 -0
- package/lib/@openglobus/res/fonts/Ephesis-Regular.ttf.cfg +1282 -0
- package/lib/@openglobus/res/fonts/Ephesis-Regular.ttf.png +0 -0
- package/lib/js/Globe.d.ts +4 -0
- package/lib/js/Globe.js +8 -4
- package/lib/js/Object3d.d.ts +7 -2
- package/lib/js/Object3d.js +46 -6
- package/lib/js/camera/Camera.d.ts +2 -0
- package/lib/js/camera/Camera.js +8 -0
- package/lib/js/control/elevationProfile/ElevationProfileScene.js +2 -0
- package/lib/js/control/geoObjectEditor/GeoObjectEditorScene.d.ts +58 -0
- package/lib/js/control/geoObjectEditor/GeoObjectEditorScene.js +105 -0
- package/lib/js/ellipsoid/Ellipsoid.d.ts +2 -1
- package/lib/js/ellipsoid/Ellipsoid.js +17 -1
- package/lib/js/ellipsoid/index.d.ts +4 -3
- package/lib/js/ellipsoid/index.js +4 -3
- package/lib/js/ellipsoid/mars.d.ts +6 -0
- package/lib/js/ellipsoid/mars.js +6 -0
- package/lib/js/ellipsoid/moon.d.ts +6 -0
- package/lib/js/ellipsoid/moon.js +6 -0
- package/lib/js/entity/Entity.d.ts +4 -2
- package/lib/js/entity/Entity.js +4 -1
- package/lib/js/entity/EntityCollection.d.ts +3 -2
- package/lib/js/entity/EntityCollection.js +26 -2
- package/lib/js/entity/GeoObject.d.ts +6 -1
- package/lib/js/entity/GeoObject.js +9 -0
- package/lib/js/entity/GeoObjectHandler.d.ts +4 -0
- package/lib/js/entity/GeoObjectHandler.js +32 -1
- package/lib/js/entity/GeometryHandler.js +16 -14
- package/lib/js/entity/Label.d.ts +14 -0
- package/lib/js/entity/Label.js +24 -4
- package/lib/js/entity/LabelHandler.d.ts +1 -1
- package/lib/js/entity/LabelHandler.js +4 -4
- package/lib/js/entity/Polyline.js +1 -1
- package/lib/js/index.d.ts +3 -3
- package/lib/js/index.js +3 -3
- package/lib/js/layer/CanvasTiles.js +1 -11
- package/lib/js/layer/Layer.js +9 -28
- package/lib/js/layer/Vector.d.ts +12 -29
- package/lib/js/layer/Vector.js +45 -160
- package/lib/js/layer/XYZ.js +10 -10
- package/lib/js/proj/equi.d.ts +9 -0
- package/lib/js/proj/equi.js +9 -0
- package/lib/js/quadTree/{EPSG4326QuadTreeStrategy.d.ts → EPSG4326/EPSG4326QuadTreeStrategy.d.ts} +2 -2
- package/lib/js/quadTree/EPSG4326/EPSG4326QuadTreeStrategy.js +16 -0
- package/lib/js/quadTree/EntityCollectionNode.d.ts +5 -13
- package/lib/js/quadTree/EntityCollectionNode.js +18 -83
- package/lib/js/quadTree/EntityCollectionsTreeStrategy.d.ts +25 -0
- package/lib/js/quadTree/EntityCollectionsTreeStrategy.js +49 -0
- package/lib/js/quadTree/Node.js +6 -12
- package/lib/js/quadTree/QuadTreeStrategy.d.ts +11 -0
- package/lib/js/quadTree/QuadTreeStrategy.js +12 -0
- package/lib/js/quadTree/earth/EarthEntityCollectionNodeLonLat.d.ts +18 -0
- package/lib/js/quadTree/earth/EarthEntityCollectionNodeLonLat.js +74 -0
- package/lib/js/quadTree/earth/EarthEntityCollectionsTreeStrategy.d.ts +19 -0
- package/lib/js/quadTree/earth/EarthEntityCollectionsTreeStrategy.js +103 -0
- package/lib/js/quadTree/earth/EarthQuadTreeStrategy.d.ts +29 -0
- package/lib/js/quadTree/{EarthQuadTreeStrategy.js → earth/EarthQuadTreeStrategy.js} +29 -6
- package/lib/js/quadTree/equi/EquiEntityCollectionNodeLonLat.d.ts +17 -0
- package/lib/js/quadTree/equi/EquiEntityCollectionNodeLonLat.js +70 -0
- package/lib/js/quadTree/equi/EquiEntityCollectionsTreeStrategy.d.ts +17 -0
- package/lib/js/quadTree/equi/EquiEntityCollectionsTreeStrategy.js +75 -0
- package/lib/js/quadTree/equi/EquiQuadTreeStrategy.d.ts +19 -0
- package/lib/js/quadTree/equi/EquiQuadTreeStrategy.js +62 -0
- package/lib/js/quadTree/index.d.ts +6 -6
- package/lib/js/quadTree/index.js +6 -6
- package/lib/{@openglobus/js/quadTree → js/quadTree/wgs84}/Wgs84QuadTreeStrategy.d.ts +2 -2
- package/lib/js/quadTree/wgs84/Wgs84QuadTreeStrategy.js +15 -0
- package/lib/js/renderer/Renderer.d.ts +2 -0
- package/lib/js/renderer/Renderer.js +2 -2
- package/lib/js/scene/Planet.d.ts +0 -27
- package/lib/js/scene/Planet.js +2 -9
- package/lib/js/segment/Segment.d.ts +0 -1
- package/lib/js/segment/Segment.js +0 -3
- package/lib/js/segment/SegmentLonLat.d.ts +0 -4
- package/lib/js/segment/SegmentLonLat.js +0 -11
- package/lib/js/segment/{SegmentLonLatWgs84.d.ts → SegmentLonLatEqui.d.ts} +4 -1
- package/lib/js/segment/SegmentLonLatEqui.js +46 -0
- package/lib/js/shaders/geoObject.js +10 -5
- package/lib/js/shaders/polyline.js +8 -6
- package/lib/js/terrain/RgbTerrain.d.ts +11 -0
- package/lib/js/terrain/RgbTerrain.js +12 -1
- package/lib/js/utils/PlainSegmentWorker.js +3 -1
- package/lib/js/webgl/Handler.js +1 -1
- package/package.json +4 -4
- package/lib/@openglobus/js/quadTree/EarthQuadTreeStrategy.d.ts +0 -9
- package/lib/@openglobus/js/quadTree/MarsQuadTreeStrategy.d.ts +0 -11
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +0 -16
- package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +0 -9
- package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +0 -11
- package/lib/js/quadTree/MarsQuadTreeStrategy.js +0 -43
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +0 -15
- package/lib/js/segment/SegmentLonLatWgs84.js +0 -25
package/LICENSE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
Copyright (
|
|
1
|
+
Copyright (c) 2013-2025 Michael Gevlich
|
|
2
2
|
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
4
|
|
|
5
5
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
6
6
|
|
|
7
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
7
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -45,6 +45,8 @@ export interface IGlobeParams {
|
|
|
45
45
|
fontsSrc?: string;
|
|
46
46
|
resourcesSrc?: string;
|
|
47
47
|
atmosphereParameters?: IAtmosphereParams;
|
|
48
|
+
gamma?: number;
|
|
49
|
+
exposure?: number;
|
|
48
50
|
}
|
|
49
51
|
/**
|
|
50
52
|
* Creates a WebGL context with globe.
|
|
@@ -97,6 +99,8 @@ export interface IGlobeParams {
|
|
|
97
99
|
* @param {boolean} [options.atmosphereEnabled] - Enables atmosphere effect.
|
|
98
100
|
* @param {boolean} [options.transtitionOpacityEnabled] - Enables terrain smooth opacity transition effect.
|
|
99
101
|
* @param {IAtmosphereParams} [options.atmosphereParameters] - Atmosphere model parameters.
|
|
102
|
+
* @param {number} [options.gamma] - Gamma
|
|
103
|
+
* @param {number} [options.exposure] - Exposure
|
|
100
104
|
*/
|
|
101
105
|
declare class Globe {
|
|
102
106
|
static __counter__: number;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TypedArray } from './utils/shared';
|
|
2
2
|
import { NumberArray3, Vec3 } from './math/Vec3';
|
|
3
|
+
import { Mat4 } from "./math/Mat4";
|
|
3
4
|
interface IObject3dParams {
|
|
4
5
|
name?: string;
|
|
5
6
|
vertices?: number[];
|
|
@@ -9,7 +10,7 @@ interface IObject3dParams {
|
|
|
9
10
|
center?: boolean;
|
|
10
11
|
src?: string;
|
|
11
12
|
color?: number[] | TypedArray | string;
|
|
12
|
-
scale?: number;
|
|
13
|
+
scale?: number | Vec3;
|
|
13
14
|
}
|
|
14
15
|
declare class Object3d {
|
|
15
16
|
protected _name: string;
|
|
@@ -27,6 +28,10 @@ declare class Object3d {
|
|
|
27
28
|
protected _normals: number[];
|
|
28
29
|
constructor(data?: IObject3dParams);
|
|
29
30
|
static centering(verts: number[]): void;
|
|
31
|
+
centering(): this;
|
|
32
|
+
applyMat4(m: Mat4): this;
|
|
33
|
+
scale(s: Vec3): this;
|
|
34
|
+
translate(v: Vec3): this;
|
|
30
35
|
get src(): string | null;
|
|
31
36
|
set src(src: string | null);
|
|
32
37
|
get name(): string;
|
|
@@ -35,7 +40,7 @@ declare class Object3d {
|
|
|
35
40
|
get indices(): number[];
|
|
36
41
|
get texCoords(): number[];
|
|
37
42
|
get numVertices(): number;
|
|
38
|
-
static scale(vertices: number[], s:
|
|
43
|
+
static scale(vertices: number[], s: Vec3): void;
|
|
39
44
|
static centroid(vertices: number[]): number[];
|
|
40
45
|
static translate(vertices: number[], v: NumberArray3): void;
|
|
41
46
|
static getNormals(vertices: number[]): number[];
|
|
@@ -5,6 +5,7 @@ import { Mat4, NumberArray16 } from "../math/Mat4";
|
|
|
5
5
|
import { Renderer } from "../renderer/Renderer";
|
|
6
6
|
import { Vec2, NumberArray2 } from "../math/Vec2";
|
|
7
7
|
import { Vec3 } from "../math/Vec3";
|
|
8
|
+
import { Sphere } from "../bv/Sphere";
|
|
8
9
|
type CameraEvents = ["viewchange", "moveend"];
|
|
9
10
|
export interface ICameraParams {
|
|
10
11
|
eye?: Vec3;
|
|
@@ -285,6 +286,7 @@ declare class Camera {
|
|
|
285
286
|
getNormalMatrix(): NumberArray9;
|
|
286
287
|
setCurrentFrustum(k: number): void;
|
|
287
288
|
getCurrentFrustum(): number;
|
|
289
|
+
containsSphere(sphere: Sphere): boolean;
|
|
288
290
|
get frustum(): Frustum;
|
|
289
291
|
/**
|
|
290
292
|
* Returns projection matrix.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { EventsHandler } from '../../Events';
|
|
2
|
+
import { Planet } from "../../scene/Planet";
|
|
3
|
+
import { RenderNode } from '../../scene/RenderNode';
|
|
4
|
+
import { Vector } from '../../layer/Vector';
|
|
5
|
+
import { Vec2 } from '../../math/Vec2';
|
|
6
|
+
import { IMouseState } from "../../renderer/RendererEvents";
|
|
7
|
+
import { Ellipsoid } from "../../ellipsoid/Ellipsoid";
|
|
8
|
+
export interface IGeoObjectEditorSceneParams {
|
|
9
|
+
planet?: Planet;
|
|
10
|
+
}
|
|
11
|
+
type GeoObjectSceneEventsList = [
|
|
12
|
+
"mousemove",
|
|
13
|
+
"mouseenter",
|
|
14
|
+
"mouseleave",
|
|
15
|
+
"lclick",
|
|
16
|
+
"rclick",
|
|
17
|
+
"mclick",
|
|
18
|
+
"ldblclick",
|
|
19
|
+
"rdblclick",
|
|
20
|
+
"mdblclick",
|
|
21
|
+
"lup",
|
|
22
|
+
"rup",
|
|
23
|
+
"mup",
|
|
24
|
+
"ldown",
|
|
25
|
+
"rdown",
|
|
26
|
+
"mdown",
|
|
27
|
+
"lhold",
|
|
28
|
+
"rhold",
|
|
29
|
+
"mhold",
|
|
30
|
+
"mousewheel",
|
|
31
|
+
"touchmove",
|
|
32
|
+
"touchstart",
|
|
33
|
+
"touchend",
|
|
34
|
+
"doubletouch",
|
|
35
|
+
"touchleave",
|
|
36
|
+
"touchenter"
|
|
37
|
+
];
|
|
38
|
+
declare class GeoObjectEditorScene extends RenderNode {
|
|
39
|
+
events: EventsHandler<GeoObjectSceneEventsList>;
|
|
40
|
+
protected _planet: Planet | null;
|
|
41
|
+
protected _startPos: Vec2 | null;
|
|
42
|
+
protected _startClick: Vec2;
|
|
43
|
+
protected _axisLayer: Vector;
|
|
44
|
+
protected _rotLayer: Vector;
|
|
45
|
+
constructor(options?: IGeoObjectEditorSceneParams);
|
|
46
|
+
init(): void;
|
|
47
|
+
onremove(): void;
|
|
48
|
+
_activate(): void;
|
|
49
|
+
protected _deactivate(): void;
|
|
50
|
+
protected _onLUp: () => void;
|
|
51
|
+
setVisibility(visibility: boolean): void;
|
|
52
|
+
protected _onLclick: (e: IMouseState) => void;
|
|
53
|
+
protected _onMouseMove: (e: IMouseState) => void;
|
|
54
|
+
clear(): void;
|
|
55
|
+
frame(): void;
|
|
56
|
+
get ellipsoid(): Ellipsoid | null;
|
|
57
|
+
}
|
|
58
|
+
export { GeoObjectEditorScene };
|
|
@@ -98,7 +98,7 @@ declare class Ellipsoid {
|
|
|
98
98
|
*/
|
|
99
99
|
lonLatToCartesianRes(lonlat: LonLat, res: Vec3): Vec3;
|
|
100
100
|
/**
|
|
101
|
-
* Gets cartesian ECEF from
|
|
101
|
+
* Gets cartesian ECEF 3d coordinates from geodetic coordinates.
|
|
102
102
|
* @public
|
|
103
103
|
* @param {Number} lon - Longitude.
|
|
104
104
|
* @param {Number} lat - Latitude.
|
|
@@ -189,5 +189,6 @@ declare class Ellipsoid {
|
|
|
189
189
|
*/
|
|
190
190
|
static getIntermediatePointOnGreatCircle(lonLat1: LonLat, lonLat2: LonLat, fraction: number): LonLat;
|
|
191
191
|
static getRhumbBearing(lonLat1: LonLat, lonLat2: LonLat): number;
|
|
192
|
+
getLonLatVisibilitySimple(eye: Vec3, lonLat: LonLat, forward?: Vec3): boolean;
|
|
192
193
|
}
|
|
193
194
|
export { Ellipsoid };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
export * from './Ellipsoid';
|
|
2
|
+
export * from './wgs84';
|
|
3
|
+
export * from './mars';
|
|
4
|
+
export * from './moon';
|
|
@@ -10,7 +10,7 @@ import { NumberArray2 } from "../math/Vec2";
|
|
|
10
10
|
import { IPointCloudParams, PointCloud } from "./PointCloud";
|
|
11
11
|
import { IPolylineParams, Polyline } from "./Polyline";
|
|
12
12
|
import { IRayParams, Ray } from "./Ray";
|
|
13
|
-
import { Strip } from "./Strip";
|
|
13
|
+
import { Strip, IStripParams } from "./Strip";
|
|
14
14
|
import { Vector, VectorEventsType } from "../layer/Vector";
|
|
15
15
|
import { EntityCollectionNode } from "../quadTree/EntityCollectionNode";
|
|
16
16
|
export interface IEntityParams {
|
|
@@ -27,7 +27,8 @@ export interface IEntityParams {
|
|
|
27
27
|
pointCloud?: PointCloud | IPointCloudParams;
|
|
28
28
|
geometry?: Geometry | IGeometryParams;
|
|
29
29
|
geoObject?: GeoObject | IGeoObjectParams;
|
|
30
|
-
strip?: Strip;
|
|
30
|
+
strip?: Strip | IStripParams;
|
|
31
|
+
independentPicking?: boolean;
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
34
|
* Entity instances aggregate multiple forms of visualization into a single high-level object.
|
|
@@ -134,6 +135,7 @@ declare class Entity {
|
|
|
134
135
|
* @type {Vec3}
|
|
135
136
|
*/
|
|
136
137
|
_pickingColor: Vec3;
|
|
138
|
+
_independentPicking: boolean;
|
|
137
139
|
protected _featureConstructorArray: Record<string, [any, Function]>;
|
|
138
140
|
/**
|
|
139
141
|
* Billboard entity.
|
|
@@ -19,7 +19,7 @@ interface IEntityCollectionParams {
|
|
|
19
19
|
labelMaxLetters?: number;
|
|
20
20
|
pickingEnabled?: boolean;
|
|
21
21
|
scaleByDistance?: NumberArray3;
|
|
22
|
-
pickingScale?: number;
|
|
22
|
+
pickingScale?: number | NumberArray3;
|
|
23
23
|
opacity?: number;
|
|
24
24
|
useLighting?: boolean;
|
|
25
25
|
entities?: Entity[];
|
|
@@ -160,7 +160,7 @@ declare class EntityCollection {
|
|
|
160
160
|
* @type {Array.<number>} - (exactly 3 entries)
|
|
161
161
|
*/
|
|
162
162
|
scaleByDistance: NumberArray3;
|
|
163
|
-
pickingScale:
|
|
163
|
+
pickingScale: Float32Array;
|
|
164
164
|
/**
|
|
165
165
|
* Global opacity.
|
|
166
166
|
* @protected
|
|
@@ -187,6 +187,7 @@ declare class EntityCollection {
|
|
|
187
187
|
_quadNode?: EntityCollectionNode;
|
|
188
188
|
_useLighting: number;
|
|
189
189
|
constructor(options?: IEntityCollectionParams);
|
|
190
|
+
isEmpty(): boolean;
|
|
190
191
|
get id(): number;
|
|
191
192
|
get useLighting(): boolean;
|
|
192
193
|
set useLighting(f: boolean);
|
|
@@ -13,7 +13,8 @@ export interface IGeoObjectParams {
|
|
|
13
13
|
pitch?: number;
|
|
14
14
|
yaw?: number;
|
|
15
15
|
roll?: number;
|
|
16
|
-
scale?: number | Vec3;
|
|
16
|
+
scale?: number | Vec3 | NumberArray3;
|
|
17
|
+
translate?: Vec3 | NumberArray3;
|
|
17
18
|
color?: Vec4 | NumberArray4 | string;
|
|
18
19
|
visibility?: boolean;
|
|
19
20
|
}
|
|
@@ -49,6 +50,7 @@ declare class GeoObject {
|
|
|
49
50
|
protected _yawRad: number;
|
|
50
51
|
protected _rollRad: number;
|
|
51
52
|
protected _scale: Vec3;
|
|
53
|
+
protected _translate: Vec3;
|
|
52
54
|
/**
|
|
53
55
|
* RGBA color.
|
|
54
56
|
* @public
|
|
@@ -66,6 +68,7 @@ declare class GeoObject {
|
|
|
66
68
|
protected _qNorthFrame: Quat;
|
|
67
69
|
private _textureSrc?;
|
|
68
70
|
_objectSrc?: string;
|
|
71
|
+
protected _children: GeoObject[];
|
|
69
72
|
constructor(options: IGeoObjectParams);
|
|
70
73
|
get tag(): string;
|
|
71
74
|
getPosition(): Vec3;
|
|
@@ -139,6 +142,8 @@ declare class GeoObject {
|
|
|
139
142
|
setScale(scale: number): void;
|
|
140
143
|
setScale3v(scale: Vec3): void;
|
|
141
144
|
getScale(): Vec3;
|
|
145
|
+
setTranslate3v(translate: Vec3): void;
|
|
146
|
+
getTranslate(): Vec3;
|
|
142
147
|
/**
|
|
143
148
|
* Removes geo object from handler.
|
|
144
149
|
* @public
|
|
@@ -16,6 +16,7 @@ declare class InstanceData {
|
|
|
16
16
|
_textureSrc: string | null;
|
|
17
17
|
_objectSrc?: string;
|
|
18
18
|
_sizeArr: number[] | TypedArray;
|
|
19
|
+
_translateArr: number[] | TypedArray;
|
|
19
20
|
_vertexArr: number[] | TypedArray;
|
|
20
21
|
_positionHighArr: number[] | TypedArray;
|
|
21
22
|
_positionLowArr: number[] | TypedArray;
|
|
@@ -27,6 +28,7 @@ declare class InstanceData {
|
|
|
27
28
|
_visibleArr: number[] | TypedArray;
|
|
28
29
|
_texCoordArr: number[] | TypedArray;
|
|
29
30
|
_sizeBuffer: WebGLBufferExt | null;
|
|
31
|
+
_translateBuffer: WebGLBufferExt | null;
|
|
30
32
|
_vertexBuffer: WebGLBufferExt | null;
|
|
31
33
|
_positionHighBuffer: WebGLBufferExt | null;
|
|
32
34
|
_positionLowBuffer: WebGLBufferExt | null;
|
|
@@ -46,6 +48,7 @@ declare class InstanceData {
|
|
|
46
48
|
createVertexBuffer(): void;
|
|
47
49
|
createVisibleBuffer(): void;
|
|
48
50
|
createSizeBuffer(): void;
|
|
51
|
+
createTranslateBuffer(): void;
|
|
49
52
|
createTexCoordBuffer(): void;
|
|
50
53
|
createPositionBuffer(): void;
|
|
51
54
|
createRgbaBuffer(): void;
|
|
@@ -88,6 +91,7 @@ declare class GeoObjectHandler {
|
|
|
88
91
|
setRgbaArr(tagData: InstanceData, tagDataIndex: number, rgba: Vec4): void;
|
|
89
92
|
setPickingColorArr(tagData: InstanceData, tagDataIndex: number, color: Vec3): void;
|
|
90
93
|
setScaleArr(tagData: InstanceData, tagDataIndex: number, scale: Vec3): void;
|
|
94
|
+
setTranslateArr(tagData: InstanceData, tagDataIndex: number, translate: Vec3): void;
|
|
91
95
|
protected _updateTag(dataTag: InstanceData): void;
|
|
92
96
|
update(): void;
|
|
93
97
|
_removeAll(): void;
|
|
@@ -11,6 +11,7 @@ export interface ILabelParams extends IBaseBillboardParams {
|
|
|
11
11
|
outlineColor?: string | NumberArray4 | Vec4;
|
|
12
12
|
align?: string;
|
|
13
13
|
isRTL?: boolean;
|
|
14
|
+
letterSpacing?: number;
|
|
14
15
|
}
|
|
15
16
|
declare const ALIGN: Record<string, number>;
|
|
16
17
|
/**
|
|
@@ -84,6 +85,7 @@ declare class Label extends BaseBillboard {
|
|
|
84
85
|
*/
|
|
85
86
|
protected _fontAtlas: FontAtlas | null;
|
|
86
87
|
protected _isRTL: boolean;
|
|
88
|
+
protected _letterSpacing: number;
|
|
87
89
|
constructor(options?: ILabelParams);
|
|
88
90
|
/**
|
|
89
91
|
* Set label text.
|
|
@@ -92,6 +94,18 @@ declare class Label extends BaseBillboard {
|
|
|
92
94
|
* It can't be bigger than maximum labelHandler _maxLetters value.
|
|
93
95
|
*/
|
|
94
96
|
setText(text: string): void;
|
|
97
|
+
/**
|
|
98
|
+
* Set text letter spacing.
|
|
99
|
+
* @public
|
|
100
|
+
* @param {number} spacing - Letter spacing.
|
|
101
|
+
*/
|
|
102
|
+
setLetterSpacing(letterSpacing: number): void;
|
|
103
|
+
/**
|
|
104
|
+
* Returns label text letter spacing.
|
|
105
|
+
* @public
|
|
106
|
+
* @param {number} spacing - Letter spacing.
|
|
107
|
+
*/
|
|
108
|
+
getLetterSpacing(): number;
|
|
95
109
|
/**
|
|
96
110
|
* Change text direction.
|
|
97
111
|
* @public
|
|
@@ -43,7 +43,7 @@ declare class LabelHandler extends BaseBillboardHandler {
|
|
|
43
43
|
_displayPASS(): void;
|
|
44
44
|
protected _pickingPASS(): void;
|
|
45
45
|
protected _removeBillboard(label: Label): void;
|
|
46
|
-
setText(index: number, text: string, fontIndex: number, align: number, isRTL?: boolean): void;
|
|
46
|
+
setText(index: number, text: string, fontIndex: number, align: number, letterSpacing?: number, isRTL?: boolean): void;
|
|
47
47
|
setPositionArr(index: number, positionHigh: Vec3, positionLow: Vec3): void;
|
|
48
48
|
setPickingColorArr(index: number, color: Vec3): void;
|
|
49
49
|
setSizeArr(index: number, size: number): void;
|
|
@@ -11,7 +11,7 @@ import * as webgl from './webgl/index';
|
|
|
11
11
|
export * from './Globe';
|
|
12
12
|
import { Geoid } from './terrain/Geoid';
|
|
13
13
|
import { input } from './input/input';
|
|
14
|
-
import { Ellipsoid, wgs84 } from './ellipsoid/index';
|
|
14
|
+
import { Ellipsoid, wgs84, moon, mars } from './ellipsoid/index';
|
|
15
15
|
import { Camera, PlanetCamera } from './camera/index';
|
|
16
16
|
import { Line2, Line3, Mat3, Mat4, Plane, Quat, Ray, Vec2, Vec3, Vec4 } from './math/index';
|
|
17
17
|
import { Renderer } from './renderer/Renderer';
|
|
@@ -23,11 +23,11 @@ import { LonLat } from './LonLat';
|
|
|
23
23
|
import { RenderNode } from './scene/RenderNode';
|
|
24
24
|
import { Planet } from './scene/Planet';
|
|
25
25
|
import { Popup } from './Popup';
|
|
26
|
-
import { EarthQuadTreeStrategy,
|
|
26
|
+
import { EarthQuadTreeStrategy, EquiQuadTreeStrategy, QuadTreeStrategy, quadTreeStrategyType, Wgs84QuadTreeStrategy } from './quadTree/index';
|
|
27
27
|
import { Object3d } from './Object3d';
|
|
28
28
|
import { Handler, Program, Framebuffer, Multisample } from './webgl/index';
|
|
29
29
|
import { Control } from './control/Control';
|
|
30
30
|
export * from './entity/index';
|
|
31
31
|
export * from './layer/index';
|
|
32
32
|
import { EmptyTerrain, GlobusTerrain, RgbTerrain, BilTerrain, GlobusRgbTerrain } from './terrain/index';
|
|
33
|
-
export { bv, jd, math, mercator, utils, input, control, scene, quadTreeStrategyType, wgs84, terrain, layer, webgl, Framebuffer, EmptyTerrain, GlobusTerrain, RgbTerrain, GlobusRgbTerrain, BilTerrain, Control, Camera, Ellipsoid, Planet, PlanetCamera, LightSource, Program, Handler, Multisample, Renderer, Clock, Events, Extent, LonLat, RenderNode, Line2, Line3, Mat3, Mat4, Plane, Quat, Ray, Vec2, Vec3, Vec4, Geoid, Popup, QuadTreeStrategy,
|
|
33
|
+
export { bv, jd, math, mercator, utils, input, control, scene, quadTreeStrategyType, wgs84, moon, mars, terrain, layer, webgl, Framebuffer, EmptyTerrain, GlobusTerrain, RgbTerrain, GlobusRgbTerrain, BilTerrain, Control, Camera, Ellipsoid, Planet, PlanetCamera, LightSource, Program, Handler, Multisample, Renderer, Clock, Events, Extent, LonLat, RenderNode, Line2, Line3, Mat3, Mat4, Plane, Quat, Ray, Vec2, Vec3, Vec4, Geoid, Popup, QuadTreeStrategy, EquiQuadTreeStrategy, EarthQuadTreeStrategy, Wgs84QuadTreeStrategy, Object3d };
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { Entity, IEntityParams } from "../entity/Entity";
|
|
2
2
|
import { EntityCollection } from "../entity/EntityCollection";
|
|
3
|
-
import {
|
|
3
|
+
import { EntityCollectionsTreeStrategy } from "../quadTree/EntityCollectionsTreeStrategy";
|
|
4
4
|
import { EventsHandler } from "../Events";
|
|
5
5
|
import { GeometryHandler } from "../entity/GeometryHandler";
|
|
6
6
|
import { ILayerParams, Layer, LayerEventsList } from "./Layer";
|
|
7
7
|
import { NumberArray3 } from "../math/Vec3";
|
|
8
8
|
import { Planet } from "../scene/Planet";
|
|
9
|
-
import { QueueArray } from "../QueueArray";
|
|
10
9
|
import { Material } from "./Material";
|
|
11
10
|
import { NumberArray4 } from "../math/Vec4";
|
|
12
11
|
export interface IVectorParams extends ILayerParams {
|
|
@@ -16,7 +15,7 @@ export interface IVectorParams extends ILayerParams {
|
|
|
16
15
|
relativeToGround?: boolean;
|
|
17
16
|
clampToGround?: boolean;
|
|
18
17
|
async?: boolean;
|
|
19
|
-
pickingScale?: number;
|
|
18
|
+
pickingScale?: number | NumberArray3;
|
|
20
19
|
scaleByDistance?: NumberArray3;
|
|
21
20
|
labelMaxLetters?: number;
|
|
22
21
|
useLighting?: boolean;
|
|
@@ -75,13 +74,18 @@ declare class Vector extends Layer {
|
|
|
75
74
|
* @type {NumberArray3} - (exactly 3 entries)
|
|
76
75
|
*/
|
|
77
76
|
scaleByDistance: NumberArray3;
|
|
78
|
-
pickingScale:
|
|
77
|
+
pickingScale: Float32Array;
|
|
79
78
|
/**
|
|
80
79
|
* Asynchronous data handling before rendering.
|
|
81
80
|
* @public
|
|
82
81
|
* @type {boolean}
|
|
83
82
|
*/
|
|
84
83
|
async: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Maximum entities quantity in the tree node.
|
|
86
|
+
* @public
|
|
87
|
+
*/
|
|
88
|
+
_nodeCapacity: number;
|
|
85
89
|
/**
|
|
86
90
|
* Clamp vector data to the ground.
|
|
87
91
|
* @public
|
|
@@ -94,34 +98,18 @@ declare class Vector extends Layer {
|
|
|
94
98
|
* @type {boolean}
|
|
95
99
|
*/
|
|
96
100
|
relativeToGround: boolean;
|
|
101
|
+
/** todo: combine into one */
|
|
97
102
|
protected _stripEntityCollection: EntityCollection;
|
|
98
103
|
protected _polylineEntityCollection: EntityCollection;
|
|
99
104
|
protected _geoObjectEntityCollection: EntityCollection;
|
|
100
105
|
_geometryHandler: GeometryHandler;
|
|
101
|
-
|
|
102
|
-
* Maximum entities quantity in the tree node.
|
|
103
|
-
* @public
|
|
104
|
-
*/
|
|
105
|
-
_nodeCapacity: number;
|
|
106
|
-
/**
|
|
107
|
-
* @todo: remove, or replace with node strategy
|
|
108
|
-
*/
|
|
109
|
-
protected _entityCollectionsTree: EntityCollectionNode | null;
|
|
110
|
-
protected _entityCollectionsTreeNorth: EntityCollectionNodeWGS84 | null;
|
|
111
|
-
protected _entityCollectionsTreeSouth: EntityCollectionNodeWGS84 | null;
|
|
112
|
-
_renderingNodes: Record<number, boolean>;
|
|
113
|
-
_renderingNodesNorth: Record<number, boolean>;
|
|
114
|
-
_renderingNodesSouth: Record<number, boolean>;
|
|
115
|
-
protected _counter: number;
|
|
116
|
-
protected _deferredEntitiesPendingQueue: QueueArray<EntityCollectionNode>;
|
|
117
|
-
protected _pendingsQueue: Entity[];
|
|
106
|
+
protected _entityCollectionsTreeStrategy: EntityCollectionsTreeStrategy | null;
|
|
118
107
|
/**
|
|
119
108
|
* Specifies the scale Units for gl.polygonOffset function to calculate depth values, 0.0 is default.
|
|
120
109
|
* @public
|
|
121
110
|
* @type {Number}
|
|
122
111
|
*/
|
|
123
112
|
polygonOffsetUnits: number;
|
|
124
|
-
_secondPASS: EntityCollectionNode[];
|
|
125
113
|
protected _labelMaxLetters: number;
|
|
126
114
|
protected _useLighting: boolean;
|
|
127
115
|
constructor(name?: string | null, options?: IVectorParams);
|
|
@@ -198,7 +186,7 @@ declare class Vector extends Layer {
|
|
|
198
186
|
*/
|
|
199
187
|
removeEntities(entities: Entity[]): this;
|
|
200
188
|
/**
|
|
201
|
-
*
|
|
189
|
+
* Clear the layer.
|
|
202
190
|
* @public
|
|
203
191
|
*/
|
|
204
192
|
clear(): void;
|
|
@@ -215,12 +203,9 @@ declare class Vector extends Layer {
|
|
|
215
203
|
* @returns {Vector} - Returns layer instance.
|
|
216
204
|
*/
|
|
217
205
|
setEntities(entities: Entity[]): this;
|
|
218
|
-
/**
|
|
219
|
-
* @todo: replace to a strategy node collecting algorithm
|
|
220
|
-
*/
|
|
221
206
|
protected _createEntityCollectionsTree(entitiesForTree: Entity[]): void;
|
|
222
207
|
/**
|
|
223
|
-
* @todo (refactoring) could be used in
|
|
208
|
+
* @todo (refactoring) could be used in something like bindEntityCollectionQuad(...)
|
|
224
209
|
* @param entityCollection
|
|
225
210
|
*/
|
|
226
211
|
_bindEventsDefault(entityCollection: EntityCollection): void;
|
|
@@ -228,8 +213,6 @@ declare class Vector extends Layer {
|
|
|
228
213
|
protected _collectPolylineCollectionPASS(outArr: EntityCollection[]): void;
|
|
229
214
|
protected _collectGeoObjectCollectionPASS(outArr: EntityCollection[]): void;
|
|
230
215
|
collectVisibleCollections(outArr: EntityCollection[]): void;
|
|
231
|
-
_queueDeferredNode(node: EntityCollectionNode): void;
|
|
232
|
-
protected _execDeferredNode(node: EntityCollectionNode): void;
|
|
233
216
|
/**
|
|
234
217
|
* Start to load tile material.
|
|
235
218
|
* @public
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Planet } from "
|
|
2
|
-
import { QuadTreeStrategy } from "
|
|
1
|
+
import { Planet } from "../../scene/Planet";
|
|
2
|
+
import { QuadTreeStrategy } from "../QuadTreeStrategy";
|
|
3
3
|
export declare class EPSG4326QuadTreeStrategy extends QuadTreeStrategy {
|
|
4
4
|
constructor(planet: Planet);
|
|
5
5
|
init(): void;
|
|
@@ -7,12 +7,14 @@ import { Sphere } from '../bv/Sphere';
|
|
|
7
7
|
import { Segment } from "../segment/Segment";
|
|
8
8
|
import { Vector } from "../layer/Vector";
|
|
9
9
|
import { Entity } from "../entity/Entity";
|
|
10
|
-
|
|
10
|
+
import { EntityCollectionsTreeStrategy } from "./EntityCollectionsTreeStrategy";
|
|
11
|
+
export type NodesDict = Record<number, Node>;
|
|
11
12
|
/**
|
|
12
13
|
* @todo: remove planet parameter. It's already available in the layer.
|
|
13
14
|
*/
|
|
14
15
|
declare class EntityCollectionNode {
|
|
15
16
|
layer: Vector;
|
|
17
|
+
strategy: EntityCollectionsTreeStrategy;
|
|
16
18
|
parentNode: EntityCollectionNode | null;
|
|
17
19
|
childrenNodes: EntityCollectionNode[];
|
|
18
20
|
partId: number;
|
|
@@ -25,7 +27,7 @@ declare class EntityCollectionNode {
|
|
|
25
27
|
zoom: number;
|
|
26
28
|
bsphere: Sphere;
|
|
27
29
|
_inTheQueue: boolean;
|
|
28
|
-
constructor(
|
|
30
|
+
constructor(strategy: EntityCollectionsTreeStrategy, partId: number, parent: EntityCollectionNode | null, extent: Extent, planet: Planet, zoom: number);
|
|
29
31
|
insertEntity(entity: Entity, rightNow?: boolean): void;
|
|
30
32
|
protected _addEntitiesToCollection(entities: Entity[], rightNow?: boolean): void;
|
|
31
33
|
protected _setExtentBounds(): void;
|
|
@@ -41,14 +43,4 @@ declare class EntityCollectionNode {
|
|
|
41
43
|
alignEntityToTheGround(entity: Entity, segment: Segment): void;
|
|
42
44
|
isVisible(): boolean;
|
|
43
45
|
}
|
|
44
|
-
|
|
45
|
-
isNorth: boolean;
|
|
46
|
-
constructor(layer: Vector, partId: number, parent: EntityCollectionNodeWGS84 | null, extent: Extent, planet: Planet, zoom: number);
|
|
47
|
-
createChildrenNodes(): void;
|
|
48
|
-
protected _setExtentBounds(): void;
|
|
49
|
-
__setLonLat__(entity: Entity): LonLat;
|
|
50
|
-
isVisible(): boolean;
|
|
51
|
-
isInside(entity: Entity): boolean;
|
|
52
|
-
renderCollection(outArr: EntityCollection[], visibleNodes: NodesDict, renderingNode: number): void;
|
|
53
|
-
}
|
|
54
|
-
export { EntityCollectionNode, EntityCollectionNodeWGS84 };
|
|
46
|
+
export { EntityCollectionNode };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Vector } from "../layer/Vector";
|
|
2
|
+
import { EntityCollectionNode } from "./EntityCollectionNode";
|
|
3
|
+
import { Entity } from "../entity/Entity";
|
|
4
|
+
import { EntityCollection } from "../entity/EntityCollection";
|
|
5
|
+
import { QueueArray } from "../QueueArray";
|
|
6
|
+
export declare class EntityCollectionsTreeStrategy {
|
|
7
|
+
_layer: Vector;
|
|
8
|
+
/**
|
|
9
|
+
* Maximum entities quantity in the tree node.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
_nodeCapacity: number;
|
|
13
|
+
_secondPASS: EntityCollectionNode[];
|
|
14
|
+
protected _counter: number;
|
|
15
|
+
protected _deferredEntitiesPendingQueue: QueueArray<EntityCollectionNode>;
|
|
16
|
+
_renderingNodes: Record<number, boolean>;
|
|
17
|
+
constructor(layer: Vector, nodeCapacity: number);
|
|
18
|
+
insertEntity(entity: Entity, rightNow?: boolean): void;
|
|
19
|
+
setPickingEnabled(pickingEnabled: boolean): void;
|
|
20
|
+
dispose(): void;
|
|
21
|
+
insertEntities(entitiesForTree: Entity[]): void;
|
|
22
|
+
collectVisibleEntityCollections(outArr: EntityCollection[]): void;
|
|
23
|
+
_queueDeferredNode(node: EntityCollectionNode): void;
|
|
24
|
+
protected _execDeferredNode(node: EntityCollectionNode): void;
|
|
25
|
+
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Layer } from "../layer/Layer";
|
|
2
|
+
import { Vector } from "../layer/Vector";
|
|
2
3
|
import { Node } from "../quadTree/Node";
|
|
3
4
|
import { Planet } from "../scene/Planet";
|
|
4
5
|
import { Proj } from "../proj/Proj";
|
|
5
6
|
import { LonLat } from "../LonLat";
|
|
7
|
+
import { EntityCollectionsTreeStrategy } from "./EntityCollectionsTreeStrategy";
|
|
6
8
|
export declare class QuadTreeStrategy {
|
|
7
9
|
name: string;
|
|
8
10
|
projection: Proj;
|
|
@@ -13,16 +15,25 @@ export declare class QuadTreeStrategy {
|
|
|
13
15
|
* @type {Node[]}
|
|
14
16
|
*/
|
|
15
17
|
protected _quadTreeList: Node[];
|
|
18
|
+
/**
|
|
19
|
+
* Current visible mercator segments tree nodes array.
|
|
20
|
+
* @public
|
|
21
|
+
* @type {Node}
|
|
22
|
+
*/
|
|
23
|
+
_visibleNodes: Record<number, Node>;
|
|
16
24
|
constructor(planet: Planet, name?: string, proj?: Proj);
|
|
25
|
+
createEntitiCollectionsTreeStrategy(layer: Vector, nodeCapacity: number): EntityCollectionsTreeStrategy;
|
|
17
26
|
destroyBranches(): void;
|
|
18
27
|
clearLayerMaterial(layer: Layer): void;
|
|
19
28
|
get planet(): Planet;
|
|
20
29
|
init(): void;
|
|
21
30
|
preRender(): void;
|
|
22
31
|
preLoad(): void;
|
|
32
|
+
protected _clearVisibleNodes(): void;
|
|
23
33
|
collectRenderNodes(): void;
|
|
24
34
|
clear(): void;
|
|
25
35
|
get quadTreeList(): Node[];
|
|
26
36
|
getTileXY(lonLat: LonLat, zoom: number): [number, number, number, number];
|
|
27
37
|
getLonLatTileOffset(lonLat: LonLat, x: number, y: number, z: number, gridSize: number): [number, number];
|
|
38
|
+
collectVisibleNode(node: Node): void;
|
|
28
39
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EarthEntityCollectionsTreeStrategy } from "./EarthEntityCollectionsTreeStrategy";
|
|
2
|
+
import { Extent } from "../../Extent";
|
|
3
|
+
import { Planet } from "../../scene/Planet";
|
|
4
|
+
import { LonLat } from "../../LonLat";
|
|
5
|
+
import { Entity } from "../../entity/Entity";
|
|
6
|
+
import { EntityCollection } from "../../entity/EntityCollection";
|
|
7
|
+
import { EntityCollectionNode, NodesDict } from "../EntityCollectionNode";
|
|
8
|
+
export declare class EarthEntityCollectionNodeLonLat extends EntityCollectionNode {
|
|
9
|
+
isNorth: boolean;
|
|
10
|
+
strategy: EarthEntityCollectionsTreeStrategy;
|
|
11
|
+
constructor(strategy: EarthEntityCollectionsTreeStrategy, partId: number, parent: EarthEntityCollectionNodeLonLat | null, extent: Extent, planet: Planet, zoom: number);
|
|
12
|
+
createChildrenNodes(): void;
|
|
13
|
+
protected _setExtentBounds(): void;
|
|
14
|
+
__setLonLat__(entity: Entity): LonLat;
|
|
15
|
+
isVisible(): boolean;
|
|
16
|
+
isInside(entity: Entity): boolean;
|
|
17
|
+
renderCollection(outArr: EntityCollection[], visibleNodes: NodesDict, renderingNode: number): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EntityCollectionNode } from "../EntityCollectionNode";
|
|
2
|
+
import { EarthEntityCollectionNodeLonLat } from "./EarthEntityCollectionNodeLonLat";
|
|
3
|
+
import { Vector } from "../../layer/Vector";
|
|
4
|
+
import { Entity } from "../../entity/Entity";
|
|
5
|
+
import { EntityCollection } from "../../entity/EntityCollection";
|
|
6
|
+
import { EntityCollectionsTreeStrategy } from "../EntityCollectionsTreeStrategy";
|
|
7
|
+
export declare class EarthEntityCollectionsTreeStrategy extends EntityCollectionsTreeStrategy {
|
|
8
|
+
protected _entityCollectionsTree: EntityCollectionNode;
|
|
9
|
+
protected _entityCollectionsTreeNorth: EarthEntityCollectionNodeLonLat;
|
|
10
|
+
protected _entityCollectionsTreeSouth: EarthEntityCollectionNodeLonLat;
|
|
11
|
+
_renderingNodesNorth: Record<number, boolean>;
|
|
12
|
+
_renderingNodesSouth: Record<number, boolean>;
|
|
13
|
+
constructor(layer: Vector, nodeCapacity: number);
|
|
14
|
+
insertEntity(entity: Entity, rightNow?: boolean): void;
|
|
15
|
+
setPickingEnabled(pickingEnabled: boolean): void;
|
|
16
|
+
dispose(): void;
|
|
17
|
+
insertEntities(entitiesForTree: Entity[]): void;
|
|
18
|
+
collectVisibleEntityCollections(outArr: EntityCollection[]): void;
|
|
19
|
+
}
|