astro-viewer 3.11.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/astroviewer.cjs +561 -149
  2. package/dist/astroviewer.cjs.map +1 -1
  3. package/dist/astroviewer.js +561 -149
  4. package/dist/astroviewer.js.map +1 -1
  5. package/dist/astroviewer.min.js +1 -1
  6. package/dist/astroviewer.min.js.map +1 -1
  7. package/lib-esm/AstroSphere.d.ts +36 -2
  8. package/lib-esm/AstroSphere.d.ts.map +1 -1
  9. package/lib-esm/AstroSphere.js +234 -70
  10. package/lib-esm/AstroSphere.js.map +1 -1
  11. package/lib-esm/AstroViewer.d.ts +14 -1
  12. package/lib-esm/AstroViewer.d.ts.map +1 -1
  13. package/lib-esm/AstroViewer.js +38 -4
  14. package/lib-esm/AstroViewer.js.map +1 -1
  15. package/lib-esm/Camera.d.ts +8 -0
  16. package/lib-esm/Camera.d.ts.map +1 -1
  17. package/lib-esm/Camera.js +16 -0
  18. package/lib-esm/Camera.js.map +1 -1
  19. package/lib-esm/index.d.ts +1 -0
  20. package/lib-esm/index.d.ts.map +1 -1
  21. package/lib-esm/index.js +1 -0
  22. package/lib-esm/index.js.map +1 -1
  23. package/lib-esm/model/Source.js +1 -1
  24. package/lib-esm/model/Source.js.map +1 -1
  25. package/lib-esm/model/catalogues/CatalogueGL.d.ts +13 -4
  26. package/lib-esm/model/catalogues/CatalogueGL.d.ts.map +1 -1
  27. package/lib-esm/model/catalogues/CatalogueGL.js +109 -59
  28. package/lib-esm/model/catalogues/CatalogueGL.js.map +1 -1
  29. package/lib-esm/model/earth/XYZMap.d.ts +4 -1
  30. package/lib-esm/model/earth/XYZMap.d.ts.map +1 -1
  31. package/lib-esm/model/earth/XYZMap.js +35 -2
  32. package/lib-esm/model/earth/XYZMap.js.map +1 -1
  33. package/lib-esm/model/footprints/FootprintSetGL.d.ts +1 -0
  34. package/lib-esm/model/footprints/FootprintSetGL.d.ts.map +1 -1
  35. package/lib-esm/model/footprints/FootprintSetGL.js +13 -3
  36. package/lib-esm/model/footprints/FootprintSetGL.js.map +1 -1
  37. package/lib-esm/model/grid/EquatorialGrid.d.ts +1 -0
  38. package/lib-esm/model/grid/EquatorialGrid.d.ts.map +1 -1
  39. package/lib-esm/model/grid/EquatorialGrid.js +3 -0
  40. package/lib-esm/model/grid/EquatorialGrid.js.map +1 -1
  41. package/lib-esm/model/grid/HealpixGrid.d.ts +1 -0
  42. package/lib-esm/model/grid/HealpixGrid.d.ts.map +1 -1
  43. package/lib-esm/model/grid/HealpixGrid.js +3 -0
  44. package/lib-esm/model/grid/HealpixGrid.js.map +1 -1
  45. package/lib-esm/model/grid/LonLatGrid.d.ts +1 -0
  46. package/lib-esm/model/grid/LonLatGrid.d.ts.map +1 -1
  47. package/lib-esm/model/grid/LonLatGrid.js +3 -0
  48. package/lib-esm/model/grid/LonLatGrid.js.map +1 -1
  49. package/lib-esm/model/meships/MeshHiPS.d.ts +4 -0
  50. package/lib-esm/model/meships/MeshHiPS.d.ts.map +1 -1
  51. package/lib-esm/model/meships/MeshHiPS.js +11 -1
  52. package/lib-esm/model/meships/MeshHiPS.js.map +1 -1
  53. package/lib-esm/model/terra/TerraPointSetGL.d.ts +1 -0
  54. package/lib-esm/model/terra/TerraPointSetGL.d.ts.map +1 -1
  55. package/lib-esm/model/terra/TerraPointSetGL.js +39 -1
  56. package/lib-esm/model/terra/TerraPointSetGL.js.map +1 -1
  57. package/lib-esm/shader/CatalogueShaderProgram.d.ts +4 -0
  58. package/lib-esm/shader/CatalogueShaderProgram.d.ts.map +1 -1
  59. package/lib-esm/shader/CatalogueShaderProgram.js +6 -0
  60. package/lib-esm/shader/CatalogueShaderProgram.js.map +1 -1
  61. package/lib-esm/shader/ShaderManager.d.ts.map +1 -1
  62. package/lib-esm/shader/ShaderManager.js +7 -4
  63. package/lib-esm/shader/ShaderManager.js.map +1 -1
  64. package/lib-esm/shader/XYZShaderProgram.d.ts +3 -0
  65. package/lib-esm/shader/XYZShaderProgram.d.ts.map +1 -1
  66. package/lib-esm/shader/XYZShaderProgram.js +11 -3
  67. package/lib-esm/shader/XYZShaderProgram.js.map +1 -1
  68. package/lib-esm/utils/Utils.d.ts +12 -0
  69. package/lib-esm/utils/Utils.d.ts.map +1 -1
  70. package/lib-esm/utils/Utils.js +26 -0
  71. package/lib-esm/utils/Utils.js.map +1 -1
  72. package/package.json +2 -2
