@openglobus/og 1.0.0-rc32 → 1.0.0-rc33

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.
@@ -7,6 +7,7 @@ import { Vec4, type NumberArray4 } from "../../math/Vec4";
7
7
  import { QuadTreeStrategy } from "../../quadTree";
8
8
  import type { Renderer } from "../../renderer/Renderer";
9
9
  import type { Planet } from "../../scene/Planet";
10
+ import type { EmptyTerrain } from "../../terrain/EmptyTerrain";
10
11
  import { Framebuffer } from "../../webgl";
11
12
  import { Vector } from "../../layer/Vector";
12
13
  import type { ShadowMap } from "../../renderer/shadows/ShadowMap";
@@ -65,6 +66,7 @@ export declare class DepthCamera {
65
66
  protected _isOrthographic: boolean;
66
67
  protected _focusDistance: number;
67
68
  protected _lastPlanetHeightFactor: number;
69
+ protected _lastPlanetTerrain: EmptyTerrain | null;
68
70
  protected _orthoTexelSizeX: number;
69
71
  protected _orthoTexelSizeY: number;
70
72
  protected _frustumLength: number;
@@ -252,6 +252,19 @@ declare class EntityCollection {
252
252
  * @public
253
253
  */
254
254
  requestRedraw(): void;
255
+ /**
256
+ * Sets the current time of polylines and strips with path times.
257
+ * @public
258
+ * @param {number} time - Time in the same units as the path times.
259
+ */
260
+ setTime(time: number): void;
261
+ /**
262
+ * Sets opacity multipliers of the path parts passed and ahead of the current time.
263
+ * @public
264
+ * @param {number} past - Multiplier up to the current time.
265
+ * @param {number} future - Multiplier after the current time.
266
+ */
267
+ setTimeOpacity(past: number, future: number): void;
255
268
  /**
256
269
  * Returns collection visibility.
257
270
  * @public
@@ -0,0 +1,2 @@
1
+ export declare const PATH_TIME_SPLIT = 1048576;
2
+ export declare function splitPathTime(time: number): [number, number];
@@ -30,6 +30,7 @@ export interface IPolylineParams {
30
30
  visibility?: boolean;
31
31
  isClosed?: boolean;
32
32
  pathColors?: SegmentPathColor[];
33
+ pathTimes?: number[][];
33
34
  path3v?: SegmentPath3vExt[];
34
35
  pathLonLat?: SegmentPathLonLatExt[];
35
36
  src?: StrokeSource;
@@ -48,6 +49,8 @@ export interface IPolylineParams {
48
49
  * @param {SegmentPathLonLatExt[]} [options.pathLonLat] - Polyline geodetic coordinates array. [[[0,0,0], [1,1,1],...]]
49
50
  * @param {SegmentPath3vExt[]} [options.path3v] - LinesString cartesian coordinates array. [[[0,0,0], [1,1,1],...]]
50
51
  * @param {SegmentPathColor[]} [options.pathColors] - Coordinates color. [[[1,0,0,1], [0,1,0,1],...]] for right and green colors.
52
+ * @param {number[][]} [options.pathTimes] - Time of every point, per segment. Makes the line follow the
53
+ * entity collection time, see {@link EntityCollection#setTime} and {@link EntityCollection#setTimeOpacity}.
51
54
  * @param {TexParam} [options.texParams] - Texture params for all segments: texOffset, strokeSize and texOffsetSpeed.
52
55
  */
53
56
  declare class Polyline {
@@ -62,6 +65,7 @@ declare class Polyline {
62
65
  _path3v: SegmentPath3vExt[];
63
66
  protected _pathLonLat: SegmentPathLonLatExt[];
64
67
  protected _pathColors: SegmentPathColor[];
68
+ protected _pathTimes: number[][] | null;
65
69
  protected _color: string[];
66
70
  protected _segmentTexParams: Partial<TexParam> | null;
67
71
  protected _src: StrokeSource;
@@ -79,6 +83,10 @@ declare class Polyline {
79
83
  get altitude(): number;
80
84
  _addToBatchRenderer(): void;
81
85
  _removeFromBatchRenderer(): void;
86
+ protected _batchIndex(segmentIndex: number): number;
87
+ protected _forEachBatchPath(callback: (batchIndex: number, segmentIndex: number) => void): void;
88
+ protected _removeBatchPath(segmentIndex: number): void;
89
+ protected _hasSameBatchPaths(paths: SegmentPath3vExt[] | SegmentPathLonLatExt[]): boolean;
82
90
  protected _getDefaultHtmlColor(segmentIndex?: number): string | undefined;
83
91
  protected _getDefaultPathColor(segmentIndex?: number): NumberArray4 | undefined;
84
92
  protected _applySegmentProps(batchIndex: number, segmentIndex?: number): void;
@@ -125,24 +133,27 @@ declare class Polyline {
125
133
  * @param {number} [index=0] - Index in the path
126
134
  * @param {NumberArray4} [color] - Point color
127
135
  * @param {number} [segmentIndex=0] - Path segment index
136
+ * @param {number} [time] - Point time
128
137
  */
129
- insertPoint3v(point3v: Vec3, index?: number, color?: NumberArray4, segmentIndex?: number): void;
138
+ insertPoint3v(point3v: Vec3, index?: number, color?: NumberArray4, segmentIndex?: number, time?: number): void;
130
139
  /**
131
140
  * Append new point in the end of the path.
132
141
  * @public
133
142
  * @param {Vec3} point3v - New point coordinates.
134
143
  * @param {number} [segmentIndex=0] - Path segment index, first by default.
135
144
  * @param {NumberArray4} [color] - Point color
145
+ * @param {number} [time] - Point time
136
146
  */
137
- addPoint3v(point3v: Vec3, segmentIndex?: number, color?: NumberArray4): void;
147
+ addPoint3v(point3v: Vec3, segmentIndex?: number, color?: NumberArray4, time?: number): void;
138
148
  /**
139
149
  * Append new geodetic point in the end of the path.
140
150
  * @public
141
151
  * @param {LonLat} lonLat - New coordinate.
142
152
  * @param {number} [segmentIndex=0] - Path segment index, first by default.
143
153
  * @param {NumberArray4} [color] - Point color.
154
+ * @param {number} [time] - Point time.
144
155
  */
145
- addPointLonLat(lonLat: LonLat, segmentIndex?: number, color?: NumberArray4): void;
156
+ addPointLonLat(lonLat: LonLat, segmentIndex?: number, color?: NumberArray4, time?: number): void;
146
157
  /**
147
158
  * Change path point color
148
159
  * @param {NumberArray4} color - New color
@@ -155,8 +166,8 @@ declare class Polyline {
155
166
  * @param {number} index - Segment index in multiline
156
167
  */
157
168
  removePath(index: number): void;
158
- appendPath3v(path3v: SegmentPath3vExt, pathColors?: NumberArray4[]): void;
159
- appendPathLonLat(pathLonLat: SegmentPathLonLatExt): void;
169
+ appendPath3v(path3v: SegmentPath3vExt, pathColors?: NumberArray4[], pathTimes?: number[]): void;
170
+ appendPathLonLat(pathLonLat: SegmentPathLonLatExt, pathColors?: NumberArray4[], pathTimes?: number[]): void;
160
171
  setPathLonLatFast(pathLonLat: SegmentPathLonLatExt[], pathColors?: (SegmentPathColor | NumberArray4)[] | SegmentPathColor | NumberArray4): void;
161
172
  setPath3vFast(path3v: SegmentPath3vExt[], pathColors?: (SegmentPathColor | NumberArray4)[] | SegmentPathColor | NumberArray4): void;
162
173
  /**
@@ -177,6 +188,22 @@ declare class Polyline {
177
188
  */
178
189
  setPathLonLat(pathLonLat: SegmentPathLonLatExt[], pathColors?: (SegmentPathColor | NumberArray4)[], forceEqual?: boolean): void;
179
190
  setPathLonLat(pathLonLat: SegmentPathLonLatExt, pathColors?: SegmentPathColor | NumberArray4, forceEqual?: boolean, segmentIndex?: number): void;
191
+ protected _pushPointTime(segmentIndex: number, index: number, time?: number): void;
192
+ /**
193
+ * Returns true when the polyline has point times and follows the entity collection time.
194
+ * @public
195
+ * @returns {boolean}
196
+ */
197
+ isTimed(): boolean;
198
+ getPathTimes(): number[][] | null;
199
+ /**
200
+ * Sets point times. Null removes them and the line stops following the entity collection time.
201
+ * @public
202
+ * @param {number[][] | number[] | null} times - Times per segment, or times of one segment.
203
+ * @param {number} [segmentIndex] - Segment index when times of one segment are given.
204
+ */
205
+ setPathTimes(pathTimes: number[][] | null): void;
206
+ setPathTimes(times: number[], segmentIndex: number): void;
180
207
  /**
181
208
  * Sets polyline opacity.
182
209
  * @public
@@ -29,6 +29,7 @@ export interface IPolylineBatchRendererParams {
29
29
  color?: string[];
30
30
  visibility?: boolean;
31
31
  isTextured?: boolean;
32
+ isTimed?: boolean;
32
33
  isClosed?: boolean[];
33
34
  pathColors?: SegmentPathColor[];
34
35
  path3v?: SegmentPath3vExt[];
@@ -126,6 +127,10 @@ declare class PolylineBatchRenderer {
126
127
  protected _pathPhaseBuffer: WebGLBufferExt | null;
127
128
  protected _boundingSphereBuffer: WebGLBufferExt | null;
128
129
  protected _pickingColorsBuffer: WebGLBufferExt | null;
130
+ isTimed: boolean;
131
+ protected _pathTimes: (number[] | undefined)[];
132
+ protected _timesArr: TypedArray | number[];
133
+ protected _timesBuffer: WebGLBufferExt | null;
129
134
  protected _scene: Scene | null;
130
135
  /**
131
136
  * Entity instance that holds this Polyline.
@@ -203,6 +208,17 @@ declare class PolylineBatchRenderer {
203
208
  protected _updateTextureMetrics(segmentIndex: number): void;
204
209
  protected _updateAllTextureMetrics(): void;
205
210
  protected _updateTextureMetricsAfterPointChange(segmentIndex: number): void;
211
+ protected _pushPointTime(segmentIndex: number, index: number, time?: number): void;
212
+ protected _resolveTimeAt(segmentIndex: number, index: number): number;
213
+ protected _resolveSegmentTimes(segmentIndex: number, count: number): number[];
214
+ /**
215
+ * Sets point times of a path segment, used by the time opacity of timed renderers.
216
+ * @public
217
+ * @param {number[]} times - Time per point, missing values repeat the previous one.
218
+ * @param {number} segmentIndex - Path segment index.
219
+ */
220
+ setPathTimes(times: number[] | undefined, segmentIndex: number): void;
221
+ getPathTimes(): (number[] | undefined)[];
206
222
  protected _markGeometryBuffersChanged(includeTexCoords: boolean): void;
207
223
  protected _applyForceEqualSegmentUpdate<TSegment extends any[]>(segmentPath: TSegment, segmentIndex: number, pathColors: SegmentPathColor | NumberArray4 | undefined, currentPaths: TSegment[], equalUpdate: (segmentPath: TSegment, segmentIndex: number, pathColors?: SegmentPathColor | NumberArray4) => void, recreateData: (nextPaths: TSegment[]) => void, includeTexCoords: boolean): boolean;
208
224
  protected __appendLineDataCore(pathInput: SegmentPath3vExt[] | SegmentPathLonLatExt[], pathColors: SegmentPathColor[], pathPickingColors: NumberArray3[][], defaultColor: NumberArray4, opacity: number[], pathClosed: boolean[], outVerticesHigh: number[], outVerticesLow: number[], outOrders: number[], outIndexes: number[], outTexCoords: number[], ellipsoid: Ellipsoid | null, outPath3v: SegmentPath3vExt[], outPathLonLat: SegmentPathLonLatExt[], outPathMerc: LonLat[][], outExtent: Extent, outColors: number[], outThickness: number[], outTexParams: number[], outBoundingSpheres: number[], outPickingColors: number[], sourceType: LineSourceMode, segmentOffset?: number, indexFormat?: IndexFormatMode, skipTexCoords?: boolean, resetExtent?: boolean): void;
@@ -256,8 +272,8 @@ declare class PolylineBatchRenderer {
256
272
  * @param {number} index - Segment index in multiline
257
273
  */
258
274
  removePath(index: number): void;
259
- appendPath3v(path3v: SegmentPath3vExt, pathColors?: NumberArray4[], opacity?: number): void;
260
- appendPathLonLat(pathLonLat: SegmentPathLonLatExt, pathColors?: NumberArray4[], opacity?: number): void;
275
+ appendPath3v(path3v: SegmentPath3vExt, pathColors?: NumberArray4[], opacity?: number, pathTimes?: number[]): void;
276
+ appendPathLonLat(pathLonLat: SegmentPathLonLatExt, pathColors?: NumberArray4[], opacity?: number, pathTimes?: number[]): void;
261
277
  /**
262
278
  * Remove point from the path
263
279
  * @param {number} index - Point index in a path segment
@@ -270,8 +286,9 @@ declare class PolylineBatchRenderer {
270
286
  * @param {number} [index=0] - Index in the path
271
287
  * @param {NumberArray4} [color] - Point color
272
288
  * @param {number} [segmentIndex=0] - Path segment index
289
+ * @param {number} [time] - Point time
273
290
  */
274
- insertPoint3v(point3v: Vec3, index?: number, color?: NumberArray4, segmentIndex?: number): void;
291
+ insertPoint3v(point3v: Vec3, index?: number, color?: NumberArray4, segmentIndex?: number, time?: number): void;
275
292
  /**
276
293
  * Append new point in the end of the path.
277
294
  * @public
@@ -279,17 +296,18 @@ declare class PolylineBatchRenderer {
279
296
  * @param {number} [segmentIndex=0] - Path segment index, first by default.
280
297
  * @param {NumberArray4} [color] - Point color.
281
298
  * @param {number} [opacity=1] - Point opacity.
299
+ * @param {number} [time] - Point time.
282
300
  */
283
- addPoint3v(point3v: Vec3, segmentIndex?: number, color?: NumberArray4, opacity?: number): void;
301
+ addPoint3v(point3v: Vec3, segmentIndex?: number, color?: NumberArray4, opacity?: number, time?: number): void;
284
302
  /**
285
- * Append new geodetic point in the end of the path.
303
+ * Append a new geodetic point at the end of the path.
286
304
  * @public
287
305
  * @param {LonLat} lonLat - New coordinate.
288
306
  * @param {number} [segmentIndex=0] - Path segment index, first by default.
289
307
  * @param {NumberArray4} [color] - Point color.
290
308
  * @param {number} [opacity=1]
291
309
  */
292
- addPointLonLat(lonLat: LonLat, segmentIndex?: number, color?: NumberArray4, opacity?: number): void;
310
+ addPointLonLat(lonLat: LonLat, segmentIndex?: number, color?: NumberArray4, opacity?: number, time?: number): void;
293
311
  /**
294
312
  * Clear polyline data.
295
313
  * @public
@@ -403,6 +421,11 @@ declare class PolylineBatchRenderer {
403
421
  setPathLonLat(pathLonLat: SegmentPathLonLatExt, pathColors?: SegmentPathColor | NumberArray4, forceEqual?: boolean, segmentIndex?: number): void;
404
422
  drawOpaque(): void;
405
423
  drawTransparent(): void;
424
+ protected _bindTime(gl: WebGL2RenderingContext, sha: {
425
+ [id: string]: number;
426
+ }, shu: {
427
+ [id: string]: WebGLUniformLocation;
428
+ }): void;
406
429
  drawPicking(): void;
407
430
  /**
408
431
  * Refresh buffers.
@@ -431,6 +454,7 @@ declare class PolylineBatchRenderer {
431
454
  */
432
455
  protected _createIndexBuffer(): void;
433
456
  protected _createColorsBuffer(): void;
457
+ protected _createTimesBuffer(): void;
434
458
  protected _createPickingColorsBuffer(): void;
435
459
  protected _createThicknessBuffer(): void;
436
460
  protected _createTexParamsBuffer(): void;
@@ -10,6 +10,7 @@ declare class PolylineHandler {
10
10
  _entityCollection: EntityCollection;
11
11
  pickingEnabled: boolean;
12
12
  protected _renderer: Renderer | null;
13
+ protected _scene: Scene | null;
13
14
  _relativeCenter: Vec3;
14
15
  _rtcEyePositionHigh: Float32Array;
15
16
  _rtcEyePositionLow: Float32Array;
@@ -17,7 +18,25 @@ declare class PolylineHandler {
17
18
  _transparentRenderer: PolylineBatchRenderer;
18
19
  _opaqueTexRenderer: PolylineBatchRenderer;
19
20
  _transparentTexRenderer: PolylineBatchRenderer;
21
+ _timedRenderer: PolylineBatchRenderer | null;
22
+ _timedTexRenderer: PolylineBatchRenderer | null;
20
23
  protected _polylines: Polyline[];
24
+ protected _visibleSpherePosition: Vec3 | null;
25
+ protected _visibleSphereRadius: number;
26
+ /**
27
+ * Current time of the lines with path times, in the same units as their times.
28
+ * @public
29
+ * @type {number}
30
+ */
31
+ time: number;
32
+ /**
33
+ * Opacity multipliers of the path parts already passed and still ahead of the current time.
34
+ * @public
35
+ * @type {Float32Array}
36
+ */
37
+ timeOpacity: Float32Array;
38
+ setTime(time: number): void;
39
+ setTimeOpacity(past: number, future: number): void;
21
40
  constructor(entityCollection: EntityCollection);
22
41
  setVisibleSphere(p: Vec3, r: number): void;
23
42
  /**
@@ -26,10 +45,12 @@ declare class PolylineHandler {
26
45
  */
27
46
  requestRedraw(): void;
28
47
  protected _initProgram(): void;
48
+ protected _initTimedPrograms(): void;
49
+ protected _createTimedRenderer(textured: boolean): PolylineBatchRenderer;
29
50
  bindScene(scene: Scene): void;
30
51
  add(polyline: Polyline): void;
31
52
  remove(polyline: Polyline): void;
32
- getRenderer(opacity: number, textured: boolean): PolylineBatchRenderer;
53
+ getRenderer(opacity: number, textured: boolean, timed?: boolean): PolylineBatchRenderer;
33
54
  reindexAfterRemoval(removedBatchIndex: number, renderer: PolylineBatchRenderer): void;
34
55
  reindexPolylineArray(startIndex: number): void;
35
56
  drawForward(): void;
@@ -99,6 +99,13 @@ declare class Ray {
99
99
  * @param {number} z - Z coordinate.
100
100
  */
101
101
  setStartPosition(x: number, y: number, z: number): void;
102
+ protected _splitPosition(position: Vec3, high: Vec3, low: Vec3): void;
103
+ _splitPositions(): void;
104
+ /**
105
+ * Recomputes the start and end positions relative to the handler relative center.
106
+ * @public
107
+ */
108
+ updateRTCPosition(): void;
102
109
  getLength(): number;
103
110
  /**
104
111
  * Sets image template url source.
@@ -19,6 +19,9 @@ declare class RayHandler {
19
19
  protected _renderer: Renderer | null;
20
20
  protected _rays: Ray[];
21
21
  protected _opaqueCounterIndex: number;
22
+ _relativeCenter: Vec3;
23
+ protected _rtcEyePositionHigh: Float32Array;
24
+ protected _rtcEyePositionLow: Float32Array;
22
25
  protected _vertexBuffer: WebGLBufferExt | null;
23
26
  protected _startPositionHighBuffer: WebGLBufferExt | null;
24
27
  protected _startPositionLowBuffer: WebGLBufferExt | null;
@@ -71,6 +74,7 @@ declare class RayHandler {
71
74
  drawPicking(): void;
72
75
  reindexRaysArray(startIndex: number): void;
73
76
  protected _removeRay(ray: Ray): void;
77
+ setRelativeCenter(c: Vec3): void;
74
78
  remove(ray: Ray): void;
75
79
  setStartPositionArr(index: number, positionHigh: Vec3, positionLow: Vec3): void;
76
80
  setEndPositionArr(index: number, positionHigh: Vec3, positionLow: Vec3): void;
@@ -16,12 +16,15 @@ export interface IStripParams {
16
16
  color?: string | NumberArray4 | Vec4;
17
17
  opacity?: number;
18
18
  path?: TStrip[];
19
+ pathTimes?: number[];
19
20
  }
20
21
  /**
21
22
  * Strip object.
22
23
  * @class
23
24
  * @param {*} [options] - Strip options:
24
25
  * @param {boolean} [options.visibility] - Strip visibility.
26
+ * @param {number[]} [options.pathTimes] - Time of every path edge. Makes the strip follow the
27
+ * entity collection time, see {@link EntityCollection#setTime} and {@link EntityCollection#setTimeOpacity}.
25
28
  * @example <caption>Stripe example</caption>
26
29
  * new og.Entity({
27
30
  * strip: {
@@ -62,6 +65,11 @@ declare class Strip {
62
65
  protected _verticesLow: number[];
63
66
  protected _indexes: number[];
64
67
  protected _path: TStrip[];
68
+ protected _times: number[] | null;
69
+ protected _timesArr: Int32Array;
70
+ protected _timesBuffer: WebGLBufferExt | null;
71
+ protected _suspendBuffers: boolean;
72
+ protected _rtcCenter: Vec3;
65
73
  protected _pickingColor: Float32Array;
66
74
  protected _gridSize: number;
67
75
  /**
@@ -103,6 +111,21 @@ declare class Strip {
103
111
  */
104
112
  setOpacity(opacity: number): void;
105
113
  isOpaque(): boolean;
114
+ /**
115
+ * Returns true when the strip has edge times and follows the entity collection time.
116
+ * @public
117
+ * @returns {boolean}
118
+ */
119
+ isTimed(): boolean;
120
+ getPathTimes(): number[] | null;
121
+ /**
122
+ * Sets edge times. Null removes them and the strip stops following the entity collection time.
123
+ * @public
124
+ * @param {number[] | null} times - Time of every path edge, missing values repeat the previous one.
125
+ */
126
+ setPathTimes(times: number[] | null): void;
127
+ protected _resolveTimes(): number[];
128
+ protected _rebuildTimes(): void;
106
129
  /**
107
130
  * Sets strip visibility.
108
131
  * @public
@@ -119,6 +142,13 @@ declare class Strip {
119
142
  * @param {Scene} scene - Assigned render node.
120
143
  */
121
144
  bindScene(scene: Scene): void;
145
+ protected _toTwoFloats(p: Vec3): void;
146
+ /**
147
+ * Rebuilds vertices relative to the handler relative center when it has moved.
148
+ * @public
149
+ * @returns {boolean} True when the strip was rebuilt.
150
+ */
151
+ updateRTCPosition(): boolean;
122
152
  /**
123
153
  * Removes from entity.
124
154
  * @public
@@ -134,12 +164,12 @@ declare class Strip {
134
164
  */
135
165
  _deleteBuffers(): void;
136
166
  protected _createBuffers(): void;
137
- addEdge3v(p2: Vec3, p3: Vec3): void;
138
- setEdge3v(p2: Vec3, p3: Vec3, index: number): void;
167
+ addEdge3v(p2: Vec3, p3: Vec3, time?: number): void;
168
+ setEdge3v(p2: Vec3, p3: Vec3, index: number, time?: number): void;
139
169
  removeEdge(index: number): void;
140
170
  setGridSize(gridSize: number): void;
141
171
  getPath(): TStrip[];
142
- setPath(path: TStripExt[] | TStrip[]): void;
143
- insertEdge3v(p0: Vec3, p1: Vec3, index: number): void;
172
+ setPath(path: TStripExt[] | TStrip[], pathTimes?: number[]): void;
173
+ insertEdge3v(p0: Vec3, p1: Vec3, index: number, time?: number): void;
144
174
  }
145
175
  export { Strip };
@@ -2,6 +2,7 @@ import { EntityCollection } from "../EntityCollection";
2
2
  import { Renderer } from "../../renderer/Renderer";
3
3
  import { Scene } from "../../scene/Scene";
4
4
  import { Strip } from "./Strip";
5
+ import { Vec3 } from "../../math/Vec3";
5
6
  declare class StripHandler {
6
7
  static __counter__: number;
7
8
  protected __id: number;
@@ -30,8 +31,28 @@ declare class StripHandler {
30
31
  */
31
32
  protected _strips: Strip[];
32
33
  protected _opaqueCount: number;
34
+ _relativeCenter: Vec3;
35
+ _rtcEyePositionHigh: Float32Array;
36
+ _rtcEyePositionLow: Float32Array;
37
+ /**
38
+ * Current time of the lines with path times, in the same units as their times.
39
+ * @public
40
+ * @type {number}
41
+ */
42
+ time: number;
43
+ /**
44
+ * Opacity multipliers of the path parts already passed and still ahead of the current time.
45
+ * @public
46
+ * @type {Float32Array}
47
+ */
48
+ timeOpacity: Float32Array;
49
+ setTime(time: number): void;
50
+ setTimeOpacity(past: number, future: number): void;
33
51
  constructor(entityCollection: EntityCollection);
52
+ setRelativeCenter(c: Vec3): void;
53
+ protected _updateRTCEyePosition(): void;
34
54
  protected _initProgram(): void;
55
+ initTimedPrograms(): void;
35
56
  bindScene(scene: Scene): void;
36
57
  protected _swap(i: number, j: number): void;
37
58
  add(strip: Strip): void;
@@ -279,6 +279,19 @@ declare class Vector extends BaseTileMaterialLayer {
279
279
  * @param entityCollection
280
280
  */
281
281
  _bindEventsDefault(entityCollection: EntityCollection): void;
282
+ /**
283
+ * Sets the current time of polylines and strips with path times.
284
+ * @public
285
+ * @param {number} time - Time in the same units as the path times.
286
+ */
287
+ setTime(time: number): void;
288
+ /**
289
+ * Sets opacity multipliers of the path parts passed and ahead of the current time.
290
+ * @public
291
+ * @param {number} past - Multiplier up to the current time.
292
+ * @param {number} future - Multiplier after the current time.
293
+ */
294
+ setTimeOpacity(past: number, future: number): void;
282
295
  protected _collectStripCollectionPASS(outArr: EntityCollection[]): void;
283
296
  protected _collectPolylineCollectionPASS(outArr: EntityCollection[]): void;
284
297
  protected _collectGeoObjectCollectionPASS(outArr: EntityCollection[]): void;