molstar 2.3.3 → 2.3.5

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 (355) hide show
  1. package/CHANGELOG.md +18 -2
  2. package/build/viewer/index.html +7 -1
  3. package/build/viewer/molstar.js +1 -1
  4. package/lib/apps/viewer/index.d.ts +6 -4
  5. package/lib/apps/viewer/index.html +7 -1
  6. package/lib/apps/viewer/index.js +8 -4
  7. package/lib/apps/viewer/index.js.map +1 -1
  8. package/lib/cli/chem-comp-dict/util.d.ts +4 -4
  9. package/lib/commonjs/apps/viewer/index.d.ts +7 -5
  10. package/lib/commonjs/apps/viewer/index.js +8 -4
  11. package/lib/commonjs/apps/viewer/index.js.map +1 -1
  12. package/lib/commonjs/cli/chem-comp-dict/util.d.ts +4 -4
  13. package/lib/commonjs/extensions/cellpack/model.d.ts +1 -1
  14. package/lib/commonjs/extensions/geo-export/mesh-exporter.d.ts +1 -1
  15. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +4 -4
  16. package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.d.ts +12 -12
  17. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +2 -2
  18. package/lib/commonjs/extensions/rcsb/validation-report/representation.js +2 -2
  19. package/lib/commonjs/mol-canvas3d/camera/util.d.ts +4 -3
  20. package/lib/commonjs/mol-canvas3d/camera/util.js +15 -16
  21. package/lib/commonjs/mol-canvas3d/camera/util.js.map +1 -1
  22. package/lib/commonjs/mol-canvas3d/camera.d.ts +11 -3
  23. package/lib/commonjs/mol-canvas3d/camera.js +21 -1
  24. package/lib/commonjs/mol-canvas3d/camera.js.map +1 -1
  25. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +14 -4
  26. package/lib/commonjs/mol-canvas3d/canvas3d.js +8 -2
  27. package/lib/commonjs/mol-canvas3d/canvas3d.js.map +1 -1
  28. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +2 -2
  29. package/lib/commonjs/mol-canvas3d/helper/interaction-events.d.ts +13 -4
  30. package/lib/commonjs/mol-canvas3d/helper/interaction-events.js +43 -9
  31. package/lib/commonjs/mol-canvas3d/helper/interaction-events.js.map +1 -1
  32. package/lib/commonjs/mol-canvas3d/passes/draw.js +1 -0
  33. package/lib/commonjs/mol-canvas3d/passes/draw.js.map +1 -1
  34. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +2 -2
  35. package/lib/commonjs/mol-canvas3d/passes/pick.d.ts +5 -2
  36. package/lib/commonjs/mol-canvas3d/passes/pick.js +17 -3
  37. package/lib/commonjs/mol-canvas3d/passes/pick.js.map +1 -1
  38. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +2 -2
  39. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +10 -1
  40. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js.map +1 -1
  41. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +2 -2
  42. package/lib/commonjs/mol-geo/geometry/image/image.js +4 -1
  43. package/lib/commonjs/mol-geo/geometry/image/image.js.map +1 -1
  44. package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
  45. package/lib/commonjs/mol-geo/geometry/lines/lines.js.map +1 -1
  46. package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
  47. package/lib/commonjs/mol-geo/geometry/points/points.js.map +1 -1
  48. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +6 -1
  49. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js.map +1 -1
  50. package/lib/commonjs/mol-gl/renderer.d.ts +3 -2
  51. package/lib/commonjs/mol-gl/renderer.js +3 -0
  52. package/lib/commonjs/mol-gl/renderer.js.map +1 -1
  53. package/lib/commonjs/mol-gl/shader/lines.vert.d.ts +1 -1
  54. package/lib/commonjs/mol-gl/shader/lines.vert.js +1 -1
  55. package/lib/commonjs/mol-gl/shader/lines.vert.js.map +1 -1
  56. package/lib/commonjs/mol-gl/shader/points.vert.d.ts +1 -1
  57. package/lib/commonjs/mol-gl/shader/points.vert.js +1 -1
  58. package/lib/commonjs/mol-gl/shader/points.vert.js.map +1 -1
  59. package/lib/commonjs/mol-gl/webgl/context.d.ts +1 -1
  60. package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +5 -5
  61. package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +2 -2
  62. package/lib/commonjs/mol-io/reader/cif/schema/density-server.d.ts +4 -4
  63. package/lib/commonjs/mol-io/reader/cif/schema/mmcif-extras.d.ts +3 -3
  64. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +22 -22
  65. package/lib/commonjs/mol-io/reader/ply/schema.d.ts +1 -1
  66. package/lib/commonjs/mol-math/linear-algebra/3d/vec3.d.ts +3 -1
  67. package/lib/commonjs/mol-math/linear-algebra/3d/vec3.js +11 -3
  68. package/lib/commonjs/mol-math/linear-algebra/3d/vec3.js.map +1 -1
  69. package/lib/commonjs/mol-math/misc.d.ts +3 -1
  70. package/lib/commonjs/mol-math/misc.js +24 -2
  71. package/lib/commonjs/mol-math/misc.js.map +1 -1
  72. package/lib/commonjs/mol-model/loci.d.ts +32 -32
  73. package/lib/commonjs/mol-model/loci.js +4 -3
  74. package/lib/commonjs/mol-model/loci.js.map +1 -1
  75. package/lib/commonjs/mol-model/shape/shape.d.ts +1 -1
  76. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  77. package/lib/commonjs/mol-model/structure/structure/properties.d.ts +3 -3
  78. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +1 -1
  79. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js.map +1 -1
  80. package/lib/commonjs/mol-model/structure/structure/unit/bonds.d.ts +2 -1
  81. package/lib/commonjs/mol-model/structure/structure/unit/bonds.js +6 -1
  82. package/lib/commonjs/mol-model/structure/structure/unit/bonds.js.map +1 -1
  83. package/lib/commonjs/mol-model/structure/structure/unit.d.ts +2 -2
  84. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +12 -12
  85. package/lib/commonjs/mol-model-formats/structure/basic/schema.d.ts +6 -6
  86. package/lib/commonjs/mol-model-formats/structure/common/component.d.ts +8 -8
  87. package/lib/commonjs/mol-model-formats/structure/common/entity.d.ts +1 -1
  88. package/lib/commonjs/mol-model-formats/structure/pdb/entity.js +29 -3
  89. package/lib/commonjs/mol-model-formats/structure/pdb/entity.js.map +1 -1
  90. package/lib/commonjs/mol-model-props/sequence/themes/best-database-mapping.d.ts +12 -12
  91. package/lib/commonjs/mol-plugin/behavior/behavior.d.ts +1 -1
  92. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.d.ts +4 -2
  93. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +22 -8
  94. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js.map +1 -1
  95. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +10 -10
  96. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +7 -7
  97. package/lib/commonjs/mol-plugin/commands.d.ts +6 -2
  98. package/lib/commonjs/mol-plugin/config.d.ts +1 -0
  99. package/lib/commonjs/mol-plugin/config.js +1 -0
  100. package/lib/commonjs/mol-plugin/config.js.map +1 -1
  101. package/lib/commonjs/mol-plugin/context.js +6 -4
  102. package/lib/commonjs/mol-plugin/context.js.map +1 -1
  103. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +6 -6
  104. package/lib/commonjs/mol-plugin-state/animation/built-in/model-index.d.ts +3 -3
  105. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +7 -7
  106. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +7 -7
  107. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +10 -10
  108. package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +16 -16
  109. package/lib/commonjs/mol-plugin-state/helpers/root-structure.d.ts +7 -7
  110. package/lib/commonjs/mol-plugin-state/helpers/structure-component.d.ts +1 -1
  111. package/lib/commonjs/mol-plugin-state/manager/interactivity.d.ts +2 -2
  112. package/lib/commonjs/mol-plugin-state/manager/interactivity.js +12 -11
  113. package/lib/commonjs/mol-plugin-state/manager/interactivity.js.map +1 -1
  114. package/lib/commonjs/mol-plugin-state/manager/structure/selection.d.ts +2 -2
  115. package/lib/commonjs/mol-plugin-state/transforms/data.d.ts +1 -1
  116. package/lib/commonjs/mol-plugin-state/transforms/model.d.ts +9 -9
  117. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +1 -1
  118. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +2 -2
  119. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +1 -1
  120. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +1 -1
  121. package/lib/commonjs/mol-repr/structure/params.d.ts +1 -1
  122. package/lib/commonjs/mol-repr/structure/registry.d.ts +23 -15
  123. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +9 -6
  124. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +9 -6
  125. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +6 -6
  126. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +3 -3
  127. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +37 -19
  128. package/lib/commonjs/mol-repr/structure/representation/line.js +10 -4
  129. package/lib/commonjs/mol-repr/structure/representation/line.js.map +1 -1
  130. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +6 -6
  131. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +1 -1
  132. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +6 -4
  133. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +14 -9
  134. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js.map +1 -1
  135. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +3 -2
  136. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +12 -8
  137. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js.map +1 -1
  138. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +6 -4
  139. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +15 -7
  140. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js.map +1 -1
  141. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +3 -2
  142. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +13 -6
  143. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js.map +1 -1
  144. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +26 -0
  145. package/lib/commonjs/mol-repr/structure/visual/element-cross.js +77 -0
  146. package/lib/commonjs/mol-repr/structure/visual/element-cross.js.map +1 -0
  147. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -2
  148. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +8 -8
  149. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +2 -2
  150. package/lib/commonjs/mol-repr/structure/visual/util/bond.d.ts +22 -16
  151. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +1 -0
  152. package/lib/commonjs/mol-repr/structure/visual/util/bond.js.map +1 -1
  153. package/lib/commonjs/mol-repr/structure/visual/util/color.d.ts +2 -2
  154. package/lib/commonjs/mol-repr/structure/visual/util/element.d.ts +4 -4
  155. package/lib/commonjs/mol-repr/structure/visual/util/link.d.ts +6 -4
  156. package/lib/commonjs/mol-repr/structure/visual/util/link.js +66 -23
  157. package/lib/commonjs/mol-repr/structure/visual/util/link.js.map +1 -1
  158. package/lib/commonjs/mol-repr/structure/visual/util/polymer.d.ts +2 -2
  159. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +5 -5
  160. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +3 -3
  161. package/lib/commonjs/mol-repr/volume/registry.d.ts +4 -4
  162. package/lib/commonjs/mol-repr/volume/slice.d.ts +6 -6
  163. package/lib/commonjs/mol-theme/color/atom-id.d.ts +12 -12
  164. package/lib/commonjs/mol-theme/color/chain-id.d.ts +12 -12
  165. package/lib/commonjs/mol-theme/color/element-index.d.ts +12 -12
  166. package/lib/commonjs/mol-theme/color/element-symbol.d.ts +12 -12
  167. package/lib/commonjs/mol-theme/color/entity-id.d.ts +12 -12
  168. package/lib/commonjs/mol-theme/color/entity-source.d.ts +12 -12
  169. package/lib/commonjs/mol-theme/color/illustrative.d.ts +12 -12
  170. package/lib/commonjs/mol-theme/color/model-index.d.ts +12 -12
  171. package/lib/commonjs/mol-theme/color/operator-hkl.d.ts +12 -12
  172. package/lib/commonjs/mol-theme/color/operator-name.d.ts +12 -12
  173. package/lib/commonjs/mol-theme/color/polymer-id.d.ts +12 -12
  174. package/lib/commonjs/mol-theme/color/polymer-index.d.ts +12 -12
  175. package/lib/commonjs/mol-theme/color/unit-index.d.ts +12 -12
  176. package/lib/commonjs/mol-theme/color.d.ts +78 -78
  177. package/lib/commonjs/mol-util/color/palette.d.ts +12 -12
  178. package/lib/commonjs/servers/model/config.js +0 -1
  179. package/lib/commonjs/servers/model/config.js.map +1 -1
  180. package/lib/commonjs/servers/volume/config.js +0 -1
  181. package/lib/commonjs/servers/volume/config.js.map +1 -1
  182. package/lib/extensions/cellpack/model.d.ts +1 -1
  183. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +4 -4
  184. package/lib/extensions/rcsb/assembly-symmetry/color.d.ts +12 -12
  185. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +2 -2
  186. package/lib/extensions/rcsb/validation-report/representation.js +2 -2
  187. package/lib/mol-canvas3d/camera/util.d.ts +4 -3
  188. package/lib/mol-canvas3d/camera/util.js +15 -16
  189. package/lib/mol-canvas3d/camera/util.js.map +1 -1
  190. package/lib/mol-canvas3d/camera.d.ts +11 -3
  191. package/lib/mol-canvas3d/camera.js +22 -2
  192. package/lib/mol-canvas3d/camera.js.map +1 -1
  193. package/lib/mol-canvas3d/canvas3d.d.ts +14 -4
  194. package/lib/mol-canvas3d/canvas3d.js +9 -3
  195. package/lib/mol-canvas3d/canvas3d.js.map +1 -1
  196. package/lib/mol-canvas3d/helper/camera-helper.d.ts +2 -2
  197. package/lib/mol-canvas3d/helper/interaction-events.d.ts +13 -4
  198. package/lib/mol-canvas3d/helper/interaction-events.js +43 -9
  199. package/lib/mol-canvas3d/helper/interaction-events.js.map +1 -1
  200. package/lib/mol-canvas3d/passes/draw.js +1 -0
  201. package/lib/mol-canvas3d/passes/draw.js.map +1 -1
  202. package/lib/mol-canvas3d/passes/image.d.ts +2 -2
  203. package/lib/mol-canvas3d/passes/pick.d.ts +5 -2
  204. package/lib/mol-canvas3d/passes/pick.js +17 -3
  205. package/lib/mol-canvas3d/passes/pick.js.map +1 -1
  206. package/lib/mol-data/int/impl/ordered-set.d.ts +3 -3
  207. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +2 -2
  208. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +12 -3
  209. package/lib/mol-geo/geometry/direct-volume/direct-volume.js.map +1 -1
  210. package/lib/mol-geo/geometry/image/image.d.ts +2 -2
  211. package/lib/mol-geo/geometry/image/image.js +5 -2
  212. package/lib/mol-geo/geometry/image/image.js.map +1 -1
  213. package/lib/mol-geo/geometry/lines/lines.js +1 -1
  214. package/lib/mol-geo/geometry/lines/lines.js.map +1 -1
  215. package/lib/mol-geo/geometry/points/points.js +1 -1
  216. package/lib/mol-geo/geometry/points/points.js.map +1 -1
  217. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +6 -1
  218. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js.map +1 -1
  219. package/lib/mol-gl/renderer.d.ts +3 -2
  220. package/lib/mol-gl/renderer.js +3 -0
  221. package/lib/mol-gl/renderer.js.map +1 -1
  222. package/lib/mol-gl/shader/lines.vert.d.ts +1 -1
  223. package/lib/mol-gl/shader/lines.vert.js +1 -1
  224. package/lib/mol-gl/shader/lines.vert.js.map +1 -1
  225. package/lib/mol-gl/shader/points.vert.d.ts +1 -1
  226. package/lib/mol-gl/shader/points.vert.js +1 -1
  227. package/lib/mol-gl/shader/points.vert.js.map +1 -1
  228. package/lib/mol-gl/webgl/context.d.ts +1 -1
  229. package/lib/mol-io/reader/cif/schema/bird.d.ts +5 -5
  230. package/lib/mol-io/reader/cif/schema/ccd.d.ts +2 -2
  231. package/lib/mol-io/reader/cif/schema/density-server.d.ts +4 -4
  232. package/lib/mol-io/reader/cif/schema/mmcif-extras.d.ts +3 -3
  233. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +23 -23
  234. package/lib/mol-io/reader/ply/schema.d.ts +1 -1
  235. package/lib/mol-math/linear-algebra/3d/vec3.d.ts +3 -1
  236. package/lib/mol-math/linear-algebra/3d/vec3.js +11 -3
  237. package/lib/mol-math/linear-algebra/3d/vec3.js.map +1 -1
  238. package/lib/mol-math/misc.d.ts +3 -1
  239. package/lib/mol-math/misc.js +22 -1
  240. package/lib/mol-math/misc.js.map +1 -1
  241. package/lib/mol-model/loci.d.ts +32 -32
  242. package/lib/mol-model/loci.js +4 -3
  243. package/lib/mol-model/loci.js.map +1 -1
  244. package/lib/mol-model/shape/shape.d.ts +1 -1
  245. package/lib/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  246. package/lib/mol-model/structure/structure/properties.d.ts +3 -3
  247. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +1 -1
  248. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js.map +1 -1
  249. package/lib/mol-model/structure/structure/unit/bonds.d.ts +2 -1
  250. package/lib/mol-model/structure/structure/unit/bonds.js +7 -2
  251. package/lib/mol-model/structure/structure/unit/bonds.js.map +1 -1
  252. package/lib/mol-model/structure/structure/unit.d.ts +2 -2
  253. package/lib/mol-model-formats/shape/ply.d.ts +12 -12
  254. package/lib/mol-model-formats/structure/basic/schema.d.ts +6 -6
  255. package/lib/mol-model-formats/structure/common/component.d.ts +8 -8
  256. package/lib/mol-model-formats/structure/common/entity.d.ts +1 -1
  257. package/lib/mol-model-formats/structure/pdb/entity.js +29 -3
  258. package/lib/mol-model-formats/structure/pdb/entity.js.map +1 -1
  259. package/lib/mol-model-props/sequence/themes/best-database-mapping.d.ts +12 -12
  260. package/lib/mol-plugin/behavior/behavior.d.ts +1 -1
  261. package/lib/mol-plugin/behavior/dynamic/representation.d.ts +4 -2
  262. package/lib/mol-plugin/behavior/dynamic/representation.js +23 -9
  263. package/lib/mol-plugin/behavior/dynamic/representation.js.map +1 -1
  264. package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +10 -10
  265. package/lib/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +7 -7
  266. package/lib/mol-plugin/commands.d.ts +6 -2
  267. package/lib/mol-plugin/config.d.ts +1 -0
  268. package/lib/mol-plugin/config.js +1 -0
  269. package/lib/mol-plugin/config.js.map +1 -1
  270. package/lib/mol-plugin/context.js +6 -4
  271. package/lib/mol-plugin/context.js.map +1 -1
  272. package/lib/mol-plugin/util/viewport-screenshot.d.ts +6 -6
  273. package/lib/mol-plugin/version.js +2 -2
  274. package/lib/mol-plugin-state/animation/built-in/model-index.d.ts +3 -3
  275. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +7 -7
  276. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +7 -7
  277. package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +10 -10
  278. package/lib/mol-plugin-state/formats/volume.d.ts +16 -16
  279. package/lib/mol-plugin-state/helpers/root-structure.d.ts +7 -7
  280. package/lib/mol-plugin-state/helpers/structure-component.d.ts +1 -1
  281. package/lib/mol-plugin-state/manager/interactivity.d.ts +2 -2
  282. package/lib/mol-plugin-state/manager/interactivity.js +12 -11
  283. package/lib/mol-plugin-state/manager/interactivity.js.map +1 -1
  284. package/lib/mol-plugin-state/manager/structure/selection.d.ts +2 -2
  285. package/lib/mol-plugin-state/transforms/data.d.ts +1 -1
  286. package/lib/mol-plugin-state/transforms/model.d.ts +9 -9
  287. package/lib/mol-plugin-state/transforms/representation.d.ts +2 -2
  288. package/lib/mol-repr/shape/loci/orientation.d.ts +1 -1
  289. package/lib/mol-repr/shape/model/unitcell.d.ts +1 -1
  290. package/lib/mol-repr/structure/complex-visual.d.ts +1 -1
  291. package/lib/mol-repr/structure/params.d.ts +1 -1
  292. package/lib/mol-repr/structure/registry.d.ts +19 -11
  293. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +3 -0
  294. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +3 -0
  295. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +6 -6
  296. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +3 -3
  297. package/lib/mol-repr/structure/representation/label.d.ts +3 -3
  298. package/lib/mol-repr/structure/representation/line.d.ts +34 -16
  299. package/lib/mol-repr/structure/representation/line.js +10 -4
  300. package/lib/mol-repr/structure/representation/line.js.map +1 -1
  301. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +6 -6
  302. package/lib/mol-repr/structure/units-visual.d.ts +1 -1
  303. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +2 -0
  304. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +14 -9
  305. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js.map +1 -1
  306. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -0
  307. package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +12 -8
  308. package/lib/mol-repr/structure/visual/bond-inter-unit-line.js.map +1 -1
  309. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +2 -0
  310. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +15 -7
  311. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js.map +1 -1
  312. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +1 -0
  313. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +13 -6
  314. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js.map +1 -1
  315. package/lib/mol-repr/structure/visual/element-cross.d.ts +26 -0
  316. package/lib/mol-repr/structure/visual/element-cross.js +72 -0
  317. package/lib/mol-repr/structure/visual/element-cross.js.map +1 -0
  318. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -2
  319. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +8 -8
  320. package/lib/mol-repr/structure/visual/label-text.d.ts +1 -1
  321. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +2 -2
  322. package/lib/mol-repr/structure/visual/util/bond.d.ts +10 -4
  323. package/lib/mol-repr/structure/visual/util/bond.js +1 -0
  324. package/lib/mol-repr/structure/visual/util/bond.js.map +1 -1
  325. package/lib/mol-repr/structure/visual/util/color.d.ts +2 -2
  326. package/lib/mol-repr/structure/visual/util/element.d.ts +4 -4
  327. package/lib/mol-repr/structure/visual/util/link.d.ts +6 -4
  328. package/lib/mol-repr/structure/visual/util/link.js +66 -23
  329. package/lib/mol-repr/structure/visual/util/link.js.map +1 -1
  330. package/lib/mol-repr/structure/visual/util/polymer.d.ts +2 -2
  331. package/lib/mol-repr/volume/direct-volume.d.ts +5 -5
  332. package/lib/mol-repr/volume/isosurface.d.ts +3 -3
  333. package/lib/mol-repr/volume/registry.d.ts +4 -4
  334. package/lib/mol-repr/volume/slice.d.ts +6 -6
  335. package/lib/mol-theme/color/atom-id.d.ts +12 -12
  336. package/lib/mol-theme/color/chain-id.d.ts +12 -12
  337. package/lib/mol-theme/color/element-index.d.ts +12 -12
  338. package/lib/mol-theme/color/element-symbol.d.ts +12 -12
  339. package/lib/mol-theme/color/entity-id.d.ts +12 -12
  340. package/lib/mol-theme/color/entity-source.d.ts +12 -12
  341. package/lib/mol-theme/color/illustrative.d.ts +12 -12
  342. package/lib/mol-theme/color/model-index.d.ts +12 -12
  343. package/lib/mol-theme/color/operator-hkl.d.ts +12 -12
  344. package/lib/mol-theme/color/operator-name.d.ts +12 -12
  345. package/lib/mol-theme/color/polymer-id.d.ts +12 -12
  346. package/lib/mol-theme/color/polymer-index.d.ts +12 -12
  347. package/lib/mol-theme/color/unit-index.d.ts +12 -12
  348. package/lib/mol-theme/color.d.ts +78 -78
  349. package/lib/mol-util/color/palette.d.ts +12 -12
  350. package/lib/servers/model/config.js +0 -1
  351. package/lib/servers/model/config.js.map +1 -1
  352. package/lib/servers/volume/config.js +0 -1
  353. package/lib/servers/volume/config.js.map +1 -1
  354. package/lib/tsconfig.commonjs.tsbuildinfo +1 -1
  355. package/package.json +18 -18
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ElementCrossVisual = exports.createElementCross = exports.ElementCrossParams = void 0;
9
+ var tslib_1 = require("tslib");
10
+ var param_definition_1 = require("../../../mol-util/param-definition");
11
+ var units_visual_1 = require("../units-visual");
12
+ var structure_1 = require("../../../mol-model/structure");
13
+ var linear_algebra_1 = require("../../../mol-math/linear-algebra");
14
+ var element_1 = require("./util/element");
15
+ var geometry_1 = require("../../../mol-math/geometry");
16
+ var lines_1 = require("../../../mol-geo/geometry/lines/lines");
17
+ var lines_builder_1 = require("../../../mol-geo/geometry/lines/lines-builder");
18
+ var util_1 = require("../../../mol-model-props/computed/chemistry/util");
19
+ // avoiding namespace lookup improved performance in Chrome (Aug 2020)
20
+ var v3scaleAndAdd = linear_algebra_1.Vec3.scaleAndAdd;
21
+ var v3unitX = linear_algebra_1.Vec3.unitX;
22
+ var v3unitY = linear_algebra_1.Vec3.unitY;
23
+ var v3unitZ = linear_algebra_1.Vec3.unitZ;
24
+ exports.ElementCrossParams = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, units_visual_1.UnitsLinesParams), { lineSizeAttenuation: param_definition_1.ParamDefinition.Boolean(false), ignoreHydrogens: param_definition_1.ParamDefinition.Boolean(false), traceOnly: param_definition_1.ParamDefinition.Boolean(false), crosses: param_definition_1.ParamDefinition.Select('lone', param_definition_1.ParamDefinition.arrayToOptions(['lone', 'all'])), crossSize: param_definition_1.ParamDefinition.Numeric(0.35, { min: 0, max: 2, step: 0.01 }) });
25
+ function createElementCross(ctx, unit, structure, theme, props, lines) {
26
+ var child = structure.child;
27
+ if (child && !child.unitMap.get(unit.id))
28
+ return lines_1.Lines.createEmpty(lines);
29
+ var elements = unit.elements;
30
+ var n = elements.length;
31
+ var builder = lines_builder_1.LinesBuilder.create(n, n / 10, lines);
32
+ var p = (0, linear_algebra_1.Vec3)();
33
+ var s = (0, linear_algebra_1.Vec3)();
34
+ var e = (0, linear_algebra_1.Vec3)();
35
+ var pos = unit.conformation.invariantPosition;
36
+ var ignore = (0, element_1.makeElementIgnoreTest)(structure, unit, props);
37
+ var r = props.crossSize / 2;
38
+ var lone = props.crosses === 'lone';
39
+ for (var i = 0; i < n; ++i) {
40
+ if (ignore && ignore(elements[i]))
41
+ continue;
42
+ if (lone && structure_1.Unit.isAtomic(unit) && (0, util_1.bondCount)(structure, unit, i) !== 0)
43
+ continue;
44
+ pos(elements[i], p);
45
+ v3scaleAndAdd(s, p, v3unitX, r);
46
+ v3scaleAndAdd(e, p, v3unitX, -r);
47
+ builder.add(s[0], s[1], s[2], e[0], e[1], e[2], i);
48
+ v3scaleAndAdd(s, p, v3unitY, r);
49
+ v3scaleAndAdd(e, p, v3unitY, -r);
50
+ builder.add(s[0], s[1], s[2], e[0], e[1], e[2], i);
51
+ v3scaleAndAdd(s, p, v3unitZ, r);
52
+ v3scaleAndAdd(e, p, v3unitZ, -r);
53
+ builder.add(s[0], s[1], s[2], e[0], e[1], e[2], i);
54
+ }
55
+ var l = builder.getLines();
56
+ var sphere = geometry_1.Sphere3D.expand((0, geometry_1.Sphere3D)(), unit.boundary.sphere, 1 * props.sizeFactor);
57
+ l.setBoundingSphere(sphere);
58
+ return l;
59
+ }
60
+ exports.createElementCross = createElementCross;
61
+ function ElementCrossVisual(materialId) {
62
+ return (0, units_visual_1.UnitsLinesVisual)({
63
+ defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.ElementCrossParams),
64
+ createGeometry: createElementCross,
65
+ createLocationIterator: element_1.ElementIterator.fromGroup,
66
+ getLoci: element_1.getElementLoci,
67
+ eachLocation: element_1.eachElement,
68
+ setUpdateState: function (state, newProps, currentProps) {
69
+ state.createGeometry = (newProps.ignoreHydrogens !== currentProps.ignoreHydrogens ||
70
+ newProps.traceOnly !== currentProps.traceOnly ||
71
+ newProps.crosses !== currentProps.crosses ||
72
+ newProps.crossSize !== currentProps.crossSize);
73
+ }
74
+ }, materialId);
75
+ }
76
+ exports.ElementCrossVisual = ElementCrossVisual;
77
+ //# sourceMappingURL=element-cross.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-cross.js","sourceRoot":"","sources":["../../../../../src/mol-repr/structure/visual/element-cross.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare const GaussianDensityVolumeParams: {
22
22
  renderMode: PD.Mapped<PD.NamedParams<PD.Normalize<{
23
23
  controlPoints: import("../../../mol-math/linear-algebra/3d/vec2").Vec2[];
24
24
  list: {
25
- kind: "interpolate" | "set";
25
+ kind: "set" | "interpolate";
26
26
  colors: import("../../../mol-util/color/color").ColorListEntry[];
27
27
  };
28
28
  }>, "volume"> | PD.NamedParams<PD.Normalize<{
@@ -58,7 +58,7 @@ export declare const UnitsGaussianDensityVolumeParams: {
58
58
  renderMode: PD.Mapped<PD.NamedParams<PD.Normalize<{
59
59
  controlPoints: import("../../../mol-math/linear-algebra/3d/vec2").Vec2[];
60
60
  list: {
61
- kind: "interpolate" | "set";
61
+ kind: "set" | "interpolate";
62
62
  colors: import("../../../mol-util/color/color").ColorListEntry[];
63
63
  };
64
64
  }>, "volume"> | PD.NamedParams<PD.Normalize<{
@@ -12,10 +12,10 @@ export declare const GaussianSurfaceMeshParams: {
12
12
  ignoreHydrogens: PD.BooleanParam;
13
13
  tryUseGpu: PD.BooleanParam;
14
14
  includeParent: PD.BooleanParam;
15
- smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
15
+ smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
16
16
  resolutionFactor: number;
17
17
  sampleStride: number;
18
- }>, "on">>;
18
+ }>, "on"> | PD.NamedParams<PD.Normalize<unknown>, "off">>;
19
19
  traceOnly: PD.BooleanParam;
20
20
  resolution: PD.Numeric;
21
21
  radiusOffset: PD.Numeric;
@@ -34,10 +34,10 @@ export declare const StructureGaussianSurfaceMeshParams: {
34
34
  ignoreHydrogens: PD.BooleanParam;
35
35
  tryUseGpu: PD.BooleanParam;
36
36
  includeParent: PD.BooleanParam;
37
- smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
37
+ smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
38
38
  resolutionFactor: number;
39
39
  sampleStride: number;
40
- }>, "on">>;
40
+ }>, "on"> | PD.NamedParams<PD.Normalize<unknown>, "off">>;
41
41
  traceOnly: PD.BooleanParam;
42
42
  resolution: PD.Numeric;
43
43
  radiusOffset: PD.Numeric;
@@ -56,10 +56,10 @@ export declare function GaussianSurfaceVisual(materialId: number, structure: Str
56
56
  ignoreHydrogens: PD.BooleanParam;
57
57
  tryUseGpu: PD.BooleanParam;
58
58
  includeParent: PD.BooleanParam;
59
- smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
59
+ smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
60
60
  resolutionFactor: number;
61
61
  sampleStride: number;
62
- }>, "on">>;
62
+ }>, "on"> | PD.NamedParams<PD.Normalize<unknown>, "off">>;
63
63
  traceOnly: PD.BooleanParam;
