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.
Files changed (236) hide show
  1. package/README.md +373 -0
  2. package/dist/astroviewer.cjs +13941 -0
  3. package/dist/astroviewer.cjs.map +1 -0
  4. package/dist/astroviewer.js +2 -0
  5. package/dist/astroviewer.js.map +1 -0
  6. package/dist/astroviewer.min.js +2 -0
  7. package/dist/astroviewer.min.js.map +1 -0
  8. package/lib-esm/AstroSphere.d.ts +114 -0
  9. package/lib-esm/AstroSphere.d.ts.map +1 -0
  10. package/lib-esm/AstroSphere.js +679 -0
  11. package/lib-esm/AstroSphere.js.map +1 -0
  12. package/lib-esm/AstroViewer.d.ts +81 -0
  13. package/lib-esm/AstroViewer.d.ts.map +1 -0
  14. package/lib-esm/AstroViewer.js +348 -0
  15. package/lib-esm/AstroViewer.js.map +1 -0
  16. package/lib-esm/Camera.d.ts +74 -0
  17. package/lib-esm/Camera.d.ts.map +1 -0
  18. package/lib-esm/Camera.js +334 -0
  19. package/lib-esm/Camera.js.map +1 -0
  20. package/lib-esm/Config.d.ts +20 -0
  21. package/lib-esm/Config.d.ts.map +1 -0
  22. package/lib-esm/Config.js +32 -0
  23. package/lib-esm/Config.js.map +1 -0
  24. package/lib-esm/Global.d.ts +27 -0
  25. package/lib-esm/Global.d.ts.map +1 -0
  26. package/lib-esm/Global.js +52 -0
  27. package/lib-esm/Global.js.map +1 -0
  28. package/lib-esm/index.d.ts +17 -0
  29. package/lib-esm/index.d.ts.map +1 -0
  30. package/lib-esm/index.js +16 -0
  31. package/lib-esm/index.js.map +1 -0
  32. package/lib-esm/model/AbstractSkyEntity.d.ts +55 -0
  33. package/lib-esm/model/AbstractSkyEntity.d.ts.map +1 -0
  34. package/lib-esm/model/AbstractSkyEntity.js +153 -0
  35. package/lib-esm/model/AbstractSkyEntity.js.map +1 -0
  36. package/lib-esm/model/AstroGL.d.ts +11 -0
  37. package/lib-esm/model/AstroGL.d.ts.map +1 -0
  38. package/lib-esm/model/AstroGL.js +2 -0
  39. package/lib-esm/model/AstroGL.js.map +1 -0
  40. package/lib-esm/model/ColorMaps.d.ts +17 -0
  41. package/lib-esm/model/ColorMaps.d.ts.map +1 -0
  42. package/lib-esm/model/ColorMaps.js +1288 -0
  43. package/lib-esm/model/ColorMaps.js.map +1 -0
  44. package/lib-esm/model/FoV.d.ts +63 -0
  45. package/lib-esm/model/FoV.d.ts.map +1 -0
  46. package/lib-esm/model/FoV.js +275 -0
  47. package/lib-esm/model/FoV.js.map +1 -0
  48. package/lib-esm/model/MetadataColumn.d.ts +50 -0
  49. package/lib-esm/model/MetadataColumn.d.ts.map +1 -0
  50. package/lib-esm/model/MetadataColumn.js +95 -0
  51. package/lib-esm/model/MetadataColumn.js.map +1 -0
  52. package/lib-esm/model/MetadataManager.d.ts +43 -0
  53. package/lib-esm/model/MetadataManager.d.ts.map +1 -0
  54. package/lib-esm/model/MetadataManager.js +117 -0
  55. package/lib-esm/model/MetadataManager.js.map +1 -0
  56. package/lib-esm/model/Point.d.ts +53 -0
  57. package/lib-esm/model/Point.d.ts.map +1 -0
  58. package/lib-esm/model/Point.js +133 -0
  59. package/lib-esm/model/Point.js.map +1 -0
  60. package/lib-esm/model/Point2D.d.ts +9 -0
  61. package/lib-esm/model/Point2D.d.ts.map +1 -0
  62. package/lib-esm/model/Point2D.js +16 -0
  63. package/lib-esm/model/Point2D.js.map +1 -0
  64. package/lib-esm/model/Source.d.ts +34 -0
  65. package/lib-esm/model/Source.d.ts.map +1 -0
  66. package/lib-esm/model/Source.js +63 -0
  67. package/lib-esm/model/Source.js.map +1 -0
  68. package/lib-esm/model/catalogues/CatalogueGL.d.ts +91 -0
  69. package/lib-esm/model/catalogues/CatalogueGL.d.ts.map +1 -0
  70. package/lib-esm/model/catalogues/CatalogueGL.js +614 -0
  71. package/lib-esm/model/catalogues/CatalogueGL.js.map +1 -0
  72. package/lib-esm/model/catalogues/CatalogueProps.d.ts +2 -0
  73. package/lib-esm/model/catalogues/CatalogueProps.d.ts.map +1 -0
  74. package/lib-esm/model/catalogues/CatalogueProps.js +156 -0
  75. package/lib-esm/model/catalogues/CatalogueProps.js.map +1 -0
  76. package/lib-esm/model/footprints/Footprint.d.ts +44 -0
  77. package/lib-esm/model/footprints/Footprint.d.ts.map +1 -0
  78. package/lib-esm/model/footprints/Footprint.js +104 -0
  79. package/lib-esm/model/footprints/Footprint.js.map +1 -0
  80. package/lib-esm/model/footprints/FootprintProps.d.ts +2 -0
  81. package/lib-esm/model/footprints/FootprintProps.d.ts.map +1 -0
  82. package/lib-esm/model/footprints/FootprintProps.js +87 -0
  83. package/lib-esm/model/footprints/FootprintProps.js.map +1 -0
  84. package/lib-esm/model/footprints/FootprintSetGL.d.ts +106 -0
  85. package/lib-esm/model/footprints/FootprintSetGL.d.ts.map +1 -0
  86. package/lib-esm/model/footprints/FootprintSetGL.js +592 -0
  87. package/lib-esm/model/footprints/FootprintSetGL.js.map +1 -0
  88. package/lib-esm/model/grid/EquatorialGrid.d.ts +49 -0
  89. package/lib-esm/model/grid/EquatorialGrid.d.ts.map +1 -0
  90. package/lib-esm/model/grid/EquatorialGrid.js +302 -0
  91. package/lib-esm/model/grid/EquatorialGrid.js.map +1 -0
  92. package/lib-esm/model/grid/GridTextHelper.d.ts +26 -0
  93. package/lib-esm/model/grid/GridTextHelper.d.ts.map +1 -0
  94. package/lib-esm/model/grid/GridTextHelper.js +92 -0
  95. package/lib-esm/model/grid/GridTextHelper.js.map +1 -0
  96. package/lib-esm/model/grid/HealpixGrid.d.ts +49 -0
  97. package/lib-esm/model/grid/HealpixGrid.d.ts.map +1 -0
  98. package/lib-esm/model/grid/HealpixGrid.js +306 -0
  99. package/lib-esm/model/grid/HealpixGrid.js.map +1 -0
  100. package/lib-esm/model/hips/AllSky.d.ts +40 -0
  101. package/lib-esm/model/hips/AllSky.d.ts.map +1 -0
  102. package/lib-esm/model/hips/AllSky.js +232 -0
  103. package/lib-esm/model/hips/AllSky.js.map +1 -0
  104. package/lib-esm/model/hips/AncestorTile.d.ts +38 -0
  105. package/lib-esm/model/hips/AncestorTile.d.ts.map +1 -0
  106. package/lib-esm/model/hips/AncestorTile.js +248 -0
  107. package/lib-esm/model/hips/AncestorTile.js.map +1 -0
  108. package/lib-esm/model/hips/FoVHelper.d.ts +11 -0
  109. package/lib-esm/model/hips/FoVHelper.d.ts.map +1 -0
  110. package/lib-esm/model/hips/FoVHelper.js +107 -0
  111. package/lib-esm/model/hips/FoVHelper.js.map +1 -0
  112. package/lib-esm/model/hips/HiPS.d.ts +47 -0
  113. package/lib-esm/model/hips/HiPS.d.ts.map +1 -0
  114. package/lib-esm/model/hips/HiPS.js +222 -0
  115. package/lib-esm/model/hips/HiPS.js.map +1 -0
  116. package/lib-esm/model/hips/HiPSDescriptor.d.ts +37 -0
  117. package/lib-esm/model/hips/HiPSDescriptor.d.ts.map +1 -0
  118. package/lib-esm/model/hips/HiPSDescriptor.js +132 -0
  119. package/lib-esm/model/hips/HiPSDescriptor.js.map +1 -0
  120. package/lib-esm/model/hips/Tile.d.ts +51 -0
  121. package/lib-esm/model/hips/Tile.d.ts.map +1 -0
  122. package/lib-esm/model/hips/Tile.js +355 -0
  123. package/lib-esm/model/hips/Tile.js.map +1 -0
  124. package/lib-esm/model/hips/TileBuffer.d.ts +39 -0
  125. package/lib-esm/model/hips/TileBuffer.d.ts.map +1 -0
  126. package/lib-esm/model/hips/TileBuffer.js +148 -0
  127. package/lib-esm/model/hips/TileBuffer.js.map +1 -0
  128. package/lib-esm/model/hips/VisibleTilesManager.d.ts +35 -0
  129. package/lib-esm/model/hips/VisibleTilesManager.d.ts.map +1 -0
  130. package/lib-esm/model/hips/VisibleTilesManager.js +160 -0
  131. package/lib-esm/model/hips/VisibleTilesManager.js.map +1 -0
  132. package/lib-esm/model/tap/TapMetadata.d.ts +31 -0
  133. package/lib-esm/model/tap/TapMetadata.d.ts.map +1 -0
  134. package/lib-esm/model/tap/TapMetadata.js +55 -0
  135. package/lib-esm/model/tap/TapMetadata.js.map +1 -0
  136. package/lib-esm/model/tap/TapMetadataList.d.ts +23 -0
  137. package/lib-esm/model/tap/TapMetadataList.d.ts.map +1 -0
  138. package/lib-esm/model/tap/TapMetadataList.js +58 -0
  139. package/lib-esm/model/tap/TapMetadataList.js.map +1 -0
  140. package/lib-esm/model/tap/TapRepo.d.ts +27 -0
  141. package/lib-esm/model/tap/TapRepo.d.ts.map +1 -0
  142. package/lib-esm/model/tap/TapRepo.js +51 -0
  143. package/lib-esm/model/tap/TapRepo.js.map +1 -0
  144. package/lib-esm/services/SesameService.d.ts +14 -0
  145. package/lib-esm/services/SesameService.d.ts.map +1 -0
  146. package/lib-esm/services/SesameService.js +54 -0
  147. package/lib-esm/services/SesameService.js.map +1 -0
  148. package/lib-esm/services/helpers.d.ts +5 -0
  149. package/lib-esm/services/helpers.d.ts.map +1 -0
  150. package/lib-esm/services/helpers.js +16 -0
  151. package/lib-esm/services/helpers.js.map +1 -0
  152. package/lib-esm/services/hipsNodeService.d.ts +7 -0
  153. package/lib-esm/services/hipsNodeService.d.ts.map +1 -0
  154. package/lib-esm/services/hipsNodeService.js +65 -0
  155. package/lib-esm/services/hipsNodeService.js.map +1 -0
  156. package/lib-esm/services/parse-hipslist.d.ts +3 -0
  157. package/lib-esm/services/parse-hipslist.d.ts.map +1 -0
  158. package/lib-esm/services/parse-hipslist.js +25 -0
  159. package/lib-esm/services/parse-hipslist.js.map +1 -0
  160. package/lib-esm/services/queryCatalogueByFoV.d.ts +2 -0
  161. package/lib-esm/services/queryCatalogueByFoV.d.ts.map +1 -0
  162. package/lib-esm/services/queryCatalogueByFoV.js +56 -0
  163. package/lib-esm/services/queryCatalogueByFoV.js.map +1 -0
  164. package/lib-esm/services/queryFootprintSetByFov.d.ts +2 -0
  165. package/lib-esm/services/queryFootprintSetByFov.d.ts.map +1 -0
  166. package/lib-esm/services/queryFootprintSetByFov.js +128 -0
  167. package/lib-esm/services/queryFootprintSetByFov.js.map +1 -0
  168. package/lib-esm/services/tapRepoService.d.ts +2 -0
  169. package/lib-esm/services/tapRepoService.d.ts.map +1 -0
  170. package/lib-esm/services/tapRepoService.js +190 -0
  171. package/lib-esm/services/tapRepoService.js.map +1 -0
  172. package/lib-esm/services/types.d.ts +13 -0
  173. package/lib-esm/services/types.d.ts.map +1 -0
  174. package/lib-esm/services/types.js +2 -0
  175. package/lib-esm/services/types.js.map +1 -0
  176. package/lib-esm/shader/CatalogueShaderProgram.d.ts +35 -0
  177. package/lib-esm/shader/CatalogueShaderProgram.d.ts.map +1 -0
  178. package/lib-esm/shader/CatalogueShaderProgram.js +94 -0
  179. package/lib-esm/shader/CatalogueShaderProgram.js.map +1 -0
  180. package/lib-esm/shader/FootprintShaderProgram.d.ts +31 -0
  181. package/lib-esm/shader/FootprintShaderProgram.d.ts.map +1 -0
  182. package/lib-esm/shader/FootprintShaderProgram.js +86 -0
  183. package/lib-esm/shader/FootprintShaderProgram.js.map +1 -0
  184. package/lib-esm/shader/GridShaderManager.d.ts +6 -0
  185. package/lib-esm/shader/GridShaderManager.d.ts.map +1 -0
  186. package/lib-esm/shader/GridShaderManager.js +29 -0
  187. package/lib-esm/shader/GridShaderManager.js.map +1 -0
  188. package/lib-esm/shader/HiPSShaderProgram.d.ts +54 -0
  189. package/lib-esm/shader/HiPSShaderProgram.d.ts.map +1 -0
  190. package/lib-esm/shader/HiPSShaderProgram.js +257 -0
  191. package/lib-esm/shader/HiPSShaderProgram.js.map +1 -0
  192. package/lib-esm/shader/ShaderManager.d.ts +12 -0
  193. package/lib-esm/shader/ShaderManager.d.ts.map +1 -0
  194. package/lib-esm/shader/ShaderManager.js +344 -0
  195. package/lib-esm/shader/ShaderManager.js.map +1 -0
  196. package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts +12 -0
  197. package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts.map +1 -0
  198. package/lib-esm/shader/ShaderManagerMutliHiPS.js +750 -0
  199. package/lib-esm/shader/ShaderManagerMutliHiPS.js.map +1 -0
  200. package/lib-esm/utils/CoordsType.d.ts +10 -0
  201. package/lib-esm/utils/CoordsType.d.ts.map +1 -0
  202. package/lib-esm/utils/CoordsType.js +12 -0
  203. package/lib-esm/utils/CoordsType.js.map +1 -0
  204. package/lib-esm/utils/FoVUtils.d.ts +46 -0
  205. package/lib-esm/utils/FoVUtils.d.ts.map +1 -0
  206. package/lib-esm/utils/FoVUtils.js +217 -0
  207. package/lib-esm/utils/FoVUtils.js.map +1 -0
  208. package/lib-esm/utils/GeomUtils.d.ts +36 -0
  209. package/lib-esm/utils/GeomUtils.d.ts.map +1 -0
  210. package/lib-esm/utils/GeomUtils.js +267 -0
  211. package/lib-esm/utils/GeomUtils.js.map +1 -0
  212. package/lib-esm/utils/MouseHelper.d.ts +36 -0
  213. package/lib-esm/utils/MouseHelper.d.ts.map +1 -0
  214. package/lib-esm/utils/MouseHelper.js +94 -0
  215. package/lib-esm/utils/MouseHelper.js.map +1 -0
  216. package/lib-esm/utils/PerspectiveMatrixManager.d.ts +11 -0
  217. package/lib-esm/utils/PerspectiveMatrixManager.d.ts.map +1 -0
  218. package/lib-esm/utils/PerspectiveMatrixManager.js +37 -0
  219. package/lib-esm/utils/PerspectiveMatrixManager.js.map +1 -0
  220. package/lib-esm/utils/RayPickingUtils.d.ts +30 -0
  221. package/lib-esm/utils/RayPickingUtils.d.ts.map +1 -0
  222. package/lib-esm/utils/RayPickingUtils.js +112 -0
  223. package/lib-esm/utils/RayPickingUtils.js.map +1 -0
  224. package/lib-esm/utils/STCSParser.d.ts +16 -0
  225. package/lib-esm/utils/STCSParser.d.ts.map +1 -0
  226. package/lib-esm/utils/STCSParser.js +96 -0
  227. package/lib-esm/utils/STCSParser.js.map +1 -0
  228. package/lib-esm/utils/ShaderUtility.d.ts +2 -0
  229. package/lib-esm/utils/ShaderUtility.d.ts.map +1 -0
  230. package/lib-esm/utils/ShaderUtility.js +23 -0
  231. package/lib-esm/utils/ShaderUtility.js.map +1 -0
  232. package/lib-esm/utils/Utils.d.ts +32 -0
  233. package/lib-esm/utils/Utils.d.ts.map +1 -0
  234. package/lib-esm/utils/Utils.js +77 -0
  235. package/lib-esm/utils/Utils.js.map +1 -0
  236. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FootprintProps.d.ts.map
@@ -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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"}