astro-viewer 1.3.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.
- package/README.md +373 -0
- package/dist/astroviewer.cjs +13941 -0
- package/dist/astroviewer.cjs.map +1 -0
- package/dist/astroviewer.js +2 -0
- package/dist/astroviewer.js.map +1 -0
- package/dist/astroviewer.min.js +2 -0
- package/dist/astroviewer.min.js.map +1 -0
- package/lib-esm/AstroSphere.d.ts +114 -0
- package/lib-esm/AstroSphere.d.ts.map +1 -0
- package/lib-esm/AstroSphere.js +679 -0
- package/lib-esm/AstroSphere.js.map +1 -0
- package/lib-esm/AstroViewer.d.ts +81 -0
- package/lib-esm/AstroViewer.d.ts.map +1 -0
- package/lib-esm/AstroViewer.js +348 -0
- package/lib-esm/AstroViewer.js.map +1 -0
- package/lib-esm/Camera.d.ts +74 -0
- package/lib-esm/Camera.d.ts.map +1 -0
- package/lib-esm/Camera.js +334 -0
- package/lib-esm/Camera.js.map +1 -0
- package/lib-esm/Config.d.ts +20 -0
- package/lib-esm/Config.d.ts.map +1 -0
- package/lib-esm/Config.js +32 -0
- package/lib-esm/Config.js.map +1 -0
- package/lib-esm/Global.d.ts +27 -0
- package/lib-esm/Global.d.ts.map +1 -0
- package/lib-esm/Global.js +52 -0
- package/lib-esm/Global.js.map +1 -0
- package/lib-esm/index.d.ts +17 -0
- package/lib-esm/index.d.ts.map +1 -0
- package/lib-esm/index.js +16 -0
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/model/AbstractSkyEntity.d.ts +55 -0
- package/lib-esm/model/AbstractSkyEntity.d.ts.map +1 -0
- package/lib-esm/model/AbstractSkyEntity.js +153 -0
- package/lib-esm/model/AbstractSkyEntity.js.map +1 -0
- package/lib-esm/model/AstroGL.d.ts +11 -0
- package/lib-esm/model/AstroGL.d.ts.map +1 -0
- package/lib-esm/model/AstroGL.js +2 -0
- package/lib-esm/model/AstroGL.js.map +1 -0
- package/lib-esm/model/ColorMaps.d.ts +17 -0
- package/lib-esm/model/ColorMaps.d.ts.map +1 -0
- package/lib-esm/model/ColorMaps.js +1288 -0
- package/lib-esm/model/ColorMaps.js.map +1 -0
- package/lib-esm/model/FoV.d.ts +63 -0
- package/lib-esm/model/FoV.d.ts.map +1 -0
- package/lib-esm/model/FoV.js +275 -0
- package/lib-esm/model/FoV.js.map +1 -0
- package/lib-esm/model/MetadataColumn.d.ts +50 -0
- package/lib-esm/model/MetadataColumn.d.ts.map +1 -0
- package/lib-esm/model/MetadataColumn.js +95 -0
- package/lib-esm/model/MetadataColumn.js.map +1 -0
- package/lib-esm/model/MetadataManager.d.ts +43 -0
- package/lib-esm/model/MetadataManager.d.ts.map +1 -0
- package/lib-esm/model/MetadataManager.js +117 -0
- package/lib-esm/model/MetadataManager.js.map +1 -0
- package/lib-esm/model/Point.d.ts +53 -0
- package/lib-esm/model/Point.d.ts.map +1 -0
- package/lib-esm/model/Point.js +133 -0
- package/lib-esm/model/Point.js.map +1 -0
- package/lib-esm/model/Point2D.d.ts +9 -0
- package/lib-esm/model/Point2D.d.ts.map +1 -0
- package/lib-esm/model/Point2D.js +16 -0
- package/lib-esm/model/Point2D.js.map +1 -0
- package/lib-esm/model/Source.d.ts +34 -0
- package/lib-esm/model/Source.d.ts.map +1 -0
- package/lib-esm/model/Source.js +63 -0
- package/lib-esm/model/Source.js.map +1 -0
- package/lib-esm/model/catalogues/CatalogueGL.d.ts +91 -0
- package/lib-esm/model/catalogues/CatalogueGL.d.ts.map +1 -0
- package/lib-esm/model/catalogues/CatalogueGL.js +614 -0
- package/lib-esm/model/catalogues/CatalogueGL.js.map +1 -0
- package/lib-esm/model/catalogues/CatalogueProps.d.ts +2 -0
- package/lib-esm/model/catalogues/CatalogueProps.d.ts.map +1 -0
- package/lib-esm/model/catalogues/CatalogueProps.js +156 -0
- package/lib-esm/model/catalogues/CatalogueProps.js.map +1 -0
- package/lib-esm/model/footprints/Footprint.d.ts +44 -0
- package/lib-esm/model/footprints/Footprint.d.ts.map +1 -0
- package/lib-esm/model/footprints/Footprint.js +104 -0
- package/lib-esm/model/footprints/Footprint.js.map +1 -0
- package/lib-esm/model/footprints/FootprintProps.d.ts +2 -0
- package/lib-esm/model/footprints/FootprintProps.d.ts.map +1 -0
- package/lib-esm/model/footprints/FootprintProps.js +87 -0
- package/lib-esm/model/footprints/FootprintProps.js.map +1 -0
- package/lib-esm/model/footprints/FootprintSetGL.d.ts +106 -0
- package/lib-esm/model/footprints/FootprintSetGL.d.ts.map +1 -0
- package/lib-esm/model/footprints/FootprintSetGL.js +592 -0
- package/lib-esm/model/footprints/FootprintSetGL.js.map +1 -0
- package/lib-esm/model/grid/EquatorialGrid.d.ts +49 -0
- package/lib-esm/model/grid/EquatorialGrid.d.ts.map +1 -0
- package/lib-esm/model/grid/EquatorialGrid.js +302 -0
- package/lib-esm/model/grid/EquatorialGrid.js.map +1 -0
- package/lib-esm/model/grid/GridTextHelper.d.ts +26 -0
- package/lib-esm/model/grid/GridTextHelper.d.ts.map +1 -0
- package/lib-esm/model/grid/GridTextHelper.js +92 -0
- package/lib-esm/model/grid/GridTextHelper.js.map +1 -0
- package/lib-esm/model/grid/HealpixGrid.d.ts +49 -0
- package/lib-esm/model/grid/HealpixGrid.d.ts.map +1 -0
- package/lib-esm/model/grid/HealpixGrid.js +306 -0
- package/lib-esm/model/grid/HealpixGrid.js.map +1 -0
- package/lib-esm/model/hips/AllSky.d.ts +40 -0
- package/lib-esm/model/hips/AllSky.d.ts.map +1 -0
- package/lib-esm/model/hips/AllSky.js +232 -0
- package/lib-esm/model/hips/AllSky.js.map +1 -0
- package/lib-esm/model/hips/AncestorTile.d.ts +38 -0
- package/lib-esm/model/hips/AncestorTile.d.ts.map +1 -0
- package/lib-esm/model/hips/AncestorTile.js +248 -0
- package/lib-esm/model/hips/AncestorTile.js.map +1 -0
- package/lib-esm/model/hips/FoVHelper.d.ts +11 -0
- package/lib-esm/model/hips/FoVHelper.d.ts.map +1 -0
- package/lib-esm/model/hips/FoVHelper.js +107 -0
- package/lib-esm/model/hips/FoVHelper.js.map +1 -0
- package/lib-esm/model/hips/HiPS.d.ts +47 -0
- package/lib-esm/model/hips/HiPS.d.ts.map +1 -0
- package/lib-esm/model/hips/HiPS.js +222 -0
- package/lib-esm/model/hips/HiPS.js.map +1 -0
- package/lib-esm/model/hips/HiPSDescriptor.d.ts +37 -0
- package/lib-esm/model/hips/HiPSDescriptor.d.ts.map +1 -0
- package/lib-esm/model/hips/HiPSDescriptor.js +132 -0
- package/lib-esm/model/hips/HiPSDescriptor.js.map +1 -0
- package/lib-esm/model/hips/Tile.d.ts +51 -0
- package/lib-esm/model/hips/Tile.d.ts.map +1 -0
- package/lib-esm/model/hips/Tile.js +355 -0
- package/lib-esm/model/hips/Tile.js.map +1 -0
- package/lib-esm/model/hips/TileBuffer.d.ts +39 -0
- package/lib-esm/model/hips/TileBuffer.d.ts.map +1 -0
- package/lib-esm/model/hips/TileBuffer.js +148 -0
- package/lib-esm/model/hips/TileBuffer.js.map +1 -0
- package/lib-esm/model/hips/VisibleTilesManager.d.ts +35 -0
- package/lib-esm/model/hips/VisibleTilesManager.d.ts.map +1 -0
- package/lib-esm/model/hips/VisibleTilesManager.js +160 -0
- package/lib-esm/model/hips/VisibleTilesManager.js.map +1 -0
- package/lib-esm/model/tap/TapMetadata.d.ts +31 -0
- package/lib-esm/model/tap/TapMetadata.d.ts.map +1 -0
- package/lib-esm/model/tap/TapMetadata.js +55 -0
- package/lib-esm/model/tap/TapMetadata.js.map +1 -0
- package/lib-esm/model/tap/TapMetadataList.d.ts +23 -0
- package/lib-esm/model/tap/TapMetadataList.d.ts.map +1 -0
- package/lib-esm/model/tap/TapMetadataList.js +58 -0
- package/lib-esm/model/tap/TapMetadataList.js.map +1 -0
- package/lib-esm/model/tap/TapRepo.d.ts +27 -0
- package/lib-esm/model/tap/TapRepo.d.ts.map +1 -0
- package/lib-esm/model/tap/TapRepo.js +51 -0
- package/lib-esm/model/tap/TapRepo.js.map +1 -0
- package/lib-esm/services/SesameService.d.ts +14 -0
- package/lib-esm/services/SesameService.d.ts.map +1 -0
- package/lib-esm/services/SesameService.js +54 -0
- package/lib-esm/services/SesameService.js.map +1 -0
- package/lib-esm/services/helpers.d.ts +5 -0
- package/lib-esm/services/helpers.d.ts.map +1 -0
- package/lib-esm/services/helpers.js +16 -0
- package/lib-esm/services/helpers.js.map +1 -0
- package/lib-esm/services/hipsNodeService.d.ts +7 -0
- package/lib-esm/services/hipsNodeService.d.ts.map +1 -0
- package/lib-esm/services/hipsNodeService.js +65 -0
- package/lib-esm/services/hipsNodeService.js.map +1 -0
- package/lib-esm/services/parse-hipslist.d.ts +3 -0
- package/lib-esm/services/parse-hipslist.d.ts.map +1 -0
- package/lib-esm/services/parse-hipslist.js +25 -0
- package/lib-esm/services/parse-hipslist.js.map +1 -0
- package/lib-esm/services/queryCatalogueByFoV.d.ts +2 -0
- package/lib-esm/services/queryCatalogueByFoV.d.ts.map +1 -0
- package/lib-esm/services/queryCatalogueByFoV.js +56 -0
- package/lib-esm/services/queryCatalogueByFoV.js.map +1 -0
- package/lib-esm/services/queryFootprintSetByFov.d.ts +2 -0
- package/lib-esm/services/queryFootprintSetByFov.d.ts.map +1 -0
- package/lib-esm/services/queryFootprintSetByFov.js +128 -0
- package/lib-esm/services/queryFootprintSetByFov.js.map +1 -0
- package/lib-esm/services/tapRepoService.d.ts +2 -0
- package/lib-esm/services/tapRepoService.d.ts.map +1 -0
- package/lib-esm/services/tapRepoService.js +190 -0
- package/lib-esm/services/tapRepoService.js.map +1 -0
- package/lib-esm/services/types.d.ts +13 -0
- package/lib-esm/services/types.d.ts.map +1 -0
- package/lib-esm/services/types.js +2 -0
- package/lib-esm/services/types.js.map +1 -0
- package/lib-esm/shader/CatalogueShaderProgram.d.ts +35 -0
- package/lib-esm/shader/CatalogueShaderProgram.d.ts.map +1 -0
- package/lib-esm/shader/CatalogueShaderProgram.js +94 -0
- package/lib-esm/shader/CatalogueShaderProgram.js.map +1 -0
- package/lib-esm/shader/FootprintShaderProgram.d.ts +31 -0
- package/lib-esm/shader/FootprintShaderProgram.d.ts.map +1 -0
- package/lib-esm/shader/FootprintShaderProgram.js +86 -0
- package/lib-esm/shader/FootprintShaderProgram.js.map +1 -0
- package/lib-esm/shader/GridShaderManager.d.ts +6 -0
- package/lib-esm/shader/GridShaderManager.d.ts.map +1 -0
- package/lib-esm/shader/GridShaderManager.js +29 -0
- package/lib-esm/shader/GridShaderManager.js.map +1 -0
- package/lib-esm/shader/HiPSShaderProgram.d.ts +54 -0
- package/lib-esm/shader/HiPSShaderProgram.d.ts.map +1 -0
- package/lib-esm/shader/HiPSShaderProgram.js +257 -0
- package/lib-esm/shader/HiPSShaderProgram.js.map +1 -0
- package/lib-esm/shader/ShaderManager.d.ts +12 -0
- package/lib-esm/shader/ShaderManager.d.ts.map +1 -0
- package/lib-esm/shader/ShaderManager.js +344 -0
- package/lib-esm/shader/ShaderManager.js.map +1 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts +12 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts.map +1 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.js +750 -0
- package/lib-esm/shader/ShaderManagerMutliHiPS.js.map +1 -0
- package/lib-esm/utils/CoordsType.d.ts +10 -0
- package/lib-esm/utils/CoordsType.d.ts.map +1 -0
- package/lib-esm/utils/CoordsType.js +12 -0
- package/lib-esm/utils/CoordsType.js.map +1 -0
- package/lib-esm/utils/FoVUtils.d.ts +46 -0
- package/lib-esm/utils/FoVUtils.d.ts.map +1 -0
- package/lib-esm/utils/FoVUtils.js +217 -0
- package/lib-esm/utils/FoVUtils.js.map +1 -0
- package/lib-esm/utils/GeomUtils.d.ts +36 -0
- package/lib-esm/utils/GeomUtils.d.ts.map +1 -0
- package/lib-esm/utils/GeomUtils.js +267 -0
- package/lib-esm/utils/GeomUtils.js.map +1 -0
- package/lib-esm/utils/MouseHelper.d.ts +36 -0
- package/lib-esm/utils/MouseHelper.d.ts.map +1 -0
- package/lib-esm/utils/MouseHelper.js +94 -0
- package/lib-esm/utils/MouseHelper.js.map +1 -0
- package/lib-esm/utils/PerspectiveMatrixManager.d.ts +11 -0
- package/lib-esm/utils/PerspectiveMatrixManager.d.ts.map +1 -0
- package/lib-esm/utils/PerspectiveMatrixManager.js +37 -0
- package/lib-esm/utils/PerspectiveMatrixManager.js.map +1 -0
- package/lib-esm/utils/RayPickingUtils.d.ts +30 -0
- package/lib-esm/utils/RayPickingUtils.d.ts.map +1 -0
- package/lib-esm/utils/RayPickingUtils.js +112 -0
- package/lib-esm/utils/RayPickingUtils.js.map +1 -0
- package/lib-esm/utils/STCSParser.d.ts +16 -0
- package/lib-esm/utils/STCSParser.d.ts.map +1 -0
- package/lib-esm/utils/STCSParser.js +96 -0
- package/lib-esm/utils/STCSParser.js.map +1 -0
- package/lib-esm/utils/ShaderUtility.d.ts +2 -0
- package/lib-esm/utils/ShaderUtility.d.ts.map +1 -0
- package/lib-esm/utils/ShaderUtility.js +23 -0
- package/lib-esm/utils/ShaderUtility.js.map +1 -0
- package/lib-esm/utils/Utils.d.ts +32 -0
- package/lib-esm/utils/Utils.d.ts.map +1 -0
- package/lib-esm/utils/Utils.js +77 -0
- package/lib-esm/utils/Utils.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
// // CatalogueProps.ts
|
|
2
|
+
// type UCD = string | undefined;
|
|
3
|
+
export {};
|
|
4
|
+
// import {Metadata} from "../tap/TapMetadata.js";
|
|
5
|
+
// import {TapMetadataList} from "../tap/TapMetadataList.js";
|
|
6
|
+
// function colName(col?: Metadata): string | undefined {
|
|
7
|
+
// return col?.name ?? col?.name;
|
|
8
|
+
// }
|
|
9
|
+
// function sameName(a?: Metadata, name?: string): boolean {
|
|
10
|
+
// if (!a || !name) return false;
|
|
11
|
+
// return colName(a) === name;
|
|
12
|
+
// }
|
|
13
|
+
// export default class CatalogueProps {
|
|
14
|
+
// static STANDARD_SIZE: string = "STANDARD_SIZE"
|
|
15
|
+
// static STANDARD_HUE: string = "STANDARD_HUE"
|
|
16
|
+
// raColumn!: Metadata;
|
|
17
|
+
// decColumn!: Metadata;
|
|
18
|
+
// nameColumn?: Metadata;
|
|
19
|
+
// /** Optional: numeric/size-mapped column */
|
|
20
|
+
// shapeSizeColumn?: Metadata;
|
|
21
|
+
// /** Optional: hue/category-mapped column */
|
|
22
|
+
// shapeHueColumn?: Metadata;
|
|
23
|
+
// /** Base color (hex string like #RRGGBB) */
|
|
24
|
+
// shapeColor: string;
|
|
25
|
+
// /** Full metadata list reference (kept in sync by updateColumnsIndex) */
|
|
26
|
+
// tapMetadataList: TapMetadataList;
|
|
27
|
+
// constructor(tapMetadataList: TapMetadataList, color: string) {
|
|
28
|
+
// this.raColumn = this.setRAColumns(tapMetadataList);
|
|
29
|
+
// this.decColumn = this.setDecColumns(tapMetadataList);
|
|
30
|
+
// this.nameColumn = this.setNameColumn(tapMetadataList);
|
|
31
|
+
// this.shapeSizeColumn = undefined;
|
|
32
|
+
// this.shapeHueColumn = undefined;
|
|
33
|
+
// this.shapeColor = color;
|
|
34
|
+
// this.tapMetadataList = tapMetadataList;
|
|
35
|
+
// }
|
|
36
|
+
// /** Rebinds saved column references to the new metadata objects (preserves indices, etc.). */
|
|
37
|
+
// updateColumnsIndex(metadataList: TapMetadataList['_metadataList']): void {
|
|
38
|
+
// for (const col of metadataList) {
|
|
39
|
+
// if (sameName(this.raColumn, colName(col))) this.raColumn = col;
|
|
40
|
+
// else if (sameName(this.decColumn, colName(col))) this.decColumn = col;
|
|
41
|
+
// else if (this.shapeHueColumn && sameName(this.shapeHueColumn, colName(col))) this.shapeHueColumn = col;
|
|
42
|
+
// else if (this.shapeSizeColumn && sameName(this.shapeSizeColumn, colName(col))) this.shapeSizeColumn = col;
|
|
43
|
+
// else if (this.nameColumn && sameName(this.nameColumn, colName(col))) this.nameColumn = col;
|
|
44
|
+
// }
|
|
45
|
+
// // Keep the container reference up to date if needed elsewhere.
|
|
46
|
+
// this.tapMetadataList.metadataList = metadataList;
|
|
47
|
+
// }
|
|
48
|
+
// private setRAColumns(tapMetadataList: TapMetadataList): Metadata {
|
|
49
|
+
// let column: Metadata | undefined;
|
|
50
|
+
// for (const tapMetadata of tapMetadataList.posEqRAMetaColumns) {
|
|
51
|
+
// const u = tapMetadata.ucd;
|
|
52
|
+
// if (u && u.includes('pos.eq.ra')) {
|
|
53
|
+
// if (u.includes('meta.main')) {
|
|
54
|
+
// column = tapMetadata; // prefer the main one
|
|
55
|
+
// break;
|
|
56
|
+
// }
|
|
57
|
+
// if (!column) column = tapMetadata; // fallback to first valid one
|
|
58
|
+
// }
|
|
59
|
+
// }
|
|
60
|
+
// if (!column) {
|
|
61
|
+
// throw new Error('No RA column found (UCD pos.eq.ra) in _posEqRAMetaColumns');
|
|
62
|
+
// }
|
|
63
|
+
// return column;
|
|
64
|
+
// }
|
|
65
|
+
// private setDecColumns(tapMetadataList: TapMetadataList): Metadata {
|
|
66
|
+
// let column: Metadata | undefined;
|
|
67
|
+
// for (const tapMetadata of tapMetadataList.posEqDecMetaColumns) {
|
|
68
|
+
// const u = tapMetadata.ucd;
|
|
69
|
+
// if (u && u.includes('pos.eq.dec')) {
|
|
70
|
+
// if (u.includes('meta.main')) {
|
|
71
|
+
// column = tapMetadata; // prefer the main one
|
|
72
|
+
// break;
|
|
73
|
+
// }
|
|
74
|
+
// if (!column) column = tapMetadata; // fallback to first valid one
|
|
75
|
+
// }
|
|
76
|
+
// }
|
|
77
|
+
// if (!column) {
|
|
78
|
+
// throw new Error('No Dec column found (UCD pos.eq.dec) in _posEqDecMetaColumns');
|
|
79
|
+
// }
|
|
80
|
+
// return column;
|
|
81
|
+
// }
|
|
82
|
+
// private setNameColumn(tapMetadataList: TapMetadataList): Metadata | undefined {
|
|
83
|
+
// let column: Metadata | undefined;
|
|
84
|
+
// for (const tapMetadata of tapMetadataList.metadataList) {
|
|
85
|
+
// const u = tapMetadata.ucd;
|
|
86
|
+
// if (u && u.includes('meta.id') && u.includes('meta.main')) {
|
|
87
|
+
// column = tapMetadata; // prefer id+main
|
|
88
|
+
// }
|
|
89
|
+
// }
|
|
90
|
+
// // It’s okay if there’s no strong "name" column; methods below handle undefined.
|
|
91
|
+
// return column;
|
|
92
|
+
// }
|
|
93
|
+
// changeColor(color: string): void {
|
|
94
|
+
// this.shapeColor = color;
|
|
95
|
+
// }
|
|
96
|
+
// changeMetaName(metacolumnName: string): void {
|
|
97
|
+
// if (this.nameColumn && colName(this.nameColumn) === metacolumnName) return;
|
|
98
|
+
// for (const column of this.tapMetadataList.metadataList) {
|
|
99
|
+
// if (colName(column) === metacolumnName) {
|
|
100
|
+
// this.nameColumn = column;
|
|
101
|
+
// break;
|
|
102
|
+
// }
|
|
103
|
+
// }
|
|
104
|
+
// }
|
|
105
|
+
// /** Returns true to indicate a refresh-by-FoV is needed (preserves original behavior). */
|
|
106
|
+
// changeCatalogueMetaRA(metacolumnName: string): boolean {
|
|
107
|
+
// if (colName(this.raColumn) !== metacolumnName) {
|
|
108
|
+
// for (const column of this.tapMetadataList.metadataList) {
|
|
109
|
+
// if (colName(column) === metacolumnName) {
|
|
110
|
+
// this.raColumn = column;
|
|
111
|
+
// break;
|
|
112
|
+
// }
|
|
113
|
+
// }
|
|
114
|
+
// }
|
|
115
|
+
// return true;
|
|
116
|
+
// }
|
|
117
|
+
// /** Returns true to indicate a refresh-by-FoV is needed (preserves original behavior). */
|
|
118
|
+
// changeCatalogueMetaDec(metacolumnName: string): boolean {
|
|
119
|
+
// if (colName(this.decColumn) !== metacolumnName) {
|
|
120
|
+
// for (const column of this.tapMetadataList.metadataList) {
|
|
121
|
+
// if (colName(column) === metacolumnName) {
|
|
122
|
+
// this.decColumn = column;
|
|
123
|
+
// break;
|
|
124
|
+
// }
|
|
125
|
+
// }
|
|
126
|
+
// }
|
|
127
|
+
// return true;
|
|
128
|
+
// }
|
|
129
|
+
// resetCatalogueMetaShapeSize(): void {
|
|
130
|
+
// this.shapeSizeColumn = undefined;
|
|
131
|
+
// }
|
|
132
|
+
// changeCatalogueMetaShapeSize(metacolumnName: string): void {
|
|
133
|
+
// if (!this.shapeSizeColumn || colName(this.shapeSizeColumn) !== metacolumnName) {
|
|
134
|
+
// for (const column of this.tapMetadataList.metadataList) {
|
|
135
|
+
// if (colName(column) === metacolumnName) {
|
|
136
|
+
// this.shapeSizeColumn = column;
|
|
137
|
+
// break;
|
|
138
|
+
// }
|
|
139
|
+
// }
|
|
140
|
+
// }
|
|
141
|
+
// }
|
|
142
|
+
// resetCatalogueMetaShapeHue() {
|
|
143
|
+
// this.shapeHueColumn = undefined;
|
|
144
|
+
// }
|
|
145
|
+
// changeCatalogueMetaShapeHue(metacolumnName: string): void {
|
|
146
|
+
// if (!this.shapeHueColumn || colName(this.shapeHueColumn) !== metacolumnName) {
|
|
147
|
+
// for (const column of this.tapMetadataList.metadataList) {
|
|
148
|
+
// if (colName(column) === metacolumnName) {
|
|
149
|
+
// this.shapeHueColumn = column;
|
|
150
|
+
// break;
|
|
151
|
+
// }
|
|
152
|
+
// }
|
|
153
|
+
// }
|
|
154
|
+
// }
|
|
155
|
+
// }
|
|
156
|
+
//# sourceMappingURL=CatalogueProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CatalogueProps.js","sourceRoot":"","sources":["../../../src/model/catalogues/CatalogueProps.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,iCAAiC;;AAEjC,kDAAkD;AAClD,6DAA6D;AAE7D,yDAAyD;AACzD,mCAAmC;AACnC,IAAI;AAEJ,4DAA4D;AAC5D,mCAAmC;AACnC,gCAAgC;AAChC,IAAI;AAIJ,wCAAwC;AAExC,mDAAmD;AACnD,iDAAiD;AAEjD,yBAAyB;AACzB,0BAA0B;AAC1B,2BAA2B;AAC3B,gDAAgD;AAChD,gCAAgC;AAChC,gDAAgD;AAChD,+BAA+B;AAE/B,gDAAgD;AAChD,wBAAwB;AAExB,6EAA6E;AAC7E,sCAAsC;AAEtC,mEAAmE;AACnE,0DAA0D;AAC1D,4DAA4D;AAC5D,6DAA6D;AAE7D,wCAAwC;AACxC,uCAAuC;AACvC,+BAA+B;AAC/B,8CAA8C;AAC9C,MAAM;AAEN,kGAAkG;AAClG,+EAA+E;AAC/E,wCAAwC;AACxC,wEAAwE;AACxE,+EAA+E;AAC/E,gHAAgH;AAChH,mHAAmH;AACnH,oGAAoG;AACpG,QAAQ;AACR,sEAAsE;AACtE,wDAAwD;AACxD,MAAM;AAEN,uEAAuE;AACvE,wCAAwC;AAExC,sEAAsE;AACtE,mCAAmC;AACnC,4CAA4C;AAC5C,yCAAyC;AACzC,yDAAyD;AACzD,mBAAmB;AACnB,YAAY;AACZ,4EAA4E;AAC5E,UAAU;AACV,QAAQ;AAER,qBAAqB;AACrB,sFAAsF;AACtF,QAAQ;AACR,qBAAqB;AACrB,MAAM;AAEN,wEAAwE;AACxE,wCAAwC;AAExC,uEAAuE;AACvE,mCAAmC;AACnC,6CAA6C;AAC7C,yCAAyC;AACzC,yDAAyD;AACzD,mBAAmB;AACnB,YAAY;AACZ,4EAA4E;AAC5E,UAAU;AACV,QAAQ;AAER,qBAAqB;AACrB,yFAAyF;AACzF,QAAQ;AACR,qBAAqB;AACrB,MAAM;AAEN,oFAAoF;AACpF,wCAAwC;AAExC,gEAAgE;AAChE,mCAAmC;AACnC,qEAAqE;AACrE,kDAAkD;AAClD,UAAU;AACV,QAAQ;AACR,uFAAuF;AACvF,qBAAqB;AACrB,MAAM;AAEN,uCAAuC;AACvC,+BAA+B;AAC/B,MAAM;AAEN,mDAAmD;AACnD,kFAAkF;AAElF,gEAAgE;AAChE,kDAAkD;AAClD,oCAAoC;AACpC,iBAAiB;AACjB,UAAU;AACV,QAAQ;AACR,MAAM;AAEN,8FAA8F;AAC9F,6DAA6D;AAC7D,uDAAuD;AACvD,kEAAkE;AAClE,oDAAoD;AACpD,oCAAoC;AACpC,mBAAmB;AACnB,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,mBAAmB;AACnB,MAAM;AAEN,8FAA8F;AAC9F,8DAA8D;AAC9D,wDAAwD;AACxD,kEAAkE;AAClE,oDAAoD;AACpD,qCAAqC;AACrC,mBAAmB;AACnB,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,mBAAmB;AACnB,MAAM;AAEN,0CAA0C;AAC1C,wCAAwC;AACxC,MAAM;AAEN,iEAAiE;AACjE,uFAAuF;AACvF,kEAAkE;AAClE,oDAAoD;AACpD,2CAA2C;AAC3C,mBAAmB;AACnB,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM;AAEN,mCAAmC;AACnC,uCAAuC;AACvC,MAAM;AAEN,gEAAgE;AAChE,qFAAqF;AACrF,kEAAkE;AAClE,oDAAoD;AACpD,0CAA0C;AAC1C,mBAAmB;AACnB,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Fabrizio Giordano (Fab)
|
|
3
|
+
*/
|
|
4
|
+
import { SelectionObj } from '../../utils/GeomUtils.js';
|
|
5
|
+
import { Point } from '../Point.js';
|
|
6
|
+
export interface FootprintDetail {
|
|
7
|
+
key: string;
|
|
8
|
+
value: string | number;
|
|
9
|
+
valueType?: string;
|
|
10
|
+
unit?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class Footprint {
|
|
13
|
+
private _polygons;
|
|
14
|
+
private _convexPolygons;
|
|
15
|
+
private _stcs?;
|
|
16
|
+
private _valid;
|
|
17
|
+
private _details;
|
|
18
|
+
private _totPoints;
|
|
19
|
+
private _totConvexPoints;
|
|
20
|
+
private _npix256?;
|
|
21
|
+
private _footprintsPointsOrder?;
|
|
22
|
+
private _selectionObj;
|
|
23
|
+
private _identifier?;
|
|
24
|
+
private _center?;
|
|
25
|
+
/**
|
|
26
|
+
* @param in_stcs STC-S representation of the footprint
|
|
27
|
+
* @param in_details optional metadata
|
|
28
|
+
* @param footprintsPointsOrder 1-> clockwise, -1 counter clockwise
|
|
29
|
+
*/
|
|
30
|
+
constructor(in_stcs?: string, in_details?: FootprintDetail[], footprintsPointsOrder?: 1 | -1);
|
|
31
|
+
private computeSelectionObject;
|
|
32
|
+
private computePoints;
|
|
33
|
+
get valid(): boolean;
|
|
34
|
+
get totPoints(): number;
|
|
35
|
+
get totConvexPoints(): number;
|
|
36
|
+
get polygons(): Point[][];
|
|
37
|
+
get convexPolygons(): Point[][];
|
|
38
|
+
get identifier(): string | undefined;
|
|
39
|
+
get center(): unknown;
|
|
40
|
+
get pixels(): number[] | undefined;
|
|
41
|
+
get details(): FootprintDetail[];
|
|
42
|
+
get selectionObj(): SelectionObj | undefined;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=Footprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Footprint.d.ts","sourceRoot":"","sources":["../../../src/model/footprints/Footprint.ts"],"names":[],"mappings":"AACA;;GAEG;AAIH,OAAkB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGnE,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAElC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAOD,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,sBAAsB,CAAC,CAAS;IACxC,OAAO,CAAC,aAAa,CAA2B;IAEhD,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAU;IAE1B;;;;OAIG;gBAED,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,GAAE,eAAe,EAAO,EAClC,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAkBhC,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,aAAa;IAMrB,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,QAAQ,IAAI,KAAK,EAAE,EAAE,CAExB;IAED,IAAI,cAAc,IAAI,KAAK,EAAE,EAAE,CAE9B;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,IAAI,MAAM,EAAE,GAAG,SAAS,CAEjC;IAED,IAAI,OAAO,IAAI,eAAe,EAAE,CAE/B;IAED,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAE3C;CACF"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
/**
|
|
3
|
+
* @author Fabrizio Giordano (Fab)
|
|
4
|
+
*/
|
|
5
|
+
// import { Pointing, Healpix } from 'healpixjs';
|
|
6
|
+
// import { degToRad } from '../../utils/Utils.js';
|
|
7
|
+
import GeomUtils from '../../utils/GeomUtils.js';
|
|
8
|
+
// import global from '../../Global.js';
|
|
9
|
+
import STCSParser from '../../utils/STCSParser.js';
|
|
10
|
+
// export interface ParsedSTCS {
|
|
11
|
+
// polygons: Point[][]; // array of polygons (each polygon is array of Point objects)
|
|
12
|
+
// totpoints: number;
|
|
13
|
+
// }
|
|
14
|
+
export class Footprint {
|
|
15
|
+
_polygons = []; // array of polygons (-> array of points)
|
|
16
|
+
_convexPolygons = []; // convex polygons
|
|
17
|
+
_stcs; // STC-S string
|
|
18
|
+
_valid = false;
|
|
19
|
+
_details;
|
|
20
|
+
_totPoints = 0;
|
|
21
|
+
_totConvexPoints = 0;
|
|
22
|
+
_npix256;
|
|
23
|
+
_footprintsPointsOrder;
|
|
24
|
+
_selectionObj;
|
|
25
|
+
_identifier;
|
|
26
|
+
_center; // could be typed if you have a Point type
|
|
27
|
+
/**
|
|
28
|
+
* @param in_stcs STC-S representation of the footprint
|
|
29
|
+
* @param in_details optional metadata
|
|
30
|
+
* @param footprintsPointsOrder 1-> clockwise, -1 counter clockwise
|
|
31
|
+
*/
|
|
32
|
+
constructor(in_stcs, in_details = [], footprintsPointsOrder) {
|
|
33
|
+
if (in_stcs) {
|
|
34
|
+
this._stcs = in_stcs.toUpperCase();
|
|
35
|
+
this._details = in_details;
|
|
36
|
+
this._totPoints = 0;
|
|
37
|
+
this._totConvexPoints = 0;
|
|
38
|
+
this._footprintsPointsOrder = footprintsPointsOrder;
|
|
39
|
+
this.computePoints();
|
|
40
|
+
this._selectionObj = this.computeSelectionObject();
|
|
41
|
+
this._valid = true;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this._details = [];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
computeSelectionObject() {
|
|
48
|
+
return GeomUtils.computeSelectionObject(this._polygons);
|
|
49
|
+
}
|
|
50
|
+
// /**
|
|
51
|
+
// * Return array of HEALPix pixels covering the footprint
|
|
52
|
+
// * NOTE: despite the name, nside is not fixed at 256. It comes from Global.js
|
|
53
|
+
// */
|
|
54
|
+
// private computeNpix256(): number[] {
|
|
55
|
+
// const healpix256 = new Healpix(global.nsideForSelection);
|
|
56
|
+
// const points: Pointing[] = [];
|
|
57
|
+
// for (const poly of this._convexPolygons) {
|
|
58
|
+
// for (const currPoint of poly) {
|
|
59
|
+
// const phiTheta = currPoint.computeHealpixPhiTheta();
|
|
60
|
+
// const phiRad = degToRad(phiTheta.phi);
|
|
61
|
+
// const thetaRad = degToRad(phiTheta.theta);
|
|
62
|
+
// points.push(new Pointing(null, false, thetaRad, phiRad));
|
|
63
|
+
// }
|
|
64
|
+
// }
|
|
65
|
+
// const rangeSet = healpix256.queryPolygonInclusive(points, 32);
|
|
66
|
+
// return Array.from(rangeSet.r);
|
|
67
|
+
// }
|
|
68
|
+
computePoints() {
|
|
69
|
+
const res = STCSParser.parseSTCS(this._stcs);
|
|
70
|
+
this._polygons = res.polygons;
|
|
71
|
+
this._totPoints = res.totpoints;
|
|
72
|
+
}
|
|
73
|
+
get valid() {
|
|
74
|
+
return this._valid;
|
|
75
|
+
}
|
|
76
|
+
get totPoints() {
|
|
77
|
+
return this._totPoints;
|
|
78
|
+
}
|
|
79
|
+
get totConvexPoints() {
|
|
80
|
+
return this._totConvexPoints;
|
|
81
|
+
}
|
|
82
|
+
get polygons() {
|
|
83
|
+
return this._polygons;
|
|
84
|
+
}
|
|
85
|
+
get convexPolygons() {
|
|
86
|
+
return this._convexPolygons;
|
|
87
|
+
}
|
|
88
|
+
get identifier() {
|
|
89
|
+
return this._identifier;
|
|
90
|
+
}
|
|
91
|
+
get center() {
|
|
92
|
+
return this._center;
|
|
93
|
+
}
|
|
94
|
+
get pixels() {
|
|
95
|
+
return this._npix256;
|
|
96
|
+
}
|
|
97
|
+
get details() {
|
|
98
|
+
return this._details;
|
|
99
|
+
}
|
|
100
|
+
get selectionObj() {
|
|
101
|
+
return this._selectionObj;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=Footprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Footprint.js","sourceRoot":"","sources":["../../../src/model/footprints/Footprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FootprintProps.d.ts","sourceRoot":"","sources":["../../../src/model/footprints/FootprintProps.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// import {Metadata} from '../tap/TapMetadata.js';
|
|
2
|
+
// import {TapMetadataList} from '../tap/TapMetadataList.js';
|
|
3
|
+
export {};
|
|
4
|
+
// export default class FootprintProps {
|
|
5
|
+
// // resolved columns
|
|
6
|
+
// pgSphereColumn?: Metadata;
|
|
7
|
+
// geomColumn?: Metadata;
|
|
8
|
+
// raColumn?: Metadata;
|
|
9
|
+
// decColumn?: Metadata;
|
|
10
|
+
// nameColumn?: Metadata;
|
|
11
|
+
// shapeColor: string;
|
|
12
|
+
// tapMetadataList: TapMetadataList;
|
|
13
|
+
// constructor(tapMetadataList: TapMetadataList, color: string) {
|
|
14
|
+
// this.tapMetadataList = tapMetadataList;
|
|
15
|
+
// this.shapeColor = color;
|
|
16
|
+
// this.setPositionColumns(tapMetadataList);
|
|
17
|
+
// this.nameColumn = this.setNameColumn(tapMetadataList);
|
|
18
|
+
// }
|
|
19
|
+
// private setPositionColumns(tapMetadataList: TapMetadataList): void {
|
|
20
|
+
// // pgSphere
|
|
21
|
+
// for (const meta of tapMetadataList.pgSphereMetaColumns) {
|
|
22
|
+
// this.pgSphereColumn = meta;
|
|
23
|
+
// }
|
|
24
|
+
// // s_region (choose the 'pos.outline;obs.field' if available; otherwise first)
|
|
25
|
+
// for (const meta of tapMetadataList.sRegionMetaColumns) {
|
|
26
|
+
// if (meta.ucd && meta.ucd.includes('pos.outline;obs.field')) {
|
|
27
|
+
// this.geomColumn = meta;
|
|
28
|
+
// break;
|
|
29
|
+
// }
|
|
30
|
+
// if (!this.geomColumn) {
|
|
31
|
+
// this.geomColumn = meta;
|
|
32
|
+
// }
|
|
33
|
+
// }
|
|
34
|
+
// // RA (prefer meta.main)
|
|
35
|
+
// for (const meta of tapMetadataList.posEqRAMetaColumns) {
|
|
36
|
+
// if (meta.ucd && meta.ucd.includes('meta.main')) {
|
|
37
|
+
// this.raColumn = meta;
|
|
38
|
+
// break;
|
|
39
|
+
// }
|
|
40
|
+
// if (!this.raColumn) {
|
|
41
|
+
// this.raColumn = meta;
|
|
42
|
+
// }
|
|
43
|
+
// }
|
|
44
|
+
// // DEC (prefer meta.main) – supports both posEqDecMetaColumns and _posEqDecMetaColumns
|
|
45
|
+
// const decList =
|
|
46
|
+
// tapMetadataList.posEqDecMetaColumns?.length
|
|
47
|
+
// ? tapMetadataList.posEqDecMetaColumns
|
|
48
|
+
// : tapMetadataList.posEqDecMetaColumns ?? [];
|
|
49
|
+
// for (const meta of decList) {
|
|
50
|
+
// if (meta.ucd && meta.ucd.includes('meta.main')) {
|
|
51
|
+
// this.decColumn = meta;
|
|
52
|
+
// break;
|
|
53
|
+
// }
|
|
54
|
+
// if (!this.decColumn) {
|
|
55
|
+
// this.decColumn = meta;
|
|
56
|
+
// }
|
|
57
|
+
// }
|
|
58
|
+
// }
|
|
59
|
+
// private setNameColumn(tapMetadataList: TapMetadataList): Metadata | undefined {
|
|
60
|
+
// let nameColumn: Metadata | undefined;
|
|
61
|
+
// for (const meta of tapMetadataList.metadataList) {
|
|
62
|
+
// if (meta.ucd?.includes('meta.id') && meta.ucd?.includes('meta.main')) {
|
|
63
|
+
// nameColumn = meta;
|
|
64
|
+
// }
|
|
65
|
+
// }
|
|
66
|
+
// return nameColumn;
|
|
67
|
+
// }
|
|
68
|
+
// changeColor(color: string): void {
|
|
69
|
+
// this.shapeColor = color;
|
|
70
|
+
// }
|
|
71
|
+
// changeMetaName(metacolumnName: string): void {
|
|
72
|
+
// const currentName = this.getMetaName(this.nameColumn);
|
|
73
|
+
// if (currentName !== metacolumnName) {
|
|
74
|
+
// for (const column of this.tapMetadataList.metadataList) {
|
|
75
|
+
// if (this.getMetaName(column) === metacolumnName) {
|
|
76
|
+
// this.nameColumn = column;
|
|
77
|
+
// break;
|
|
78
|
+
// }
|
|
79
|
+
// }
|
|
80
|
+
// }
|
|
81
|
+
// }
|
|
82
|
+
// // helper to normalize `name` / `_name`
|
|
83
|
+
// private getMetaName(meta?: Metadata): string | undefined {
|
|
84
|
+
// return meta?.name ?? meta?.name;
|
|
85
|
+
// }
|
|
86
|
+
// }
|
|
87
|
+
//# sourceMappingURL=FootprintProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FootprintProps.js","sourceRoot":"","sources":["../../../src/model/footprints/FootprintProps.ts"],"names":[],"mappings":"AACA,kDAAkD;AAClD,6DAA6D;;AAE7D,wCAAwC;AACxC,wBAAwB;AACxB,+BAA+B;AAC/B,2BAA2B;AAC3B,yBAAyB;AACzB,0BAA0B;AAC1B,2BAA2B;AAE3B,wBAAwB;AACxB,sCAAsC;AAEtC,mEAAmE;AACnE,8CAA8C;AAC9C,+BAA+B;AAE/B,gDAAgD;AAChD,6DAA6D;AAC7D,MAAM;AAEN,yEAAyE;AACzE,kBAAkB;AAClB,gEAAgE;AAChE,oCAAoC;AACpC,QAAQ;AAER,qFAAqF;AACrF,+DAA+D;AAC/D,sEAAsE;AACtE,kCAAkC;AAClC,iBAAiB;AACjB,UAAU;AACV,gCAAgC;AAChC,kCAAkC;AAClC,UAAU;AACV,QAAQ;AAER,+BAA+B;AAC/B,+DAA+D;AAC/D,0DAA0D;AAC1D,gCAAgC;AAChC,iBAAiB;AACjB,UAAU;AACV,8BAA8B;AAC9B,gCAAgC;AAChC,UAAU;AACV,QAAQ;AAER,6FAA6F;AAC7F,sBAAsB;AACtB,oDAAoD;AACpD,gDAAgD;AAChD,uDAAuD;AAEvD,oCAAoC;AACpC,0DAA0D;AAC1D,iCAAiC;AACjC,iBAAiB;AACjB,UAAU;AACV,+BAA+B;AAC/B,iCAAiC;AACjC,UAAU;AACV,QAAQ;AACR,MAAM;AAEN,oFAAoF;AACpF,4CAA4C;AAC5C,yDAAyD;AACzD,gFAAgF;AAChF,6BAA6B;AAC7B,UAAU;AACV,QAAQ;AACR,yBAAyB;AACzB,MAAM;AAEN,uCAAuC;AACvC,+BAA+B;AAC/B,MAAM;AAEN,mDAAmD;AACnD,6DAA6D;AAC7D,4CAA4C;AAC5C,kEAAkE;AAClE,6DAA6D;AAC7D,sCAAsC;AACtC,mBAAmB;AACnB,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM;AAEN,4CAA4C;AAC5C,+DAA+D;AAC/D,uCAAuC;AACvC,MAAM;AACN,IAAI"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Footprint } from "./Footprint.js";
|
|
2
|
+
import MouseHelper from "../../utils/MouseHelper.js";
|
|
3
|
+
import { MetadataManager } from "../MetadataManager.js";
|
|
4
|
+
import { MetadataColumn } from "../MetadataColumn.js";
|
|
5
|
+
import { VisibleTilesManager } from "../hips/VisibleTilesManager.js";
|
|
6
|
+
export interface HoveredFootprintDetail {
|
|
7
|
+
metadata: MetadataManager;
|
|
8
|
+
footprints: Footprint[];
|
|
9
|
+
tableName: string;
|
|
10
|
+
description: string;
|
|
11
|
+
provider: string;
|
|
12
|
+
}
|
|
13
|
+
export type ClickedFootprintState = {
|
|
14
|
+
footprint: Footprint;
|
|
15
|
+
selected: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type FootprintPickResult = {
|
|
18
|
+
footprints: Footprint[];
|
|
19
|
+
pickedIndexes: number[];
|
|
20
|
+
};
|
|
21
|
+
export type FootprintClickResult = {
|
|
22
|
+
footprints: Footprint[];
|
|
23
|
+
selectionState: ClickedFootprintState[];
|
|
24
|
+
};
|
|
25
|
+
export declare class FootprintSetGL {
|
|
26
|
+
static ELEM_SIZE: number;
|
|
27
|
+
static BYTES_X_ELEM: number;
|
|
28
|
+
static CONVEXPOLY_ELEM_SIZE: number;
|
|
29
|
+
_kind: string;
|
|
30
|
+
_ready: boolean;
|
|
31
|
+
_name: string;
|
|
32
|
+
_description: string;
|
|
33
|
+
extHoveredIndexes: Uint32Array;
|
|
34
|
+
oldMouseCoords: any;
|
|
35
|
+
healpixDensityMap: any;
|
|
36
|
+
totConvexPoints: number;
|
|
37
|
+
vertexCataloguePositionBuffer: WebGLBuffer;
|
|
38
|
+
indexBuffer: WebGLBuffer;
|
|
39
|
+
hoveredVertexPositionBuffer: WebGLBuffer;
|
|
40
|
+
hoveredIndexBuffer: WebGLBuffer;
|
|
41
|
+
selectedVertexPositionBuffer: WebGLBuffer;
|
|
42
|
+
selectedIndexBuffer: WebGLBuffer;
|
|
43
|
+
indexes: Uint32Array;
|
|
44
|
+
footprintPolygons: Footprint[];
|
|
45
|
+
vertexCataloguePosition: Float32Array;
|
|
46
|
+
totPoints: number;
|
|
47
|
+
nPrimitiveFlags: number;
|
|
48
|
+
hoveredIndexes: number[];
|
|
49
|
+
hoveredElementIndexes: Uint32Array;
|
|
50
|
+
private _hoveredFootprints;
|
|
51
|
+
hoveredVertexPosition: Float32Array;
|
|
52
|
+
totHoveredPoints: number;
|
|
53
|
+
nHoveredPrimitiveFlags: number;
|
|
54
|
+
selectedIndexes: number[];
|
|
55
|
+
selectedElementIndexes: Uint32Array;
|
|
56
|
+
private _selectedFootprints;
|
|
57
|
+
selectedVertexPosition: Float32Array;
|
|
58
|
+
totSelectedPoints: number;
|
|
59
|
+
nSlectedPrimitiveFlags: number;
|
|
60
|
+
_shapeColor: string;
|
|
61
|
+
private _bufferInitialised;
|
|
62
|
+
private _webgl;
|
|
63
|
+
_isVisible: boolean;
|
|
64
|
+
private _metadataManager;
|
|
65
|
+
_providerUrl: string;
|
|
66
|
+
private _footprintShaderProgram;
|
|
67
|
+
private _visibleTilesManager;
|
|
68
|
+
constructor(fsetName: string, fsetDescription: string, providerUrl: string, metadataManager: MetadataManager, webgl: WebGL2RenderingContext, visibleTilesManager: VisibleTilesManager);
|
|
69
|
+
private initFootprintArrays;
|
|
70
|
+
private initGLBuffers;
|
|
71
|
+
setIsVisible(visibility: boolean): void;
|
|
72
|
+
get isVisible(): boolean;
|
|
73
|
+
get shapeColor(): string;
|
|
74
|
+
get providerUrl(): string;
|
|
75
|
+
get name(): string;
|
|
76
|
+
get metadataManager(): MetadataManager;
|
|
77
|
+
addFootprint(in_footprint: Footprint): void;
|
|
78
|
+
addFootprints(in_data: any[], columnsmeta: MetadataColumn[]): void;
|
|
79
|
+
clearFootprints(): void;
|
|
80
|
+
private initBuffer;
|
|
81
|
+
checkSelection(mouseHelper: MouseHelper): void;
|
|
82
|
+
get hoveredFootprints(): HoveredFootprintDetail;
|
|
83
|
+
get selectedFootprints(): Footprint[];
|
|
84
|
+
private checkClicking;
|
|
85
|
+
private setSelectedIndexes;
|
|
86
|
+
private refreshSelectedFootprints;
|
|
87
|
+
getFootprintsFromPointer(in_mouseHelper: MouseHelper): FootprintPickResult | null;
|
|
88
|
+
selectPrimaryFootprintFromClick(in_mouseHelper: MouseHelper): FootprintClickResult | null;
|
|
89
|
+
/**
|
|
90
|
+
*
|
|
91
|
+
* @param {Footprint[]} footprints
|
|
92
|
+
*/
|
|
93
|
+
/**
|
|
94
|
+
*
|
|
95
|
+
* @param {Footprint} footprint
|
|
96
|
+
*/
|
|
97
|
+
private FootprintPolygonMatches;
|
|
98
|
+
private findFootprintPolygonIndex;
|
|
99
|
+
extHighlightFootprint(footprint: Footprint, highlighted: boolean): void;
|
|
100
|
+
extAddPolygons2Selected(footprint: Footprint): void;
|
|
101
|
+
initHoveringBuffer(): void;
|
|
102
|
+
initSelectionBuffer(): void;
|
|
103
|
+
changeColor(color: string): void;
|
|
104
|
+
draw(in_mMatrix: Float32Array, in_mouseHelper: MouseHelper, vMatrix: Float32Array, pMatrix: Float32Array): void;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=FootprintSetGL.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FootprintSetGL.d.ts","sourceRoot":"","sources":["../../../src/model/footprints/FootprintSetGL.ts"],"names":[],"mappings":"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"}
|