64
64
  resolution: PD.Numeric;
65
65
  radiusOffset: PD.Numeric;
@@ -77,10 +77,10 @@ export declare function StructureGaussianSurfaceVisual(materialId: number, struc
77
77
  ignoreHydrogens: PD.BooleanParam;
78
78
  tryUseGpu: PD.BooleanParam;
79
79
  includeParent: PD.BooleanParam;
80
- smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
80
+ smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
81
81
  resolutionFactor: number;
82
82
  sampleStride: number;
83
- }>, "on">>;
83
+ }>, "on"> | PD.NamedParams<PD.Normalize<unknown>, "off">>;
84
84
  traceOnly: PD.BooleanParam;
85
85
  resolution: PD.Numeric;
86
86
  radiusOffset: PD.Numeric;
@@ -6,10 +6,10 @@
6
6
  import { ParamDefinition as PD } from '../../../mol-util/param-definition';
7
7
  import { UnitsVisual } from '../units-visual';
8
8
  export declare const MolecularSurfaceMeshParams: {
9
- smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
9
+ smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
10
10
  resolutionFactor: number;
11
11
  sampleStride: number;
12
- }>, "on">>;
12
+ }>, "on"> | PD.NamedParams<PD.Normalize<unknown>, "off">>;
13
13
  ignoreHydrogens: PD.BooleanParam;
