@pirireis/webglobeplugins 1.0.5 → 1.0.6
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/package.json +1 -1
- package/{webglobeplugins/pin → pin}/pin-object-array1.js +0 -1
- package/plugins/alarms/alarmFadeInFadeOutPlugin/AlarmTimeLineFadeInFadeOutPlugin.js +0 -399
- /package/{webglobeplugins/Math → Math}/angle-calculation.js +0 -0
- /package/{webglobeplugins/Math → Math}/arc-cdf-points.js +0 -0
- /package/{webglobeplugins/Math → Math}/arc-generate-points-exponantial.js +0 -0
- /package/{webglobeplugins/Math → Math}/arc.js +0 -0
- /package/{webglobeplugins/Math → Math}/bounds/line-bbox.js +0 -0
- /package/{webglobeplugins/Math → Math}/circle-cdf-points.js +0 -0
- /package/{webglobeplugins/Math → Math}/circle.js +0 -0
- /package/{webglobeplugins/Math → Math}/constants.js +0 -0
- /package/{webglobeplugins/Math → Math}/contour/quadtreecontours.js +0 -0
- /package/{webglobeplugins/Math → Math}/contour/quadtreecontours1.js +0 -0
- /package/{webglobeplugins/Math → Math}/finite-line-2d.js +0 -0
- /package/{webglobeplugins/Math → Math}/haversine.js +0 -0
- /package/{webglobeplugins/Math → Math}/index.js +0 -0
- /package/{webglobeplugins/Math → Math}/juction/arc-plane.js +0 -0
- /package/{webglobeplugins/Math → Math}/juction/line-sphere.js +0 -0
- /package/{webglobeplugins/Math → Math}/juction/plane-plane.js +0 -0
- /package/{webglobeplugins/Math → Math}/line.js +0 -0
- /package/{webglobeplugins/Math → Math}/matrix4.js +0 -0
- /package/{webglobeplugins/Math → Math}/methods.js +0 -0
- /package/{webglobeplugins/Math → Math}/plane.js +0 -0
- /package/{webglobeplugins/Math → Math}/quaternion.js +0 -0
- /package/{webglobeplugins/Math → Math}/templete-shapes/grid-visually-equal.js +0 -0
- /package/{webglobeplugins/Math → Math}/tessellation/constants.js +0 -0
- /package/{webglobeplugins/Math → Math}/tessellation/methods.js +0 -0
- /package/{webglobeplugins/Math → Math}/tessellation/nearest-value-padding.js +0 -0
- /package/{webglobeplugins/Math → Math}/tessellation/spherical-triangle-area.js +0 -0
- /package/{webglobeplugins/Math → Math}/tessellation/tile-merger.js +0 -0
- /package/{webglobeplugins/Math → Math}/tessellation/triangle-tessellation.js +0 -0
- /package/{webglobeplugins/Math → Math}/tessellation/types.js +0 -0
- /package/{webglobeplugins/Math → Math}/types.js +0 -0
- /package/{webglobeplugins/Math → Math}/utils.js +0 -0
- /package/{webglobeplugins/Math → Math}/vec3.js +0 -0
- /package/{webglobeplugins/Math → Math}/xyz-tile.js +0 -0
- /package/{webglobeplugins/algorithms → algorithms}/search-binary.js +0 -0
- /package/{webglobeplugins/altitude-locator → altitude-locator}/adaptors.js +0 -0
- /package/{webglobeplugins/altitude-locator → altitude-locator}/keymethod.js +0 -0
- /package/{webglobeplugins/altitude-locator → altitude-locator}/plugin.js +0 -0
- /package/{webglobeplugins/altitude-locator → altitude-locator}/types.js +0 -0
- /package/{webglobeplugins/compass-rose → compass-rose}/compass-rose-padding-flat.js +0 -0
- /package/{webglobeplugins/compass-rose → compass-rose}/compass-text-writer.js +0 -0
- /package/{webglobeplugins/compass-rose → compass-rose}/index.js +0 -0
- /package/{webglobeplugins/constants.js → constants.js} +0 -0
- /package/{webglobeplugins/heatwave → heatwave}/datamanager.js +0 -0
- /package/{webglobeplugins/heatwave → heatwave}/heatwave.js +0 -0
- /package/{webglobeplugins/heatwave → heatwave}/index.js +0 -0
- /package/{webglobeplugins/heatwave → heatwave}/isobar.js +0 -0
- /package/{webglobeplugins/heatwave → heatwave}/texture-point-sampler.js +0 -0
- /package/{webglobeplugins/investigation-tools → investigation-tools}/draw/tiles/adapters.js +0 -0
- /package/{webglobeplugins/investigation-tools → investigation-tools}/draw/tiles/tiles.js +0 -0
- /package/{webglobeplugins/jest.config.js → jest.config.js} +0 -0
- /package/{webglobeplugins/pin → pin}/pin-point-totem1.js +0 -0
- /package/{webglobeplugins/programs → programs}/arrowfield/arrow-field.js +0 -0
- /package/{webglobeplugins/programs → programs}/arrowfield/logic.js +0 -0
- /package/{webglobeplugins/programs → programs}/data2legend/density-to-legend.js +0 -0
- /package/{webglobeplugins/programs → programs}/data2legend/point-to-density-texture.js +0 -0
- /package/{webglobeplugins/programs → programs}/float2legendwithratio/index.js +0 -0
- /package/{webglobeplugins/programs → programs}/float2legendwithratio/logic.js +0 -0
- /package/{webglobeplugins/programs → programs}/float2legendwithratio/object.js +0 -0
- /package/{webglobeplugins/programs → programs}/helpers/blender.js +0 -0
- /package/{webglobeplugins/programs → programs}/helpers/fadeaway.js +0 -0
- /package/{webglobeplugins/programs → programs}/index.js +0 -0
- /package/{webglobeplugins/programs → programs}/line-on-globe/circle-accurate-3d.js +0 -0
- /package/{webglobeplugins/programs → programs}/line-on-globe/circle-accurate-flat.js +0 -0
- /package/{webglobeplugins/programs → programs}/line-on-globe/degree-padding-around-circle-3d.js +0 -0
- /package/{webglobeplugins/programs → programs}/line-on-globe/index.js +0 -0
- /package/{webglobeplugins/programs → programs}/line-on-globe/lines-color-instanced-flat.js +0 -0
- /package/{webglobeplugins/programs → programs}/line-on-globe/linestrip/data.js +0 -0
- /package/{webglobeplugins/programs → programs}/line-on-globe/linestrip/linestrip.js +0 -0
- /package/{webglobeplugins/programs → programs}/line-on-globe/naive-accurate-flexible.js +0 -0
- /package/{webglobeplugins/programs → programs}/line-on-globe/util.js +0 -0
- /package/{webglobeplugins/programs → programs}/picking/pickable-polygon-renderer.js +0 -0
- /package/{webglobeplugins/programs → programs}/picking/pickable-renderer.js +0 -0
- /package/{webglobeplugins/programs → programs}/point-on-globe/element-globe-surface-glow.js +0 -0
- /package/{webglobeplugins/programs → programs}/point-on-globe/element-point-glow.js +0 -0
- /package/{webglobeplugins/programs → programs}/point-on-globe/square-pixel-point.js +0 -0
- /package/{webglobeplugins/programs → programs}/polygon-on-globe/texture-dem-triangles.js +0 -0
- /package/{webglobeplugins/programs → programs}/programcache.js +0 -0
- /package/{webglobeplugins/programs → programs}/rings/index.js +0 -0
- /package/{webglobeplugins/programs → programs}/rings/partial-ring/piece-of-pie.js +0 -0
- /package/{webglobeplugins/programs → programs}/totems/attachments/adaptive-opacity.js +0 -0
- /package/{webglobeplugins/programs → programs}/totems/attachments/dem-textures-manager.js +0 -0
- /package/{webglobeplugins/programs → programs}/totems/camera-totem-attactment-interface.js +0 -0
- /package/{webglobeplugins/programs → programs}/totems/camerauniformblock.js +0 -0
- /package/{webglobeplugins/programs → programs}/totems/canvas-webglobe-info.js +0 -0
- /package/{webglobeplugins/programs → programs}/totems/globe-changes.js +0 -0
- /package/{webglobeplugins/programs → programs}/totems/gpu-selection-uniform-block.js +0 -0
- /package/{webglobeplugins/programs → programs}/totems/index.js +0 -0
- /package/{webglobeplugins/programs → programs}/two-d/pixel-padding-for-compass.js +0 -0
- /package/{webglobeplugins/programs → programs}/util.js +0 -0
- /package/{webglobeplugins/programs → programs}/vectorfields/logics/constants.js +0 -0
- /package/{webglobeplugins/programs → programs}/vectorfields/logics/drawrectangleparticles.js +0 -0
- /package/{webglobeplugins/programs → programs}/vectorfields/logics/index.js +0 -0
- /package/{webglobeplugins/programs → programs}/vectorfields/logics/particle-ubo.js +0 -0
- /package/{webglobeplugins/programs → programs}/vectorfields/logics/pixelbased.js +0 -0
- /package/{webglobeplugins/programs → programs}/vectorfields/logics/ubo.js +0 -0
- /package/{webglobeplugins/programs → programs}/vectorfields/pingpongbuffermanager.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/bearing-line/adapters.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/bearing-line/plugin.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/bearing-line/types.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/circle-line-chain/adapters.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/circle-line-chain/chain-list-map.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/circle-line-chain/plugin.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/circle-line-chain/types.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/range-ring/adapters.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/range-ring/enum.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/range-ring/plugin.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/range-ring/rangeringangletext.js +0 -0
- /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/range-ring/types.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/interface.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/lightweight/line-plugin.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/lightweight/piece-of-pie-plugin.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/arc-plugin.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/circle-plugin.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/padding-1-degree.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/adapters.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/cache.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/index-polygon-map.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/manager.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/master-worker.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/polygon-to-triangles.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/random.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/types.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/worker-contact.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/worker.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/terrain-polygon.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/test-records.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/types.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shell/bbox-renderer/index.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shell/bbox-renderer/logic.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/shell/bbox-renderer/object.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/type.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/utility/container-plugin.js +0 -0
- /package/{webglobeplugins/semiplugins → semiplugins}/utility/object-pass-container-plugin.js +0 -0
- /package/{webglobeplugins/shaders → shaders}/fragment-toy/firework.js +0 -0
- /package/{webglobeplugins/shaders → shaders}/fragment-toy/singularity.js +0 -0
- /package/{webglobeplugins/tracks → tracks}/point-heat-map/adaptors/timetracksplugin-format-to-this.js +0 -0
- /package/{webglobeplugins/tracks → tracks}/point-heat-map/index.js +0 -0
- /package/{webglobeplugins/tracks → tracks}/point-heat-map/plugin-webworker.js +0 -0
- /package/{webglobeplugins/tracks → tracks}/point-heat-map/point-to-heat-map-flow.js +0 -0
- /package/{webglobeplugins/tracks → tracks}/point-tracks/key-methods.js +0 -0
- /package/{webglobeplugins/tracks → tracks}/point-tracks/plugin.js +0 -0
- /package/{webglobeplugins/tracks → tracks}/timetracks/adaptors-line-strip.js +0 -0
- /package/{webglobeplugins/tracks → tracks}/timetracks/plugin-line-strip.js +0 -0
- /package/{webglobeplugins/tracks → tracks}/timetracks/program-line-strip.js +0 -0
- /package/{webglobeplugins/tracks → tracks}/timetracks/programpoint-line-strip.js +0 -0
- /package/{webglobeplugins/types.js → types.js} +0 -0
- /package/{webglobeplugins/util → util}/account/bufferoffsetmanager.js +0 -0
- /package/{webglobeplugins/util → util}/account/create-buffermap-orchastration.js +0 -0
- /package/{webglobeplugins/util → util}/account/index.js +0 -0
- /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/buffer-manager.js +0 -0
- /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/buffer-orchestrator.js +0 -0
- /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/buffer-orchestrator1.js +0 -0
- /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/index.js +0 -0
- /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/object-store.js +0 -0
- /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/types.js +0 -0
- /package/{webglobeplugins/util → util}/account/util.js +0 -0
- /package/{webglobeplugins/util → util}/algorithms/index.js +0 -0
- /package/{webglobeplugins/util → util}/algorithms/search-binary.js +0 -0
- /package/{webglobeplugins/util → util}/build-strategy/static-dynamic.js +0 -0
- /package/{webglobeplugins/util → util}/check/index.js +0 -0
- /package/{webglobeplugins/util → util}/check/typecheck.js +0 -0
- /package/{webglobeplugins/util → util}/frame-counter-trigger.js +0 -0
- /package/{webglobeplugins/util → util}/geometry/index.js +0 -0
- /package/{webglobeplugins/util → util}/gl-util/buffer/attribute-loader.js +0 -0
- /package/{webglobeplugins/util → util}/gl-util/buffer/index.js +0 -0
- /package/{webglobeplugins/util → util}/gl-util/draw-options/methods.js +0 -0
- /package/{webglobeplugins/util → util}/gl-util/uniform-block/manager.js +0 -0
- /package/{webglobeplugins/util → util}/globe-default-gl-states.js +0 -0
- /package/{webglobeplugins/util → util}/helper-methods.js +0 -0
- /package/{webglobeplugins/util → util}/index.js +0 -0
- /package/{webglobeplugins/util → util}/interpolation/index.js +0 -0
- /package/{webglobeplugins/util → util}/interpolation/timetrack/index.js +0 -0
- /package/{webglobeplugins/util → util}/interpolation/timetrack/timetrack-interpolator.js +0 -0
- /package/{webglobeplugins/util → util}/interpolation/timetrack/web-worker.js +0 -0
- /package/{webglobeplugins/util → util}/picking/fence.js +0 -0
- /package/{webglobeplugins/util → util}/picking/picker-displayer.js +0 -0
- /package/{webglobeplugins/util → util}/programs/draw-from-pixel-coords.js +0 -0
- /package/{webglobeplugins/util → util}/programs/draw-texture-on-canvas.js +0 -0
- /package/{webglobeplugins/util → util}/programs/supersampletotextures.js +0 -0
- /package/{webglobeplugins/util → util}/programs/texturetoglobe_delete.js +0 -0
- /package/{webglobeplugins/util → util}/shaderfunctions/geometrytransformations.js +0 -0
- /package/{webglobeplugins/util → util}/shaderfunctions/index.js +0 -0
- /package/{webglobeplugins/util → util}/shaderfunctions/nodata.js +0 -0
- /package/{webglobeplugins/util → util}/shaderfunctions/noisefunctions.js +0 -0
- /package/{webglobeplugins/util → util}/webglobjectbuilders.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/arrowfield/adaptor.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/arrowfield/index.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/arrowfield/plugin.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/waveparticles/adaptor.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/waveparticles/index.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/waveparticles/plugin.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/wind/adapters/image-to-fields.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/wind/adapters/types.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/wind/imagetovectorfieldandmagnitude.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/wind/index.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/wind/plugin-persistant.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/wind/plugin.js +0 -0
- /package/{webglobeplugins/vectorfield → vectorfield}/wind/vectorfieldimage.js +0 -0
- /package/{webglobeplugins/write-text → write-text}/context-text-bulk.js +0 -0
- /package/{webglobeplugins/write-text → write-text}/context-text3.js +0 -0
- /package/{webglobeplugins/write-text → write-text}/context-text4.js +0 -0
- /package/{webglobeplugins/write-text → write-text}/context-textDELETE.js +0 -0
- /package/{webglobeplugins/write-text → write-text}/objectarraylabels/index.js +0 -0
- /package/{webglobeplugins/write-text → write-text}/objectarraylabels/objectarraylabels.js +0 -0
package/package.json
CHANGED
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
* mouse curser changes ( this can be implemented inside above methods)
|
|
18
18
|
*/
|
|
19
19
|
import { CSGlobe, CSIconTypes, CSObjectTypes, CSObjectArrayUpdateTypes, } from "@pirireis/webglobe";
|
|
20
|
-
import AlarmTimeLineFadeInFadeOut from "../../plugins/alarms/alarmFadeInFadeOutPlugin/AlarmTimeLineFadeInFadeOutPlugin";
|
|
21
20
|
/**
|
|
22
21
|
* @typedef {Object} IconPayload
|
|
23
22
|
* @property {string} app6DCode
|
|
@@ -1,399 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parametreler
|
|
3
|
-
* Toplam Animasyon suresi
|
|
4
|
-
* nokta konumu lat long
|
|
5
|
-
* nokta boyutu
|
|
6
|
-
* nokta rengi
|
|
7
|
-
* buyume kusulme olamlimi? Varsa fade in ile buyuyup, fade out ile kuculecek.
|
|
8
|
-
* fade in suresi
|
|
9
|
-
* fade out suresi
|
|
10
|
-
* */
|
|
11
|
-
/**
|
|
12
|
-
* TODO:
|
|
13
|
-
* AFAD verisini hizli yuklenmesi icin bir formata ceviren kod ekle
|
|
14
|
-
* CONTENT basligi altina veri cevirici ve webgl programini yaz
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* @typedef {Number[]} Color [r, g, b]
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* @typedef {Object} FadeAlarmPoint
|
|
21
|
-
* @property {number} long
|
|
22
|
-
* @property {number} lat
|
|
23
|
-
* @property {number} height
|
|
24
|
-
* @property {number} minSize
|
|
25
|
-
* @property {number} maxSize
|
|
26
|
-
* @property {Color} color
|
|
27
|
-
* @property {number} startTime
|
|
28
|
-
* @property {number} fadeInTime
|
|
29
|
-
* @property {number} fadeOutTime
|
|
30
|
-
* @property {number} minAlpha
|
|
31
|
-
* @property {number} maxAlpha
|
|
32
|
-
*/
|
|
33
|
-
const floatCount = 13;
|
|
34
|
-
const TIME_STEP = 26;
|
|
35
|
-
export default class AlarmTimeLineFadeInFadeOut {
|
|
36
|
-
constructor(id) {
|
|
37
|
-
this.id = id;
|
|
38
|
-
this.pause();
|
|
39
|
-
this.globe = null;
|
|
40
|
-
this.gl = null;
|
|
41
|
-
this._buildLOD = 6;
|
|
42
|
-
this._lastLOD = 0;
|
|
43
|
-
this._shaderProgram = null;
|
|
44
|
-
this._animationDeltaTime = 0;
|
|
45
|
-
this._animationFullTimeLength = 50000.0;
|
|
46
|
-
this._continue = false;
|
|
47
|
-
this._speedMultiplier = 1.0;
|
|
48
|
-
// time relevant
|
|
49
|
-
this._tickTimerId = null;
|
|
50
|
-
// @type {FadeAlarmPoint[]}
|
|
51
|
-
this._dataArray = [];
|
|
52
|
-
this._translateFloat32Array = new Float32Array(3);
|
|
53
|
-
this._mixtureBuffer = null;
|
|
54
|
-
this._buildTimerId = null;
|
|
55
|
-
this._projectionFunction = null;
|
|
56
|
-
}
|
|
57
|
-
_vertexShaderSource = `
|
|
58
|
-
precision highp float;
|
|
59
|
-
|
|
60
|
-
attribute vec3 aVertexPosition;
|
|
61
|
-
attribute vec3 aVertexColor;
|
|
62
|
-
attribute float aMinSize;
|
|
63
|
-
attribute float aMaxSize;
|
|
64
|
-
attribute float aStartTime;
|
|
65
|
-
attribute float aFadeInTime;
|
|
66
|
-
attribute float aFadeOutTime;
|
|
67
|
-
attribute float aMinAlpha;
|
|
68
|
-
attribute float aMaxAlpha;
|
|
69
|
-
|
|
70
|
-
uniform bool u_is_flat;
|
|
71
|
-
uniform vec2 u_mapWH;
|
|
72
|
-
uniform vec2 u_scrWH;
|
|
73
|
-
|
|
74
|
-
varying vec3 vColor;
|
|
75
|
-
varying float vAlpha;
|
|
76
|
-
|
|
77
|
-
uniform float uDeltaTime;
|
|
78
|
-
|
|
79
|
-
uniform mat4 uModelViewMatrix;
|
|
80
|
-
uniform mat4 uProjectionMatrix;
|
|
81
|
-
uniform vec3 uTranslate;
|
|
82
|
-
|
|
83
|
-
void main(void) {
|
|
84
|
-
float time = uDeltaTime - aStartTime;
|
|
85
|
-
|
|
86
|
-
// exit case
|
|
87
|
-
if (time < 0.0 || (time > (aFadeInTime + aFadeOutTime)) ) {
|
|
88
|
-
gl_Position = vec4(-2.0, -2.0, 0.0, 1.0);
|
|
89
|
-
vColor = vec3(0.0, 0.0, 0.0);
|
|
90
|
-
vAlpha = 0.0;
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
float ratio;
|
|
94
|
-
// fade in case
|
|
95
|
-
if (time < aFadeInTime) {
|
|
96
|
-
ratio = time / aFadeInTime;
|
|
97
|
-
}
|
|
98
|
-
// fade out case
|
|
99
|
-
if (time > aFadeInTime) {
|
|
100
|
-
ratio = 1.0 - ((time - aFadeInTime) / aFadeOutTime);
|
|
101
|
-
}
|
|
102
|
-
if(u_is_flat==true){
|
|
103
|
-
float normalizedX = ( aVertexPosition.x - uTranslate.x) / u_mapWH.x;
|
|
104
|
-
float normalizedY = ( aVertexPosition.y - uTranslate.y) / u_mapWH.y;
|
|
105
|
-
gl_Position = uProjectionMatrix * vec4(normalizedX * u_scrWH.x, (1.0 - normalizedY) * u_scrWH.y, 0.0, 1.0);
|
|
106
|
-
}else{
|
|
107
|
-
gl_Position = uProjectionMatrix * uModelViewMatrix * vec4(aVertexPosition - uTranslate, 1.0);
|
|
108
|
-
}
|
|
109
|
-
gl_PointSize = mix(aMinSize, aMaxSize, ratio);
|
|
110
|
-
|
|
111
|
-
vColor = aVertexColor;
|
|
112
|
-
vAlpha = mix(aMinAlpha, aMaxAlpha, ratio);
|
|
113
|
-
}
|
|
114
|
-
`;
|
|
115
|
-
_fragmentShaderSource = `
|
|
116
|
-
precision highp float;
|
|
117
|
-
|
|
118
|
-
varying vec3 vColor;
|
|
119
|
-
varying float vAlpha;
|
|
120
|
-
|
|
121
|
-
void main(void) {
|
|
122
|
-
// circle
|
|
123
|
-
vec2 cxy = 2.0 * gl_PointCoord - 1.0;
|
|
124
|
-
float r = dot(cxy, cxy);
|
|
125
|
-
if (r > 1.0) discard;
|
|
126
|
-
// square
|
|
127
|
-
// float t = abs(cxy.x) * abs(cxy.y);
|
|
128
|
-
// if (t > 0.1) discard;
|
|
129
|
-
if (vAlpha == 0.0) { discard;}
|
|
130
|
-
float alphaRatio = sqrt(1.0 - r) ;
|
|
131
|
-
gl_FragColor = vec4(vColor, vAlpha ) * alphaRatio;
|
|
132
|
-
}
|
|
133
|
-
`;
|
|
134
|
-
_createProgram() {
|
|
135
|
-
const { gl, _vertexShaderSource, _fragmentShaderSource } = this;
|
|
136
|
-
let vertexShader = gl.createShader(gl.VERTEX_SHADER);
|
|
137
|
-
gl.shaderSource(vertexShader, _vertexShaderSource);
|
|
138
|
-
gl.compileShader(vertexShader);
|
|
139
|
-
if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {
|
|
140
|
-
alert("An error occurred compiling the vertex shader: " + gl.getShaderInfoLog(vertexShader));
|
|
141
|
-
return null;
|
|
142
|
-
}
|
|
143
|
-
let fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
|
|
144
|
-
gl.shaderSource(fragmentShader, _fragmentShaderSource);
|
|
145
|
-
gl.compileShader(fragmentShader);
|
|
146
|
-
if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {
|
|
147
|
-
alert("An error occurred compiling the fragment shader: " + gl.getShaderInfoLog(fragmentShader));
|
|
148
|
-
return null;
|
|
149
|
-
}
|
|
150
|
-
this._shaderProgram = gl.createProgram();
|
|
151
|
-
gl.attachShader(this._shaderProgram, vertexShader);
|
|
152
|
-
gl.attachShader(this._shaderProgram, fragmentShader);
|
|
153
|
-
gl.linkProgram(this._shaderProgram);
|
|
154
|
-
if (!gl.getProgramParameter(this._shaderProgram, gl.LINK_STATUS)) {
|
|
155
|
-
alert("Could not initialise shaders");
|
|
156
|
-
console.log(gl.getProgramInfoLog(this._shaderProgram));
|
|
157
|
-
}
|
|
158
|
-
gl.detachShader(this._shaderProgram, vertexShader);
|
|
159
|
-
gl.detachShader(this._shaderProgram, fragmentShader);
|
|
160
|
-
gl.deleteShader(vertexShader);
|
|
161
|
-
gl.deleteShader(fragmentShader);
|
|
162
|
-
}
|
|
163
|
-
_assignProgramLocations() {
|
|
164
|
-
const { gl, _shaderProgram } = this;
|
|
165
|
-
this._aVertexPosition = gl.getAttribLocation(_shaderProgram, "aVertexPosition");
|
|
166
|
-
this._aVertexColor = gl.getAttribLocation(_shaderProgram, "aVertexColor");
|
|
167
|
-
this._aMinSize = gl.getAttribLocation(_shaderProgram, "aMinSize");
|
|
168
|
-
this._aMaxSize = gl.getAttribLocation(_shaderProgram, "aMaxSize");
|
|
169
|
-
this._aStartTime = gl.getAttribLocation(_shaderProgram, "aStartTime");
|
|
170
|
-
this._aFadeInTime = gl.getAttribLocation(_shaderProgram, "aFadeInTime");
|
|
171
|
-
this._aFadeOutTime = gl.getAttribLocation(_shaderProgram, "aFadeOutTime");
|
|
172
|
-
this._aMinAlpha = gl.getAttribLocation(_shaderProgram, "aMinAlpha");
|
|
173
|
-
this._aMaxAlpha = gl.getAttribLocation(_shaderProgram, "aMaxAlpha");
|
|
174
|
-
this._uDeltaTime = gl.getUniformLocation(_shaderProgram, "uDeltaTime");
|
|
175
|
-
this._uModelViewMatrix = gl.getUniformLocation(_shaderProgram, "uModelViewMatrix");
|
|
176
|
-
this._uProjectionMatrix = gl.getUniformLocation(_shaderProgram, "uProjectionMatrix");
|
|
177
|
-
this._uTranslate = gl.getUniformLocation(_shaderProgram, "uTranslate");
|
|
178
|
-
this._uMapWH = gl.getUniformLocation(_shaderProgram, "u_mapWH");
|
|
179
|
-
this._uScrWH = gl.getUniformLocation(_shaderProgram, "u_scrWH");
|
|
180
|
-
this._uIsFlat = gl.getUniformLocation(_shaderProgram, "u_is_flat");
|
|
181
|
-
}
|
|
182
|
-
// registry takes place here
|
|
183
|
-
init(globe, gl) {
|
|
184
|
-
console.log("init AlarmFadeInFadeOut");
|
|
185
|
-
this.globe = globe;
|
|
186
|
-
this.gl = gl;
|
|
187
|
-
this._mixtureBuffer = gl.createBuffer();
|
|
188
|
-
this.setGeometry();
|
|
189
|
-
this._createProgram();
|
|
190
|
-
this._assignProgramLocations();
|
|
191
|
-
this._startTickTimer();
|
|
192
|
-
this._resizeHandler = this._resizeEventHandler.bind(this);
|
|
193
|
-
window.addEventListener('resize', this._resizeHandler, true);
|
|
194
|
-
}
|
|
195
|
-
_resizeEventHandler() {
|
|
196
|
-
this._loadUniforms();
|
|
197
|
-
}
|
|
198
|
-
addPoint(long, lat, height, minSize, maxSize, color, startTime, fadeInTime, fadeOutTime, minAlpha, maxAlpha) {
|
|
199
|
-
// add point to the array
|
|
200
|
-
this._dataArray.push({
|
|
201
|
-
long,
|
|
202
|
-
lat,
|
|
203
|
-
height,
|
|
204
|
-
minSize,
|
|
205
|
-
maxSize,
|
|
206
|
-
color,
|
|
207
|
-
startTime,
|
|
208
|
-
fadeInTime,
|
|
209
|
-
fadeOutTime,
|
|
210
|
-
minAlpha,
|
|
211
|
-
maxAlpha
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
setAnimationFullTimeLength(time) {
|
|
215
|
-
this._animationFullTimeLength = time;
|
|
216
|
-
}
|
|
217
|
-
updateBuffer() {
|
|
218
|
-
if (this._dataArray.length === 0)
|
|
219
|
-
return;
|
|
220
|
-
this._build();
|
|
221
|
-
}
|
|
222
|
-
clearPoints() {
|
|
223
|
-
this._dataArray = [];
|
|
224
|
-
this._build();
|
|
225
|
-
}
|
|
226
|
-
setCurrentTimeByPercentage(percentage) {
|
|
227
|
-
const passingTime = this._animationFullTimeLength * (percentage % 100) / 100;
|
|
228
|
-
this._animationDeltaTime = passingTime;
|
|
229
|
-
}
|
|
230
|
-
setSpeedMultiplier(multiplier) {
|
|
231
|
-
this._speedMultiplier = multiplier;
|
|
232
|
-
}
|
|
233
|
-
continue() {
|
|
234
|
-
if (this._animationFullTimeLength == null)
|
|
235
|
-
throw new Error("Animation full time length is not set");
|
|
236
|
-
this._continue = true;
|
|
237
|
-
if (this._tickTimerId == null) {
|
|
238
|
-
this._startTickTimer();
|
|
239
|
-
}
|
|
240
|
-
console.log("continue");
|
|
241
|
-
}
|
|
242
|
-
isContinuing() {
|
|
243
|
-
return this._continue;
|
|
244
|
-
}
|
|
245
|
-
pause() {
|
|
246
|
-
this._continue = false;
|
|
247
|
-
if (this._tickTimerId != null) {
|
|
248
|
-
clearInterval(this._tickTimerId);
|
|
249
|
-
this._tickTimerId = null;
|
|
250
|
-
}
|
|
251
|
-
console.log("pause");
|
|
252
|
-
}
|
|
253
|
-
_tick() {
|
|
254
|
-
this._animationDeltaTime = (this._animationDeltaTime + TIME_STEP * this._speedMultiplier) % this._animationFullTimeLength;
|
|
255
|
-
}
|
|
256
|
-
_startTickTimer() {
|
|
257
|
-
this._tickTimerId = setInterval(() => {
|
|
258
|
-
if (this._continue)
|
|
259
|
-
this._tick();
|
|
260
|
-
}, TIME_STEP);
|
|
261
|
-
}
|
|
262
|
-
getPercentage() {
|
|
263
|
-
return this._animationDeltaTime / this._animationFullTimeLength;
|
|
264
|
-
}
|
|
265
|
-
// globe calls this function
|
|
266
|
-
draw3D(projMatrix, modelMatrix, transPos) {
|
|
267
|
-
// if (this._continue) this._tick();
|
|
268
|
-
this._draw(projMatrix, modelMatrix, transPos);
|
|
269
|
-
}
|
|
270
|
-
_draw(projMatrix, modelMatrix, transPos) {
|
|
271
|
-
if (this._dataArray.length === 0)
|
|
272
|
-
return;
|
|
273
|
-
const { gl, globe } = this;
|
|
274
|
-
if (globe == null) {
|
|
275
|
-
console.log("globe is null");
|
|
276
|
-
return;
|
|
277
|
-
}
|
|
278
|
-
const lastDepth = gl.getParameter(gl.DEPTH_TEST);
|
|
279
|
-
gl.disable(gl.DEPTH_TEST);
|
|
280
|
-
gl.enable(gl.BLEND);
|
|
281
|
-
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
|
|
282
|
-
this._translateFloat32Array.set([transPos.x, transPos.y, transPos.z], 0);
|
|
283
|
-
gl.useProgram(this._shaderProgram);
|
|
284
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, this._mixtureBuffer);
|
|
285
|
-
gl.enableVertexAttribArray(this._aVertexPosition); // devamli enable edilmesine gerek olmayabilir mi?
|
|
286
|
-
gl.vertexAttribPointer(this._aVertexPosition, 3, gl.FLOAT, false, floatCount * 4, 0);
|
|
287
|
-
gl.enableVertexAttribArray(this._aVertexColor);
|
|
288
|
-
gl.vertexAttribPointer(this._aVertexColor, 3, gl.FLOAT, false, floatCount * 4, 3 * 4);
|
|
289
|
-
gl.enableVertexAttribArray(this._aMinSize);
|
|
290
|
-
gl.vertexAttribPointer(this._aMinSize, 1, gl.FLOAT, false, floatCount * 4, 6 * 4);
|
|
291
|
-
gl.enableVertexAttribArray(this._aMaxSize);
|
|
292
|
-
gl.vertexAttribPointer(this._aMaxSize, 1, gl.FLOAT, false, floatCount * 4, 7 * 4);
|
|
293
|
-
gl.enableVertexAttribArray(this._aStartTime);
|
|
294
|
-
gl.vertexAttribPointer(this._aStartTime, 1, gl.FLOAT, false, floatCount * 4, 8 * 4);
|
|
295
|
-
gl.enableVertexAttribArray(this._aFadeInTime);
|
|
296
|
-
gl.vertexAttribPointer(this._aFadeInTime, 1, gl.FLOAT, false, floatCount * 4, 9 * 4);
|
|
297
|
-
gl.enableVertexAttribArray(this._aFadeOutTime);
|
|
298
|
-
gl.vertexAttribPointer(this._aFadeOutTime, 1, gl.FLOAT, false, floatCount * 4, 10 * 4);
|
|
299
|
-
gl.enableVertexAttribArray(this._aMinAlpha);
|
|
300
|
-
gl.vertexAttribPointer(this._aMinAlpha, 1, gl.FLOAT, false, floatCount * 4, 11 * 4);
|
|
301
|
-
gl.enableVertexAttribArray(this._aMaxAlpha);
|
|
302
|
-
gl.vertexAttribPointer(this._aMaxAlpha, 1, gl.FLOAT, false, floatCount * 4, 12 * 4);
|
|
303
|
-
gl.uniform1f(this._uDeltaTime, this._animationDeltaTime);
|
|
304
|
-
if (globe.api_GetCurrentGeometry() === globe.api_GeometryTypes().FLAT) {
|
|
305
|
-
const { width, height } = globe.api_GetCurrentWorldWH();
|
|
306
|
-
gl.uniform2f(this._uMapWH, width, height);
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
gl.uniformMatrix4fv(this._uModelViewMatrix, false, modelMatrix);
|
|
310
|
-
}
|
|
311
|
-
gl.uniformMatrix4fv(this._uProjectionMatrix, false, projMatrix);
|
|
312
|
-
gl.uniform3fv(this._uTranslate, this._translateFloat32Array);
|
|
313
|
-
gl.drawArrays(gl.POINTS, 0, this._dataArray.length);
|
|
314
|
-
if (lastDepth) {
|
|
315
|
-
gl.enable(gl.DEPTH_TEST);
|
|
316
|
-
}
|
|
317
|
-
gl.disable(gl.BLEND);
|
|
318
|
-
globe.DrawRender();
|
|
319
|
-
}
|
|
320
|
-
_build() {
|
|
321
|
-
// build data and fill the buffer
|
|
322
|
-
const { gl, globe, _mixtureBuffer } = this;
|
|
323
|
-
if (globe == null || _mixtureBuffer == null) {
|
|
324
|
-
console.log("globe is null");
|
|
325
|
-
return;
|
|
326
|
-
}
|
|
327
|
-
const floatArray = new Float32Array(this._dataArray.length * floatCount);
|
|
328
|
-
for (let i = 0; i < this._dataArray.length; i += 1) {
|
|
329
|
-
const data = this._dataArray[i];
|
|
330
|
-
const { long, lat, height, minSize, maxSize, color, fadeInTime, fadeOutTime } = data;
|
|
331
|
-
const [x, y, z] = globe.api_Get3DPoint(long, lat, height, false);
|
|
332
|
-
const [r, g, b] = color;
|
|
333
|
-
const startTime = data.startTime;
|
|
334
|
-
const minAlpha = data.minAlpha;
|
|
335
|
-
const maxAlpha = data.maxAlpha;
|
|
336
|
-
floatArray.set([x, y, z, r, g, b, minSize, maxSize, startTime, fadeInTime, fadeOutTime, minAlpha, maxAlpha], i * floatCount);
|
|
337
|
-
}
|
|
338
|
-
console.log("floatArray", floatArray);
|
|
339
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, _mixtureBuffer);
|
|
340
|
-
gl.bufferData(gl.ARRAY_BUFFER, floatArray, gl.STATIC_DRAW);
|
|
341
|
-
console.log("build");
|
|
342
|
-
if (this._buildTimerId == null) {
|
|
343
|
-
this._startBuildTimer();
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
_startBuildTimer() {
|
|
347
|
-
const { globe, _buildLOD } = this;
|
|
348
|
-
this._buildTimerId = setInterval(() => {
|
|
349
|
-
if (globe.api_GetCurrentGeometry() != globe.api_GeometryTypes().SPHERE)
|
|
350
|
-
return;
|
|
351
|
-
const LOD = globe.api_GetCurrentLOD();
|
|
352
|
-
if (!globe.api_IsScreenMoving() && LOD >= _buildLOD && LOD !== this._lastLOD) {
|
|
353
|
-
this._build();
|
|
354
|
-
this._lastLOD = LOD;
|
|
355
|
-
}
|
|
356
|
-
}, 1000);
|
|
357
|
-
console.log("startBuildTimer");
|
|
358
|
-
}
|
|
359
|
-
setGeometry() {
|
|
360
|
-
// arazi yuksekligine gore build tetikleyecek push mekanizmasi globeta yok
|
|
361
|
-
// timer start edilip durdurulacak
|
|
362
|
-
this._loadUniforms();
|
|
363
|
-
this.updateBuffer();
|
|
364
|
-
console.log("setGeometry");
|
|
365
|
-
}
|
|
366
|
-
_loadUniforms() {
|
|
367
|
-
const { gl, globe } = this;
|
|
368
|
-
const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
|
|
369
|
-
gl.useProgram(this._shaderProgram);
|
|
370
|
-
const geometry = globe.api_GetCurrentGeometry();
|
|
371
|
-
if (geometry === globe.api_GeometryTypes().SPHERE) {
|
|
372
|
-
gl.uniform1f(this._uIsFlat, false);
|
|
373
|
-
}
|
|
374
|
-
else if (geometry === globe.api_GeometryTypes().FLAT) {
|
|
375
|
-
gl.uniform1f(this._uIsFlat, true);
|
|
376
|
-
gl.uniform2f(this._uScrWH, globe.api_ScrW(), globe.api_ScrH());
|
|
377
|
-
}
|
|
378
|
-
else {
|
|
379
|
-
alert("Geometry is not supported");
|
|
380
|
-
}
|
|
381
|
-
gl.useProgram(currentProgram);
|
|
382
|
-
}
|
|
383
|
-
free() {
|
|
384
|
-
console.log("free AlarmFadeInFadeOut");
|
|
385
|
-
const { gl } = this;
|
|
386
|
-
this.globe = null;
|
|
387
|
-
this.gl = null;
|
|
388
|
-
this.draw3D = null;
|
|
389
|
-
this._build = null;
|
|
390
|
-
clearInterval(this._buildTimerId);
|
|
391
|
-
clearInterval(this._tickTimerId);
|
|
392
|
-
gl.disableVertexAttribArray(this._aVertexPosition);
|
|
393
|
-
// gl.deleteBuffer(this._mixtureBuffer);
|
|
394
|
-
// gl.deleteProgram(this._shaderProgram);
|
|
395
|
-
this._shaderProgram = null;
|
|
396
|
-
this._mixtureBuffer = null;
|
|
397
|
-
window.removeEventListener('resize', this._resizeHandler, true);
|
|
398
|
-
}
|
|
399
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{webglobeplugins/programs → programs}/line-on-globe/degree-padding-around-circle-3d.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{webglobeplugins/programs → programs}/vectorfields/logics/drawrectangleparticles.js
RENAMED
|
File without changes
|