@@ -19,6 +19,7 @@ export type { FootprintGeometryLike, FootprintGeoPositionLike, FootprintMultiPol
19
19
  export { MetadataManager } from './model/MetadataManager.js';
20
20
  export { MetadataColumn, MetadataInit, ColumnType } from './model/MetadataColumn.js';
21
21
  export { Point, SphericalOpts, AstroOpts, PointInitOpts, CartesianOpts } from './model/Point.js';
22
+ export { raHMSToDeg, decDMSToDeg, } from './utils/Utils.js';
22
23
  export { FoVUtils } from './utils/FoVUtils.js';
23
24
  export { CoordsType } from './utils/CoordsType.js';
24
25
  export { default as GeoJSONParser } from './utils/GeoJSONParser.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib-esm/index.js CHANGED
@@ -23,6 +23,7 @@ export { createObservationTrackTimeline, footprintToRing, ObservationTrackTimeli
23
23
  export { MetadataManager } from './model/MetadataManager.js';
24
24
  export { MetadataColumn, ColumnType } from './model/MetadataColumn.js';
25
25
  export { Point } from './model/Point.js';
26
+ export { raHMSToDeg, decDMSToDeg, } from './utils/Utils.js';
26
27
  export { FoVUtils } from './utils/FoVUtils.js';
27
28
  export { CoordsType } from './utils/CoordsType.js';
28
29
  export { default as GeoJSONParser } from './utils/GeoJSONParser.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAGhD,OAAO,EAA0B,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,OAAO,EACL,8BAA8B,EAC9B,eAAe,EACf,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,8BAA8B,CAAA;AAwBrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAgB,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACpF,OAAO,EAAE,KAAK,EAA0D,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAM1E,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAGhD,OAAO,EAA0B,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,OAAO,EACL,8BAA8B,EAC9B,eAAe,EACf,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,8BAA8B,CAAA;AAwBrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAgB,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACpF,OAAO,EAAE,KAAK,EAA0D,MAAM,kBAAkB,CAAA;AAChG,OAAO,EACL,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAM1E,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,iCAAiC,CAAA"}
@@ -27,7 +27,7 @@ export class Source {
27
27
  this._point = in_point;
28
28
  this._details = in_details;
29
29
  this._shapesize = 16.0;
30
- this._brightnessFactor = -99;
30
+ this._brightnessFactor = 3.0;
31
31
  this.computeHealpixPixel();
32
32
  }
33
33
  getDetailByindex(index) {
@@ -1 +1 @@
1
- {"version":3,"file":"Source.js","sourceRoot":"","sources":["../../src/model/Source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,YAAY,CAAC;AAEb,OAAO,EAAW,IAAI,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,cAAc,CAAC;AAoBlC,MAAM,OAAO,MAAM;IACT,MAAM,CAAQ;IACd,KAAK,CAAU;IACf,QAAQ,CAAQ;IAChB,MAAM,CAAU;IAChB,UAAU,CAAS;IACnB,iBAAiB,CAAS;IAC1B,WAAW,CAAoB;IAEvC;;;OAGG;IACH,YAAY,QAAe,EAAE,aAAoB,EAAE;QACjD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAE7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACO,mBAAmB;QACzB,mCAAmC;QACnC,wEAAwE;QACxE,MAAM,OAAO,GAAY,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,IAAY;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD;;OAEG;IACH,IAAI,gBAAgB,CAAC,MAAc;QACjC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,KAAmC;QAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"Source.js","sourceRoot":"","sources":["../../src/model/Source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,YAAY,CAAC;AAEb,OAAO,EAAW,IAAI,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,cAAc,CAAC;AAoBlC,MAAM,OAAO,MAAM;IACT,MAAM,CAAQ;IACd,KAAK,CAAU;IACf,QAAQ,CAAQ;IAChB,MAAM,CAAU;IAChB,UAAU,CAAS;IACnB,iBAAiB,CAAS;IAC1B,WAAW,CAAoB;IAEvC;;;OAGG;IACH,YAAY,QAAe,EAAE,aAAoB,EAAE;QACjD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAE7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACO,mBAAmB;QACzB,mCAAmC;QACnC,wEAAwE;QACxE,MAAM,OAAO,GAAY,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,IAAY;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD;;OAEG;IACH,IAAI,gBAAgB,CAAC,MAAc;QACjC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,KAAmC;QAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF"}
@@ -1,9 +1,11 @@
1
1
  import { Source } from "../Source.js";
2
+ import { Point } from "../Point.js";
2
3
  import MouseHelper from "../../utils/MouseHelper.js";
3
4
  import { CatalogueShaderProgram } from "../../shader/CatalogueShaderProgram.js";
4
5
  import { MetadataManager } from "../MetadataManager.js";
5
6
  import { MetadataColumn } from "../MetadataColumn.js";
6
7
  import { VisibleTilesManager } from "../hips/VisibleTilesManager.js";
8
+ import { mat4 } from "gl-matrix";
7
9
  export type ClickedSourceState = {
8
10
  source: Source;
9
11
  selected: boolean;
@@ -90,20 +92,27 @@ export declare class CatalogueGL {
90
92
  extHighlightSource(source: Source, highlighted: boolean): void;
91
93
  extAddSources2Selected(source: Source): void;
92
94
  private initBuffer;
93
- private getSelectionRadius;
95
+ private static readonly MIN_HIT_RADIUS_PX;
96
+ private static readonly HIT_PADDING_PX;
97
+ private static readonly CANDIDATE_RADIUS_PX;
98
+ protected getCanvas(): HTMLCanvasElement;
99
+ protected getHitRadiusPx(source: Source): number;
100
+ private getCandidateSearchRadiusRad;
101
+ protected projectPointToScreen(point: Point, mvp: mat4, width: number, height: number): [number, number] | null;
102
+ clearSelection(): void;
94
103
  private setSelectedIndexes;
95
104
  /**
96
105
  * Run click-picking and update selection with the nearest candidate in current pixel.
97
106
  * Returns the selected source or null if no source was hit.
98
107
  */
99
- getSourcesFromPointer(in_mouseHelper: MouseHelper): CataloguePickResult | null;
108
+ getSourcesFromPointer(in_mouseHelper: MouseHelper, in_mMatrix: Float32Array, vMatrix: Float32Array, pMatrix: Float32Array): CataloguePickResult | null;
100
109
  /**
101
110
  * Run click-picking and update selection with the nearest candidate in current pixel.
102
111
  * Returns the selected source or null if no source was hit.
103
112
  */
104
- selectPrimarySourceFromClick(in_mouseHelper: MouseHelper): CatalogueClickResult | null;
113
+ selectPrimarySourceFromClick(in_mouseHelper: MouseHelper, in_mMatrix: Float32Array, vMatrix: Float32Array, pMatrix: Float32Array): CatalogueClickResult | null;
105
114
  getPrimaryHoveredSource(): Source | null;
106
- private findNearestSourceIndex;
115
+ protected findNearestSourceIndex(in_mouseHelper: MouseHelper, in_mMatrix: Float32Array, vMatrix: Float32Array, pMatrix: Float32Array): number | null;
107
116
  private checkClicking;
108
117
  private checkHovering;
109
118
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogueGL.d.ts","sourceRoot":"","sources":["../../../src/model/catalogues/CatalogueGL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CatalogueGL.d.ts","sourceRoot":"","sources":["../../../src/model/catalogues/CatalogueGL.ts"],"names":[],"mappings":"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"}
@@ -11,16 +11,17 @@
11
11
  import { Source } from "../Source.js";
12
12
  import { Point } from "../Point.js";
13
13
  import { CoordsType } from "../..//utils/CoordsType.js";
14
- import { colorHex2RGB } from "../../utils/Utils.js";
14
+ import { colorHex2RGB, interactionColorsFromHex } from "../../utils/Utils.js";
15
15
  import { CatalogueShaderProgram } from "../../shader/CatalogueShaderProgram.js";
16
16
  import { MetadataManager } from "../MetadataManager.js";
17
17
  import { mat4, vec3, vec4 } from "gl-matrix";
18
+ import { Pointing, Vec3 } from "astrospatial-core/healpix";
18
19
  import global from "../../Global.js";
19
20
  export class CatalogueGL {
20
21
  _kind = "CatalogueGL";
21
22
  static ELEM_SIZE = 6;
22
23
  static BYTES_X_ELEM = new Float32Array().BYTES_PER_ELEMENT;
23
- static STANDARD_SHAPE_SIZE = 10.0;
24
+ static STANDARD_SHAPE_SIZE = 16.0;
24
25
  static STANDARD_SHAPE_HUE = 3.0;
25
26
  _ready;
26
27
  _name;
@@ -263,7 +264,7 @@ export class CatalogueGL {
263
264
  getColumnIndex(columnsmeta, columnName) {
264
265
  if (!columnName)
265
266
  return -1;
266
- return columnsmeta.find((column) => column.name === columnName)?.index ?? -1;
267
+ return (columnsmeta.find((column) => column.name === columnName)?.index ?? -1);
267
268
  }
268
269
  readCell(row, columnsmeta, columnName) {
269
270
  const idx = this.getColumnIndex(columnsmeta, columnName);
@@ -276,7 +277,9 @@ export class CatalogueGL {
276
277
  const src = String(rawSrc ?? "").trim();
277
278
  if (!src)
278
279
  return undefined;
279
- const rawKind = String(this.readCell(row, columnsmeta, mediaColumns.type) ?? "sprite").trim().toLowerCase();
280
+ const rawKind = String(this.readCell(row, columnsmeta, mediaColumns.type) ?? "sprite")
281
+ .trim()
282
+ .toLowerCase();
280
283
  const kind = rawKind === "model"
281
284
  ? "model"
282
285
  : rawKind === "image"
@@ -296,7 +299,9 @@ export class CatalogueGL {
296
299
  src,
297
300
  scale: Number.isFinite(scale) && scale > 0 ? scale : undefined,
298
301
  rotationDeg: Number.isFinite(rotationDeg) ? rotationDeg : undefined,
299
- opacity: Number.isFinite(opacity) ? Math.max(0, Math.min(1, opacity)) : undefined,
302
+ opacity: Number.isFinite(opacity)
303
+ ? Math.max(0, Math.min(1, opacity))
304
+ : undefined,
300
305
  };
301
306
  }
302
307
  clearSources() {
@@ -587,33 +592,46 @@ export class CatalogueGL {
587
592
  this._webgl.bufferData(this._webgl.ARRAY_BUFFER, this.vertexCataloguePosition, this._webgl.STATIC_DRAW);
588
593
  this._bufferInitialised = true;
589
594
  }
590
- getSelectionRadius() {
591
- const order = this._visibleTilesManager.getVisibleOrder();
592
- switch (order) {
593
- case 0:
594
- case 1:
595
- case 2:
596
- // return 0.005;
597
- return 0.01;
598
- case 3:
599
- // return 0.001;
600
- case 4:
601
- // return 0.0009;
602
- case 5:
603
- // return 0.0005;
604
- return 0.005;
605
- case 6:
606
- // return 0.0001;
607
- case 7:
608
- // return 0.00009;
609
- case 8:
610
- // return 0.00005;
611
- return 0.001;
612
- case 9:
613
- return 0.0005;
614
- default:
615
- return 0.0001;
595
+ static MIN_HIT_RADIUS_PX = 6;
596
+ static HIT_PADDING_PX = 3;
597
+ static CANDIDATE_RADIUS_PX = 16;
598
+ getCanvas() {
599
+ return this._webgl.canvas;
600
+ }
601
+ getHitRadiusPx(source) {
602
+ const markerSize = source.shapeSize ?? CatalogueGL.STANDARD_SHAPE_SIZE;
603
+ return Math.max(CatalogueGL.MIN_HIT_RADIUS_PX, markerSize / 2 + CatalogueGL.HIT_PADDING_PX);
604
+ }
605
+ getCandidateSearchRadiusRad(pMatrix) {
606
+ const canvas = this._webgl.canvas;
607
+ const width = Math.max(1, canvas.clientWidth);
608
+ const height = Math.max(1, canvas.clientHeight);
609
+ // pMatrix[0] and pMatrix[5] are the perspective scale factors for X/Y.
610
+ // Convert a small screen-space radius to a conservative angular radius.
611
+ const fovXRad = 2 * Math.atan(1 / Math.abs(pMatrix[0]));
612
+ const fovYRad = 2 * Math.atan(1 / Math.abs(pMatrix[5]));
613
+ const radPerPixel = Math.max(fovXRad / width, fovYRad / height);
614
+ return CatalogueGL.CANDIDATE_RADIUS_PX * radPerPixel;
615
+ }
616
+ projectPointToScreen(point, mvp, width, height) {
617
+ const projected = vec4.fromValues(point.x, point.y, point.z, 1);
618
+ vec4.transformMat4(projected, projected, mvp);
619
+ if (projected[3] <= 0)
620
+ return null;
621
+ const ndcX = projected[0] / projected[3];
622
+ const ndcY = projected[1] / projected[3];
623
+ return [(ndcX * 0.5 + 0.5) * width, (1 - (ndcY * 0.5 + 0.5)) * height];
624
+ }
625
+ clearSelection() {
626
+ for (const idx of this.selectedIndexes) {
627
+ const base = idx * CatalogueGL.ELEM_SIZE;
628
+ if (base + 4 >= this.vertexCataloguePosition.length)
629
+ continue;
630
+ this.vertexCataloguePosition[base + 3] = 0.0;
631
+ this.vertexCataloguePosition[base + 4] =
632
+ this._sources[idx]?.shapeSize ?? CatalogueGL.STANDARD_SHAPE_SIZE;
616
633
  }
634
+ this.selectedIndexes = [];
617
635
  }
618
636
  setSelectedIndexes(selectedIndex) {
619
637
  selectedIndex.forEach((idx) => {
@@ -640,8 +658,8 @@ export class CatalogueGL {
640
658
  * Run click-picking and update selection with the nearest candidate in current pixel.
641
659
  * Returns the selected source or null if no source was hit.
642
660
  */
643
- getSourcesFromPointer(in_mouseHelper) {
644
- const pickedIndexes = this.checkClicking(in_mouseHelper);
661
+ getSourcesFromPointer(in_mouseHelper, in_mMatrix, vMatrix, pMatrix) {
662
+ const pickedIndexes = this.checkClicking(in_mouseHelper, in_mMatrix, vMatrix, pMatrix);
645
663
  if (!pickedIndexes.length) {
646
664
  return {
647
665
  sources: [],
@@ -660,8 +678,8 @@ export class CatalogueGL {
660
678
  * Run click-picking and update selection with the nearest candidate in current pixel.
661
679
  * Returns the selected source or null if no source was hit.
662
680
  */
663
- selectPrimarySourceFromClick(in_mouseHelper) {
664
- const picked = this.getSourcesFromPointer(in_mouseHelper);
681
+ selectPrimarySourceFromClick(in_mouseHelper, in_mMatrix, vMatrix, pMatrix) {
682
+ const picked = this.getSourcesFromPointer(in_mouseHelper, in_mMatrix, vMatrix, pMatrix);
665
683
  const clickedIndexes = picked?.pickedIndexes ?? [];
666
684
  // if (!clickedIndexes.length) {
667
685
  // this.setSelectedIndexes([]);
@@ -697,42 +715,65 @@ export class CatalogueGL {
697
715
  const idx = this.hoveredIndexes[0];
698
716
  return this._sources[idx] ?? null;
699
717
  }
700
- findNearestSourceIndex(in_mouseHelper) {
701
- if (in_mouseHelper.x == null ||
702
- in_mouseHelper.y == null ||
703
- in_mouseHelper.z == null) {
718
+ findNearestSourceIndex(in_mouseHelper, in_mMatrix, vMatrix, pMatrix) {
719
+ if (in_mouseHelper.xyz == null)
704
720
  return null;
721
+ const healpix = global.getHealpix(global.selectionOrder);
722
+ const mouseVec = new Vec3(...in_mouseHelper.xyz);
723
+ const mousePointing = new Pointing(mouseVec, false);
724
+ const searchRadiusRad = this.getCandidateSearchRadiusRad(pMatrix);
725
+ const rangeSet = healpix.queryDiscInclusive(mousePointing, searchRadiusRad, 4);
726
+ const pixels = rangeSet.r;
727
+ const candidateIndexes = new Set();
728
+ for (const pixel of pixels) {
729
+ const indexes = this._healpixDensityMap.get(pixel);
730
+ if (!indexes)
731
+ continue;
732
+ indexes.forEach((idx) => candidateIndexes.add(idx));
705
733
  }
706
- const mousePix = in_mouseHelper.computeNpix();
707
- if (mousePix == null)
734
+ if (!candidateIndexes.size)
735
+ return null;
736
+ const canvas = this._webgl.canvas;
737
+ const width = canvas.clientWidth;
738
+ const height = canvas.clientHeight;
739
+ if (!width || !height)
708
740
  return null;
709
- const candidates = this._healpixDensityMap.get(mousePix);
710
- if (!candidates?.length)
741
+ const modelView = mat4.create();
742
+ const mvp = mat4.create();
743
+ mat4.multiply(modelView, vMatrix, in_mMatrix);
744
+ mat4.multiply(mvp, pMatrix, modelView);
745
+ const mousePoint = new Point({
746
+ x: in_mouseHelper.xyz[0],
747
+ y: in_mouseHelper.xyz[1],
748
+ z: in_mouseHelper.xyz[2],
749
+ }, CoordsType.CARTESIAN);
750
+ const mouseScreen = this.projectPointToScreen(mousePoint, mvp, width, height);
751
+ if (!mouseScreen)
711
752
  return null;
712
- const selR = this.getSelectionRadius();
713
753
  let nearestIndex = null;
714
- let nearestDistance = Number.POSITIVE_INFINITY;
715
- for (const sourceIdx of candidates) {
754
+ let nearestDistancePx = Number.POSITIVE_INFINITY;
755
+ for (const sourceIdx of candidateIndexes) {
716
756
  const source = this._sources[sourceIdx];
717
757
  if (!source)
718
758
  continue;
719
- const dx = source.point.x - in_mouseHelper.x;
720
- const dy = source.point.y - in_mouseHelper.y;
721
- const dz = source.point.z - in_mouseHelper.z;
722
- const dist = Math.sqrt(dx * dx + dy * dy + dz * dz);
723
- if (dist <= selR && dist < nearestDistance) {
724
- nearestDistance = dist;
759
+ const sourceScreen = this.projectPointToScreen(source.point, mvp, width, height);
760
+ if (!sourceScreen)
761
+ continue;
762
+ const distancePx = Math.hypot(sourceScreen[0] - mouseScreen[0], sourceScreen[1] - mouseScreen[1]);
763
+ if (distancePx <= this.getHitRadiusPx(source) &&
764
+ distancePx < nearestDistancePx) {
765
+ nearestDistancePx = distancePx;
725
766
  nearestIndex = sourceIdx;
726
767
  }
727
768
  }
728
769
  return nearestIndex;
729
770
  }
730
- checkClicking(in_mouseHelper) {
731
- const nearestIndex = this.findNearestSourceIndex(in_mouseHelper);
771
+ checkClicking(in_mouseHelper, in_mMatrix, vMatrix, pMatrix) {
772
+ const nearestIndex = this.findNearestSourceIndex(in_mouseHelper, in_mMatrix, vMatrix, pMatrix);
732
773
  return nearestIndex == null ? [] : [nearestIndex];
733
774
  }
734
- checkHovering(in_mouseHelper) {
735
- const nearestIndex = this.findNearestSourceIndex(in_mouseHelper);
775
+ checkHovering(in_mouseHelper, in_mMatrix, vMatrix, pMatrix) {
776
+ const nearestIndex = this.findNearestSourceIndex(in_mouseHelper, in_mMatrix, vMatrix, pMatrix);
736
777
  return nearestIndex == null ? [] : [nearestIndex];
737
778
  }
738
779
  /**
@@ -768,6 +809,13 @@ export class CatalogueGL {
768
809
  if (this._catalogueShaderProgram.locations.color) {
769
810
  this._webgl.uniform4f(this._catalogueShaderProgram.locations.color, rgb[0], rgb[1], rgb[2], 1.0);
770
811
  }
812
+ const interactionColors = interactionColorsFromHex(this._shapeColor);
813
+ if (this._catalogueShaderProgram.locations.hoverColor) {
814
+ this._webgl.uniform4f(this._catalogueShaderProgram.locations.hoverColor, ...interactionColors.hover, 1.0);
815
+ }
816
+ if (this._catalogueShaderProgram.locations.selectedColor) {
817
+ this._webgl.uniform4f(this._catalogueShaderProgram.locations.selectedColor, ...interactionColors.selected, 1.0);
818
+ }
771
819
  // selected flags
772
820
  for (let s = 0; s < this.selectedIndexes.length; s++) {
773
821
  const idx = this.selectedIndexes[s];
@@ -778,7 +826,8 @@ export class CatalogueGL {
778
826
  // clear old hovered
779
827
  for (let k = 0; k < this.hoveredIndexes.length; k++) {
780
828
  const base = this.hoveredIndexes[k] * CatalogueGL.ELEM_SIZE;
781
- // if (this.vertexCataloguePosition[base + 3] == 2.0) continue; // selected, skip hover
829
+ if (this.selectedIndexes.includes(this.hoveredIndexes[k]))
830
+ continue;
782
831
  this.vertexCataloguePosition[base + 3] = 0.0; // not hovered
783
832
  this.vertexCataloguePosition[base + 4] =
784
833
  this._sources[this.hoveredIndexes[k]].shapeSize; // size
@@ -792,7 +841,7 @@ export class CatalogueGL {
792
841
  // this.vertexCataloguePosition[base + 3] = 0.0; // not hovered
793
842
  // this.vertexCataloguePosition[base + 4] = this._sources[this.hoveredIndexes[k]].shapeSize; // size
794
843
  // }
795
- this.hoveredIndexes = this.checkHovering(in_mouseHelper);
844
+ this.hoveredIndexes = this.checkHovering(in_mouseHelper, in_mMatrix, vMatrix, pMatrix);
796
845
  // // new hovered
797
846
  // for (let i = 0; i < this.hoveredIndexes.length; i++) {
798
847
  // const idx = this.hoveredIndexes[i];
@@ -806,7 +855,8 @@ export class CatalogueGL {
806
855
  for (let i = 0; i < this.hoveredIndexes.length; i++) {
807
856
  const idx = this.hoveredIndexes[i];
808
857
  const base = idx * CatalogueGL.ELEM_SIZE;
809
- // if (this.vertexCataloguePosition[base + 3] == 2.0) continue; // selected, skip hover
858
+ if (this.selectedIndexes.includes(idx))
859
+ continue;
810
860
  this.vertexCataloguePosition[base + 3] = 1.0; // hovered
811
861
  this.vertexCataloguePosition[base + 4] = this._sources[idx].shapeSize; // size
812
862
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CatalogueGL.js","sourceRoot":"","sources":["../../../src/model/catalogues/CatalogueGL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CatalogueGL.js","sourceRoot":"","sources":["../../../src/model/catalogues/CatalogueGL.ts"],"names":[],"mappings":"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"}
@@ -15,14 +15,17 @@ export declare class XYZMap extends AbstractSkyEntity {
15
15
  private _latLonGrid;
16
16
  private _colorMapIdx;
17
17
  private _colorMap;
18
+ private _opacity;
18
19
  constructor(radius: number, position: [number, number, number], xrad: number, yrad: number, descriptor: XYZMapDescriptor, webgl: WebGL2RenderingContext, gridLabelContainers?: GridLabelContainers);
20
+ setOpacity(opacity: number): void;
19
21
  changeColorMap(colorMap: ColorMap): void;
20
22
  private initShaders;
23
+ clearLonLatGridLabels(): void;
21
24
  isLonLatGridVisible(): boolean;
22
25
  toggleLonLatGrid(): boolean;
23
26
  getFoV(): SphereFoV;
24
27
  private refresh;
25
- draw(input: SkyEntityDrawInput): void;
28
+ draw(input: SkyEntityDrawInput, asOverlay?: boolean): void;
26
29
  private createTile;
27
30
  private getTilesToEnsure;
28
31
  private findBestAvailableAncestor;
@@ -1 +1 @@
1
- {"version":3,"file":"XYZMap.d.ts","sourceRoot":"","sources":["../../../src/model/earth/XYZMap.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAa,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKrE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,qBAAa,MAAO,SAAQ,iBAAiB;IAE3C,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,KAAK,CAAA;IACb,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,SAAS,CAAsB;gBAIrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,sBAAsB,EAC7B,mBAAmB,CAAC,EAAE,mBAAmB;IAqB3C,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA6CxC,OAAO,CAAC,WAAW;IAInB,mBAAmB,IAAI,OAAO;IAI9B,gBAAgB,IAAI,OAAO;IAI3B,MAAM,IAAI,SAAS;IAInB,OAAO,CAAC,OAAO;IAQf,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAsDrC,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,cAAc;IAoBtB,aAAa,IAAI,kBAAkB;IAyBnC,OAAO,CAAC,OAAO;CAahB"}
1
+ {"version":3,"file":"XYZMap.d.ts","sourceRoot":"","sources":["../../../src/model/earth/XYZMap.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAa,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKrE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,qBAAa,MAAO,SAAQ,iBAAiB;IAE3C,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,KAAK,CAAA;IACb,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAI;gBAIlB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,sBAAsB,EAC7B,mBAAmB,CAAC,EAAE,mBAAmB;IAqB3C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKjC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA6CxC,OAAO,CAAC,WAAW;IAInB,qBAAqB,IAAI,IAAI;IAI7B,mBAAmB,IAAI,OAAO;IAI9B,gBAAgB,IAAI,OAAO;IAI3B,MAAM,IAAI,SAAS;IAInB,OAAO,CAAC,OAAO;IAQf,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,UAAQ,GAAG,IAAI;IAkFxD,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,cAAc;IAoBtB,aAAa,IAAI,kBAAkB;IAyBnC,OAAO,CAAC,OAAO;CAahB"}