14
14
  traceOnly: PD.BooleanParam;
15
15
  includeParent: PD.BooleanParam;
@@ -12,24 +12,27 @@ import { Loci } from '../../../../mol-model/loci';
12
12
  import { Interval } from '../../../../mol-data/int';
13
13
  import { StructureGroup } from './common';
14
14
  export declare const BondParams: {
15
- includeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
16
- excludeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
15
+ includeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
16
+ excludeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
17
17
  ignoreHydrogens: PD.BooleanParam;
18
18
  aromaticBonds: PD.BooleanParam;
19
+ multipleBonds: PD.Select<"off" | "symmetric" | "offset">;
19
20
  };
20
21
  export declare const DefaultBondProps: PD.Values<{
21
- includeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
22
- excludeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
22
+ includeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
23
+ excludeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
23
24
  ignoreHydrogens: PD.BooleanParam;
24
25
  aromaticBonds: PD.BooleanParam;
26
+ multipleBonds: PD.Select<"off" | "symmetric" | "offset">;
25
27
  }>;
26
28
  export declare type BondProps = typeof DefaultBondProps;
27
29
  export declare const BondCylinderParams: {
28
30
  adjustCylinderLength: PD.BooleanParam;
29
- includeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
30
- excludeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
31
+ includeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
32
+ excludeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
31
33
  ignoreHydrogens: PD.BooleanParam;
32
34
  aromaticBonds: PD.BooleanParam;
35
+ multipleBonds: PD.Select<"off" | "symmetric" | "offset">;
33
36
  linkScale: PD.Numeric;
34
37
  linkSpacing: PD.Numeric;
35
38
  linkCap: PD.BooleanParam;
@@ -41,10 +44,11 @@ export declare const BondCylinderParams: {
41
44
  };
42
45
  export declare const DefaultBondCylinderProps: PD.Values<{
43
46
  adjustCylinderLength: PD.BooleanParam;
44
- includeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
45
- excludeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
47
+ includeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
48
+ excludeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
46
49
  ignoreHydrogens: PD.BooleanParam;
47
50
  aromaticBonds: PD.BooleanParam;
51
+ multipleBonds: PD.Select<"off" | "symmetric" | "offset">;
48
52
  linkScale: PD.Numeric;
49
53
  linkSpacing: PD.Numeric;
50
54
  linkCap: PD.BooleanParam;
@@ -56,19 +60,21 @@ export declare const DefaultBondCylinderProps: PD.Values<{
56
60
  }>;
57
61
  export declare type BondCylinderProps = typeof DefaultBondCylinderProps;
58
62
  export declare const BondLineParams: {
59
- includeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
60
- excludeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
63
+ includeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
64
+ excludeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
61
65
  ignoreHydrogens: PD.BooleanParam;
62
66
  aromaticBonds: PD.BooleanParam;
67
+ multipleBonds: PD.Select<"off" | "symmetric" | "offset">;
63
68
  linkScale: PD.Numeric;
64
69
  linkSpacing: PD.Numeric;
65
70
  dashCount: PD.Numeric;
66
71
  };
67
72
  export declare const DefaultBondLineProps: PD.Values<{
68
- includeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
69
- excludeTypes: PD.MultiSelect<"computed" | "covalent" | "metal-coordination" | "hydrogen-bond" | "disulfide" | "aromatic">;
73
+ includeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
74
+ excludeTypes: PD.MultiSelect<"covalent" | "computed" | "aromatic" | "metal-coordination" | "hydrogen-bond" | "disulfide">;
70
75
  ignoreHydrogens: PD.BooleanParam;
71
76
  aromaticBonds: PD.BooleanParam;
77
+ multipleBonds: PD.Select<"off" | "symmetric" | "offset">;
72
78
  linkScale: PD.Numeric;
73
79
  linkSpacing: PD.Numeric;
74
80
  dashCount: PD.Numeric;
@@ -81,11 +87,11 @@ export declare namespace BondIterator {
81
87
  function fromGroup(structureGroup: StructureGroup): LocationIterator;
82
88
  function fromStructure(structure: Structure): LocationIterator;
83
89
  }
84
- export declare function getIntraBondLoci(pickingId: PickingId, structureGroup: StructureGroup, id: number): {
90
+ export declare function getIntraBondLoci(pickingId: PickingId, structureGroup: StructureGroup, id: number): Bond.Loci | {
85
91
  kind: "empty-loci";
86
- } | Bond.Loci;
92
+ };
87
93
  export declare function eachIntraBond(loci: Loci, structureGroup: StructureGroup, apply: (interval: Interval) => boolean, isMarking: boolean): boolean;
88
- export declare function getInterBondLoci(pickingId: PickingId, structure: Structure, id: number): {
94
+ export declare function getInterBondLoci(pickingId: PickingId, structure: Structure, id: number): Bond.Loci | {
89
95
  kind: "empty-loci";
90
- } | Bond.Loci;
96
+ };
91
97
  export declare function eachInterBond(loci: Loci, structure: Structure, apply: (interval: Interval) => boolean, isMarking: boolean): boolean;
@@ -21,6 +21,7 @@ exports.BondParams = {
21
21
  excludeTypes: param_definition_1.ParamDefinition.MultiSelect([], param_definition_1.ParamDefinition.objectToOptions(types_1.BondType.Names)),
22
22
  ignoreHydrogens: param_definition_1.ParamDefinition.Boolean(false),
23
23
  aromaticBonds: param_definition_1.ParamDefinition.Boolean(false, { description: 'Display aromatic bonds with dashes' }),
24
+ multipleBonds: param_definition_1.ParamDefinition.Select('symmetric', param_definition_1.ParamDefinition.arrayToOptions(['off', 'symmetric', 'offset'])),
24
25
  };
25
26
  exports.DefaultBondProps = param_definition_1.ParamDefinition.getDefaultValues(exports.BondParams);
26
27
  exports.BondCylinderParams = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, link_1.LinkCylinderParams), exports.BondParams), { adjustCylinderLength: param_definition_1.ParamDefinition.Boolean(true, { description: 'Shorten cylinders to reduce overlap with spheres.' }) });
@@ -1 +1 @@
1
- {"version":3,"file":"bond.js","sourceRoot":"","sources":["../../../../../../src/mol-repr/structure/visual/util/bond.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bond.js","sourceRoot":"","sources":["../../../../../../src/mol-repr/structure/visual/util/bond.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,10 @@ import { Texture } from '../../../../mol-gl/webgl/texture';
10
10
  import { Theme } from '../../../../mol-theme/theme';
11
11
  import { ParamDefinition as PD } from '../../../../mol-util/param-definition';
12
12
  export declare const ColorSmoothingParams: {
13
- smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
13
+ smoothColors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<PD.Normalize<{
14
14
  resolutionFactor: number;
15
15
  sampleStride: number;
16
- }>, "on">>;
16
+ }>, "on"> | PD.NamedParams<PD.Normalize<unknown>, "off">>;
17
17
  };
18
18
  export declare type ColorSmoothingParams = typeof ColorSmoothingParams;
19
19
  export declare function getColorSmoothingProps(props: PD.Values<ColorSmoothingParams>, theme: Theme, resolution?: number): {
@@ -29,13 +29,13 @@ export declare type ElementSphereImpostorProps = {
29
29
  } & ElementProps;
30
30
  export declare function createElementSphereImpostor(ctx: VisualContext, unit: Unit, structure: Structure, theme: Theme, props: ElementSphereImpostorProps, spheres?: Spheres): Spheres;
31
31
  export declare function eachElement(loci: Loci, structureGroup: StructureGroup, apply: (interval: Interval) => boolean): boolean;
32
- export declare function getElementLoci(pickingId: PickingId, structureGroup: StructureGroup, id: number): {
32
+ export declare function getElementLoci(pickingId: PickingId, structureGroup: StructureGroup, id: number): StructureElement.Loci | {
33
33
  kind: "empty-loci";
34
- } | StructureElement.Loci;
34
+ };
35
35
  export declare function eachSerialElement(loci: Loci, structure: Structure, apply: (interval: Interval) => boolean): boolean;
36
- export declare function getSerialElementLoci(pickingId: PickingId, structure: Structure, id: number): {
36
+ export declare function getSerialElementLoci(pickingId: PickingId, structure: Structure, id: number): StructureElement.Loci | {
37
37
  kind: "empty-loci";
38
- } | StructureElement.Loci;
38
+ };
39
39
  export declare namespace ElementIterator {
40
40
  function fromGroup(structureGroup: StructureGroup): LocationIterator;
41
41
  function fromStructure(structure: Structure): LocationIterator;
@@ -56,10 +56,12 @@ export declare const enum LinkStyle {
56
56
  Solid = 0,
57
57
  Dashed = 1,
58
58
  Double = 2,
59
- Triple = 3,
60
- Disk = 4,
61
- Aromatic = 5,
62
- MirroredAromatic = 6
59
+ OffsetDouble = 3,
60
+ Triple = 4,
61
+ OffsetTriple = 5,
62
+ Disk = 6,
63
+ Aromatic = 7,
64
+ MirroredAromatic = 8
63
65
  }
64
66
  /**
65
67
  * Each edge is included twice to allow for coloring/picking
@@ -95,12 +95,14 @@ function createLinkCylinderMesh(ctx, linkBuilder, props, mesh) {
95
95
  continue;
96
96
  position(va, vb, edgeIndex);
97
97
  v3sub(tmpV12, vb, va);
98
+ var dirFlag = v3dot(tmpV12, up) > 0;
98
99
  var linkRadius = radius(edgeIndex);
99
100
  var linkStyle = style ? style(edgeIndex) : 0 /* Solid */;
100
101
  var linkStub = stubCap && (stub ? stub(edgeIndex) : false);
101
- var _a = (v3dot(tmpV12, up) > 0) ? [linkStub, linkCap] : [linkCap, linkStub], topCap = _a[0], bottomCap = _a[1];
102
+ var _a = dirFlag ? [linkStub, linkCap] : [linkCap, linkStub], topCap = _a[0], bottomCap = _a[1];
102
103
  builderState.currentGroup = edgeIndex;
103
- var aromaticOffsetFactor = 4.5;
104
+ var aromaticOffsetFactor = 5.5;
105
+ var multipleOffsetFactor = 4;
104
106
  if (linkStyle === 0 /* Solid */) {
105
107
  cylinderProps.radiusTop = cylinderProps.radiusBottom = linkRadius;
106
108
  cylinderProps.topCap = topCap;
@@ -112,15 +114,15 @@ function createLinkCylinderMesh(ctx, linkBuilder, props, mesh) {
112
114
  cylinderProps.topCap = cylinderProps.bottomCap = dashCap;
113
115
  (0, cylinder_1.addFixedCountDashedCylinder)(builderState, va, vb, 0.5, segmentCount, cylinderProps);
114
116
  }
115
- else if (linkStyle === 2 /* Double */ || linkStyle === 3 /* Triple */ || linkStyle === 5 /* Aromatic */ || linkStyle === 6 /* MirroredAromatic */) {
116
- var order = linkStyle === 2 /* Double */ ? 2 :
117
- linkStyle === 3 /* Triple */ ? 3 : 1.5;
117
+ else if (linkStyle === 2 /* Double */ || linkStyle === 3 /* OffsetDouble */ || linkStyle === 4 /* Triple */ || linkStyle === 5 /* OffsetTriple */ || linkStyle === 7 /* Aromatic */ || linkStyle === 8 /* MirroredAromatic */) {
118
+ var order = linkStyle === 2 /* Double */ || linkStyle === 3 /* OffsetDouble */ ? 2 :
119
+ linkStyle === 4 /* Triple */ || linkStyle === 5 /* OffsetTriple */ ? 3 : 1.5;
118
120
  var multiRadius = linkRadius * (linkScale / (0.5 * order));
119
121
  var absOffset = (linkRadius - multiRadius) * linkSpacing;
120
122
  calculateShiftDir(vShift, va, vb, referencePosition ? referencePosition(edgeIndex) : null);
121
123
  cylinderProps.topCap = topCap;
122
124
  cylinderProps.bottomCap = bottomCap;
123
- if (linkStyle === 5 /* Aromatic */ || linkStyle === 6 /* MirroredAromatic */) {
125
+ if (linkStyle === 7 /* Aromatic */ || linkStyle === 8 /* MirroredAromatic */) {
124
126
  cylinderProps.radiusTop = cylinderProps.radiusBottom = linkRadius;
125
127
  (0, cylinder_1.addCylinder)(builderState, va, vb, 0.5, cylinderProps);
126
128
  cylinderProps.radiusTop = cylinderProps.radiusBottom = linkRadius * linkScale;
@@ -129,13 +131,34 @@ function createLinkCylinderMesh(ctx, linkBuilder, props, mesh) {
129
131
  v3sub(va, va, vShift);
130
132
  v3sub(vb, vb, vShift);
131
133
  (0, cylinder_1.addFixedCountDashedCylinder)(builderState, va, vb, 0.5, 3, cylinderProps);
132
- if (linkStyle === 6 /* MirroredAromatic */) {
134
+ if (linkStyle === 8 /* MirroredAromatic */) {
133
135
  v3setMagnitude(vShift, vShift, absOffset * aromaticOffsetFactor * 2);
134
136
  v3add(va, va, vShift);
135
137
  v3add(vb, vb, vShift);
136
138
  (0, cylinder_1.addFixedCountDashedCylinder)(builderState, va, vb, 0.5, 3, cylinderProps);
137
139
  }
138
140
  }
141
+ else if (linkStyle === 3 /* OffsetDouble */ || linkStyle === 5 /* OffsetTriple */) {
142
+ v3setMagnitude(vShift, vShift, absOffset);
143
+ cylinderProps.radiusTop = cylinderProps.radiusBottom = linkRadius;
144
+ (0, cylinder_1.addCylinder)(builderState, va, vb, 0.5, cylinderProps);
145
+ v3scale(tmpV12, tmpV12, linkSpacing * linkScale * 0.2);
146
+ v3add(va, va, tmpV12);
147
+ v3sub(vb, vb, tmpV12);
148
+ cylinderProps.radiusTop = cylinderProps.radiusBottom = multiRadius;
149
+ cylinderProps.topCap = dirFlag ? linkStub : dashCap;
150
+ cylinderProps.bottomCap = dirFlag ? dashCap : linkStub;
151
+ v3setMagnitude(vShift, vShift, absOffset * multipleOffsetFactor);
152
+ v3sub(va, va, vShift);
153
+ v3sub(vb, vb, vShift);
154
+ (0, cylinder_1.addCylinder)(builderState, va, vb, 0.5, cylinderProps);
155
+ if (order === 3) {
156
+ v3setMagnitude(vShift, vShift, absOffset * multipleOffsetFactor * 2);
157
+ v3add(va, va, vShift);
158
+ v3add(vb, vb, vShift);
159
+ (0, cylinder_1.addCylinder)(builderState, va, vb, 0.5, cylinderProps);
160
+ }
161
+ }
139
162
  else {
140
163
  v3setMagnitude(vShift, vShift, absOffset);
141
164
  cylinderProps.radiusTop = cylinderProps.radiusBottom = multiRadius;
@@ -144,7 +167,7 @@ function createLinkCylinderMesh(ctx, linkBuilder, props, mesh) {
144
167
  (0, cylinder_1.addDoubleCylinder)(builderState, va, vb, 0.5, vShift, cylinderProps);
145
168
  }
146
169
  }
147
- else if (linkStyle === 4 /* Disk */) {
170
+ else if (linkStyle === 6 /* Disk */) {
148
171
  v3scale(tmpV12, tmpV12, 0.475);
149
172
  v3add(va, va, tmpV12);
150
173
  v3sub(vb, vb, tmpV12);
@@ -177,7 +200,8 @@ function createLinkCylinderImpostors(ctx, linkBuilder, props, cylinders) {
177
200
  var lengthScale = 0.5 - (0.5 / 2 / segmentCount);
178
201
  var aromaticSegmentCount = 3;
179
202
  var aromaticLengthScale = 0.5 - (0.5 / 2 / aromaticSegmentCount);
180
- var aromaticOffsetFactor = 4.5;
203
+ var aromaticOffsetFactor = 5.5;
204
+ var multipleOffsetFactor = 4;
181
205
  for (var edgeIndex = 0, _eI = linkCount; edgeIndex < _eI; ++edgeIndex) {
182
206
  if (ignore && ignore(edgeIndex))
183
207
  continue;
@@ -194,14 +218,14 @@ function createLinkCylinderImpostors(ctx, linkBuilder, props, cylinders) {
194
218
  v3sub(vb, vb, tmpV12);
195
219
  builder.addFixedCountDashes(va, vb, segmentCount, dashScale, dashCap, dashCap, edgeIndex);
196
220
  }
197
- else if (linkStyle === 2 /* Double */ || linkStyle === 3 /* Triple */ || linkStyle === 5 /* Aromatic */ || linkStyle === 6 /* MirroredAromatic */) {
198
- var order = linkStyle === 2 /* Double */ ? 2 :
199
- linkStyle === 3 /* Triple */ ? 3 : 1.5;
221
+ else if (linkStyle === 2 /* Double */ || linkStyle === 3 /* OffsetDouble */ || linkStyle === 4 /* Triple */ || linkStyle === 5 /* OffsetTriple */ || linkStyle === 7 /* Aromatic */ || linkStyle === 8 /* MirroredAromatic */) {
222
+ var order = linkStyle === 2 /* Double */ || linkStyle === 3 /* OffsetDouble */ ? 2 :
223
+ linkStyle === 4 /* Triple */ || linkStyle === 5 /* OffsetTriple */ ? 3 : 1.5;
200
224
  var multiScale = linkScale / (0.5 * order);
201
225
  var absOffset = (linkRadius - multiScale * linkRadius) * linkSpacing;
202
226
  v3scale(vm, v3add(vm, va, vb), 0.5);
203
227
  calculateShiftDir(vShift, va, vb, referencePosition ? referencePosition(edgeIndex) : null);
204
- if (linkStyle === 5 /* Aromatic */ || linkStyle === 6 /* MirroredAromatic */) {
228
+ if (linkStyle === 7 /* Aromatic */ || linkStyle === 8 /* MirroredAromatic */) {
205
229
  builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], 1, linkCap, linkStub, edgeIndex);
206
230
  v3scale(tmpV12, v3sub(tmpV12, vb, va), aromaticLengthScale);
207
231
  v3sub(vb, vb, tmpV12);
@@ -209,22 +233,31 @@ function createLinkCylinderImpostors(ctx, linkBuilder, props, cylinders) {
209
233
  v3sub(va, va, vShift);
210
234
  v3sub(vb, vb, vShift);
211
235
  builder.addFixedCountDashes(va, vb, aromaticSegmentCount, linkScale, dashCap, dashCap, edgeIndex);
212
- if (linkStyle === 6 /* MirroredAromatic */) {
236
+ if (linkStyle === 8 /* MirroredAromatic */) {
213
237
  v3setMagnitude(vShift, vShift, absOffset * aromaticOffsetFactor * 2);
214
238
  v3add(va, va, vShift);
215
239
  v3add(vb, vb, vShift);
216
240
  builder.addFixedCountDashes(va, vb, aromaticSegmentCount, linkScale, dashCap, dashCap, edgeIndex);
217
241
  }
218
242
  }
243
+ else if (linkStyle === 3 /* OffsetDouble */ || linkStyle === 5 /* OffsetTriple */) {
244
+ v3setMagnitude(vShift, vShift, absOffset * multipleOffsetFactor);
245
+ builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], 1, linkCap, linkStub, edgeIndex);
246
+ v3scale(tmpV12, v3sub(tmpV12, va, vb), linkSpacing * linkScale * 0.2);
247
+ v3sub(va, va, tmpV12);
248
+ if (order === 3)
249
+ builder.add(va[0] + vShift[0], va[1] + vShift[1], va[2] + vShift[2], vm[0] + vShift[0], vm[1] + vShift[1], vm[2] + vShift[2], multiScale, linkCap, linkStub, edgeIndex);
250
+ builder.add(va[0] - vShift[0], va[1] - vShift[1], va[2] - vShift[2], vm[0] - vShift[0], vm[1] - vShift[1], vm[2] - vShift[2], multiScale, dashCap, linkStub, edgeIndex);
251
+ }
219
252
  else {
220
253
  v3setMagnitude(vShift, vShift, absOffset);
221
254
  if (order === 3)
222
- builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], multiScale, linkCap, false, edgeIndex);
255
+ builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], multiScale, linkCap, linkStub, edgeIndex);
223
256
  builder.add(va[0] + vShift[0], va[1] + vShift[1], va[2] + vShift[2], vm[0] + vShift[0], vm[1] + vShift[1], vm[2] + vShift[2], multiScale, linkCap, linkStub, edgeIndex);
224
257
  builder.add(va[0] - vShift[0], va[1] - vShift[1], va[2] - vShift[2], vm[0] - vShift[0], vm[1] - vShift[1], vm[2] - vShift[2], multiScale, linkCap, linkStub, edgeIndex);
225
258
  }
226
259
  }
227
- else if (linkStyle === 4 /* Disk */) {
260
+ else if (linkStyle === 6 /* Disk */) {
228
261
  v3scale(tmpV12, v3sub(tmpV12, vb, va), 0.475);
229
262
  v3add(va, va, tmpV12);
230
263
  v3sub(vb, vb, tmpV12);
@@ -255,6 +288,7 @@ function createLinkLines(ctx, linkBuilder, props, lines) {
255
288
  var aromaticSegmentCount = 3;
256
289
  var aromaticLengthScale = 0.5 - (0.5 / 2 / aromaticSegmentCount);
257
290
  var aromaticOffsetFactor = 4.5;
291
+ var multipleOffsetFactor = 3;
258
292
  for (var edgeIndex = 0, _eI = linkCount; edgeIndex < _eI; ++edgeIndex) {
259
293
  if (ignore && ignore(edgeIndex))
260
294
  continue;
@@ -269,14 +303,14 @@ function createLinkLines(ctx, linkBuilder, props, lines) {
269
303
  v3sub(vb, vb, tmpV12);
270
304
  builder.addFixedCountDashes(va, vb, segmentCount, edgeIndex);
271
305
  }
272
- else if (linkStyle === 2 /* Double */ || linkStyle === 3 /* Triple */ || linkStyle === 5 /* Aromatic */ || linkStyle === 6 /* MirroredAromatic */) {
273
- var order = linkStyle === 2 /* Double */ ? 2 :
274
- linkStyle === 3 /* Triple */ ? 3 : 1.5;
306
+ else if (linkStyle === 2 /* Double */ || linkStyle === 3 /* OffsetDouble */ || linkStyle === 4 /* Triple */ || linkStyle === 5 /* OffsetTriple */ || linkStyle === 7 /* Aromatic */ || linkStyle === 8 /* MirroredAromatic */) {
307
+ var order = linkStyle === 2 /* Double */ || linkStyle === 3 /* OffsetDouble */ ? 2 :
308
+ linkStyle === 4 /* Triple */ || linkStyle === 5 /* OffsetTriple */ ? 3 : 1.5;
275
309
  var multiRadius = 1 * (linkScale / (0.5 * order));
276
310
  var absOffset = (1 - multiRadius) * linkSpacing;
277
311
  v3scale(vm, v3add(vm, va, vb), 0.5);
278
312
  calculateShiftDir(vShift, va, vb, referencePosition ? referencePosition(edgeIndex) : null);
279
- if (linkStyle === 5 /* Aromatic */ || linkStyle === 6 /* MirroredAromatic */) {
313
+ if (linkStyle === 7 /* Aromatic */ || linkStyle === 8 /* MirroredAromatic */) {
280
314
  builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], edgeIndex);
281
315
  v3scale(tmpV12, v3sub(tmpV12, vb, va), aromaticLengthScale);
282
316
  v3sub(vb, vb, tmpV12);
@@ -284,22 +318,31 @@ function createLinkLines(ctx, linkBuilder, props, lines) {
284
318
  v3sub(va, va, vShift);
285
319
  v3sub(vb, vb, vShift);
286
320
  builder.addFixedCountDashes(va, vb, aromaticSegmentCount, edgeIndex);
287
- if (linkStyle === 6 /* MirroredAromatic */) {
321
+ if (linkStyle === 8 /* MirroredAromatic */) {
288
322
  v3setMagnitude(vShift, vShift, absOffset * aromaticOffsetFactor * 2);
289
323
  v3add(va, va, vShift);
290
324
  v3add(vb, vb, vShift);
291
325
  builder.addFixedCountDashes(va, vb, aromaticSegmentCount, edgeIndex);
292
326
  }
293
327
  }
328
+ else if (linkStyle === 3 /* OffsetDouble */ || linkStyle === 5 /* OffsetTriple */) {
329
+ v3setMagnitude(vShift, vShift, absOffset * multipleOffsetFactor);
330
+ builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], edgeIndex);
331
+ v3scale(tmpV12, v3sub(tmpV12, va, vb), linkSpacing * linkScale);
332
+ v3sub(va, va, tmpV12);
333
+ if (order === 3)
334
+ builder.add(va[0] + vShift[0], va[1] + vShift[1], va[2] + vShift[2], vm[0] + vShift[0], vm[1] + vShift[1], vm[2] + vShift[2], edgeIndex);
335
+ builder.add(va[0] - vShift[0], va[1] - vShift[1], va[2] - vShift[2], vm[0] - vShift[0], vm[1] - vShift[1], vm[2] - vShift[2], edgeIndex);
336
+ }
294
337
  else {
295
- v3setMagnitude(vShift, vShift, absOffset);
338
+ v3setMagnitude(vShift, vShift, absOffset * 1.5);
296
339
  if (order === 3)
297
340
  builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], edgeIndex);
298
341
  builder.add(va[0] + vShift[0], va[1] + vShift[1], va[2] + vShift[2], vm[0] + vShift[0], vm[1] + vShift[1], vm[2] + vShift[2], edgeIndex);
299
342
  builder.add(va[0] - vShift[0], va[1] - vShift[1], va[2] - vShift[2], vm[0] - vShift[0], vm[1] - vShift[1], vm[2] - vShift[2], edgeIndex);
300
343
  }
301
344
  }
302
- else if (linkStyle === 4 /* Disk */) {
345
+ else if (linkStyle === 6 /* Disk */) {
303
346
  v3scale(tmpV12, v3sub(tmpV12, vb, va), 0.475);
304
347
  v3add(va, va, tmpV12);
305
348
  v3sub(vb, vb, tmpV12);