molstar 3.26.0 → 3.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -20
- package/README.md +202 -202
- package/build/viewer/embedded.html +52 -52
- package/build/viewer/index.html +115 -115
- package/build/viewer/molstar.css +1 -1
- package/build/viewer/molstar.js +1 -1
- package/lib/apps/docking-viewer/index.html +36 -36
- package/lib/apps/docking-viewer/viewport.d.ts +2 -0
- package/lib/apps/docking-viewer/viewport.js +1 -0
- package/lib/apps/viewer/app.d.ts +3 -1
- package/lib/apps/viewer/app.js +4 -0
- package/lib/apps/viewer/embedded.html +52 -52
- package/lib/apps/viewer/index.html +115 -115
- package/lib/cli/structure-info/volume.js +1 -1
- package/lib/commonjs/apps/docking-viewer/viewport.d.ts +2 -0
- package/lib/commonjs/apps/docking-viewer/viewport.js +1 -0
- package/lib/commonjs/apps/viewer/app.d.ts +3 -1
- package/lib/commonjs/apps/viewer/app.js +4 -0
- package/lib/commonjs/cli/structure-info/volume.js +1 -1
- package/lib/commonjs/examples/lighting/index.js +1 -1
- package/lib/commonjs/extensions/anvil/behavior.d.ts +1 -0
- package/lib/commonjs/extensions/cellpack/model.js +2 -1
- package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.d.ts +1 -0
- package/lib/commonjs/extensions/meshes/choice.d.ts +26 -0
- package/lib/commonjs/extensions/meshes/choice.js +31 -0
- package/lib/commonjs/extensions/meshes/examples.d.ts +26 -0
- package/lib/commonjs/extensions/meshes/examples.js +337 -0
- package/lib/commonjs/extensions/meshes/mesh-cif-schema.d.ts +29 -0
- package/lib/commonjs/extensions/meshes/mesh-cif-schema.js +34 -0
- package/lib/commonjs/extensions/meshes/mesh-extension.d.ts +66 -0
- package/lib/commonjs/extensions/meshes/mesh-extension.js +221 -0
- package/lib/commonjs/extensions/meshes/mesh-streaming/behavior.d.ts +105 -0
- package/lib/commonjs/extensions/meshes/mesh-streaming/behavior.js +379 -0
- package/lib/commonjs/extensions/meshes/mesh-streaming/server-info.d.ts +54 -0
- package/lib/commonjs/extensions/meshes/mesh-streaming/server-info.js +30 -0
- package/lib/commonjs/extensions/meshes/mesh-streaming/transformers.d.ts +42 -0
- package/lib/commonjs/extensions/meshes/mesh-streaming/transformers.js +273 -0
- package/lib/commonjs/extensions/meshes/mesh-utils.d.ts +41 -0
- package/lib/commonjs/extensions/meshes/mesh-utils.js +357 -0
- package/lib/commonjs/extensions/meshes/metadata.d.ts +108 -0
- package/lib/commonjs/extensions/meshes/metadata.js +72 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +2 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/prop.d.ts +1 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +16 -4
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +4 -2
- package/lib/commonjs/extensions/rcsb/validation-report/behavior.d.ts +3 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-meshes.d.ts +17 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-meshes.js +156 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-models.d.ts +12 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-models.js +96 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-root.d.ts +122 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-root.js +576 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-segmentation.d.ts +20 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-segmentation.js +200 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-state.d.ts +88 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-state.js +32 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-volume.d.ts +35 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-volume.js +234 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/external-api.d.ts +11 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/external-api.js +85 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/global-state.d.ts +51 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/global-state.js +83 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/helpers.d.ts +56 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/helpers.js +171 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/index.d.ts +20 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/index.js +130 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/transformers.d.ts +33 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/transformers.js +85 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/ui.d.ts +29 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/ui.js +232 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/volseg-api/api.d.ts +22 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/volseg-api/api.js +83 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/volseg-api/data.d.ts +92 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/volseg-api/data.js +7 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/volseg-api/utils.d.ts +23 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/volseg-api/utils.js +78 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +2 -0
- package/lib/commonjs/mol-canvas3d/passes/draw.js +3 -3
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +2 -1
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +27 -13
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +2 -1
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +3 -2
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
- package/lib/commonjs/mol-geo/geometry/points/points.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +1 -0
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +3 -2
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +1 -2
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +4 -6
- package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/cylinders.js +1 -1
- package/lib/commonjs/mol-gl/renderable/spheres.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/spheres.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/clip-instance.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/clip-instance.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/clip-pixel.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/clip-pixel.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-clip.glsl.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/chunks/common-clip.glsl.js +2 -2
- package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/cylinders.vert.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/cylinders.vert.js +2 -2
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/outlines.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/outlines.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/postprocessing.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.vert.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/spheres.vert.js +2 -2
- package/lib/commonjs/mol-gl/webgl/renderbuffer.d.ts +1 -1
- package/lib/commonjs/mol-gl/webgl/renderbuffer.js +15 -0
- package/lib/commonjs/mol-gl/webgl/state.d.ts +12 -0
- package/lib/commonjs/mol-gl/webgl/state.js +136 -0
- package/lib/commonjs/mol-io/reader/cif/schema/segmentation.d.ts +38 -0
- package/lib/commonjs/mol-io/reader/cif/schema/segmentation.js +22 -0
- package/lib/commonjs/mol-io/reader/cif.d.ts +3 -1
- package/lib/commonjs/mol-io/reader/cif.js +3 -1
- package/lib/commonjs/mol-model/location.d.ts +2 -1
- package/lib/commonjs/mol-model/loci.d.ts +11 -11
- package/lib/commonjs/mol-model/loci.js +13 -1
- package/lib/commonjs/mol-model/sequence/alignment/sequence.d.ts +4 -1
- package/lib/commonjs/mol-model/sequence/alignment/sequence.js +4 -1
- package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -0
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +8 -0
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -5
- package/lib/commonjs/mol-model/structure/structure/util/superposition.d.ts +1 -0
- package/lib/commonjs/mol-model/structure/structure/util/superposition.js +2 -1
- package/lib/commonjs/mol-model/volume/volume.d.ts +35 -2
- package/lib/commonjs/mol-model/volume/volume.js +77 -2
- package/lib/commonjs/mol-model-formats/volume/segmentation.d.ts +23 -0
- package/lib/commonjs/mol-model-formats/volume/segmentation.js +138 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/representation.d.ts +2 -2
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +2 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
- package/lib/commonjs/mol-plugin/commands.d.ts +1 -0
- package/lib/commonjs/mol-plugin-state/animation/built-in/model-index.js +4 -1
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +2 -0
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -0
- package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +13 -4
- package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.js +6 -1
- package/lib/commonjs/mol-plugin-state/builder/structure/representation.d.ts +1 -0
- package/lib/commonjs/mol-plugin-state/formats/provider.d.ts +2 -2
- package/lib/commonjs/mol-plugin-state/formats/provider.js +11 -3
- package/lib/commonjs/mol-plugin-state/formats/registry.js +6 -5
- package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +27 -0
- package/lib/commonjs/mol-plugin-state/formats/volume.js +65 -1
- package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/manager/structure/component.js +18 -13
- package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +1 -2
- package/lib/commonjs/mol-plugin-state/transforms/representation.js +5 -6
- package/lib/commonjs/mol-plugin-state/transforms/volume.d.ts +11 -1
- package/lib/commonjs/mol-plugin-state/transforms/volume.js +55 -2
- package/lib/commonjs/mol-plugin-ui/controls/line-graph/line-graph-component.d.ts +1 -0
- package/lib/commonjs/mol-plugin-ui/controls/line-graph/line-graph-component.js +33 -13
- package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +1 -0
- package/lib/commonjs/mol-plugin-ui/controls/parameters.js +22 -5
- package/lib/commonjs/mol-plugin-ui/sequence/sequence.d.ts +25 -17
- package/lib/commonjs/mol-plugin-ui/sequence.d.ts +19 -1
- package/lib/commonjs/mol-plugin-ui/sequence.js +8 -1
- package/lib/commonjs/mol-plugin-ui/state/apply-action.d.ts +2 -10
- package/lib/commonjs/mol-plugin-ui/state/apply-action.js +2 -2
- package/lib/commonjs/mol-plugin-ui/structure/quick-styles.js +2 -2
- package/lib/commonjs/mol-plugin-ui/structure/superposition.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/structure/volume.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/structure/volume.js +3 -2
- package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/params.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/registry.d.ts +12 -0
- package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +6 -0
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +6 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/line.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/point.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +6 -0
- package/lib/commonjs/mol-repr/structure/units-visual.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +4 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +2 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +1 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +4 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +1 -0
- package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/element-cross.js +2 -1
- package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/element-point.js +2 -1
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +4 -0
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.js +3 -1
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +6 -2
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -1
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +3 -1
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +4 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +2 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/util/bond.d.ts +7 -0
- package/lib/commonjs/mol-repr/structure/visual/util/bond.js +18 -7
- package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +4 -1
- package/lib/commonjs/mol-repr/structure/visual/util/common.js +10 -6
- package/lib/commonjs/mol-repr/structure/visual/util/element.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/util/element.js +2 -3
- package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +2 -0
- package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +4 -4
- package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -6
- package/lib/commonjs/mol-repr/volume/isosurface.d.ts +4 -4
- package/lib/commonjs/mol-repr/volume/isosurface.js +17 -16
- package/lib/commonjs/mol-repr/volume/registry.d.ts +54 -1
- package/lib/commonjs/mol-repr/volume/registry.js +3 -1
- package/lib/commonjs/mol-repr/volume/representation.d.ts +11 -7
- package/lib/commonjs/mol-repr/volume/representation.js +142 -47
- package/lib/commonjs/mol-repr/volume/segment.d.ts +291 -0
- package/lib/commonjs/mol-repr/volume/segment.js +289 -0
- package/lib/commonjs/mol-repr/volume/slice.d.ts +2 -2
- package/lib/commonjs/mol-repr/volume/slice.js +5 -5
- package/lib/commonjs/mol-repr/volume/util.d.ts +12 -3
- package/lib/commonjs/mol-repr/volume/util.js +72 -6
- package/lib/commonjs/mol-script/language/builder.d.ts +1 -0
- package/lib/commonjs/mol-theme/color/volume-segment.d.ts +41 -0
- package/lib/commonjs/mol-theme/color/volume-segment.js +58 -0
- package/lib/commonjs/mol-theme/color/volume-value.js +2 -1
- package/lib/commonjs/mol-theme/color.d.ts +15 -0
- package/lib/commonjs/mol-theme/color.js +2 -0
- package/lib/commonjs/mol-theme/label.d.ts +1 -1
- package/lib/commonjs/mol-theme/label.js +13 -1
- package/lib/commonjs/mol-util/param-definition.d.ts +4 -1
- package/lib/commonjs/mol-util/param-definition.js +5 -2
- package/lib/examples/alpha-orbitals/index.html +72 -72
- package/lib/examples/basic-wrapper/index.html +137 -137
- package/lib/examples/lighting/index.html +88 -88
- package/lib/examples/lighting/index.js +1 -1
- package/lib/examples/proteopedia-wrapper/index.html +236 -236
- package/lib/extensions/anvil/behavior.d.ts +1 -0
- package/lib/extensions/cellpack/model.js +2 -1
- package/lib/extensions/dnatco/confal-pyramids/behavior.d.ts +1 -0
- package/lib/extensions/meshes/choice.d.ts +26 -0
- package/lib/extensions/meshes/choice.js +28 -0
- package/lib/extensions/meshes/examples.d.ts +26 -0
- package/lib/extensions/meshes/examples.js +325 -0
- package/lib/extensions/meshes/mesh-cif-schema.d.ts +29 -0
- package/lib/extensions/meshes/mesh-cif-schema.js +30 -0
- package/lib/extensions/meshes/mesh-extension.d.ts +66 -0
- package/lib/extensions/meshes/mesh-extension.js +218 -0
- package/lib/extensions/meshes/mesh-streaming/behavior.d.ts +105 -0
- package/lib/extensions/meshes/mesh-streaming/behavior.js +375 -0
- package/lib/extensions/meshes/mesh-streaming/server-info.d.ts +54 -0
- package/lib/extensions/meshes/mesh-streaming/server-info.js +26 -0
- package/lib/extensions/meshes/mesh-streaming/transformers.d.ts +42 -0
- package/lib/extensions/meshes/mesh-streaming/transformers.js +270 -0
- package/lib/extensions/meshes/mesh-utils.d.ts +41 -0
- package/lib/extensions/meshes/mesh-utils.js +346 -0
- package/lib/extensions/meshes/metadata.d.ts +108 -0
- package/lib/extensions/meshes/metadata.js +69 -0
- package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +2 -0
- package/lib/extensions/model-archive/quality-assessment/prop.d.ts +1 -0
- package/lib/extensions/model-archive/quality-assessment/prop.js +16 -4
- package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +4 -2
- package/lib/extensions/rcsb/validation-report/behavior.d.ts +3 -0
- package/lib/extensions/volumes-and-segmentations/entry-meshes.d.ts +17 -0
- package/lib/extensions/volumes-and-segmentations/entry-meshes.js +153 -0
- package/lib/extensions/volumes-and-segmentations/entry-models.d.ts +12 -0
- package/lib/extensions/volumes-and-segmentations/entry-models.js +93 -0
- package/lib/extensions/volumes-and-segmentations/entry-root.d.ts +122 -0
- package/lib/extensions/volumes-and-segmentations/entry-root.js +571 -0
- package/lib/extensions/volumes-and-segmentations/entry-segmentation.d.ts +20 -0
- package/lib/extensions/volumes-and-segmentations/entry-segmentation.js +197 -0
- package/lib/extensions/volumes-and-segmentations/entry-state.d.ts +88 -0
- package/lib/extensions/volumes-and-segmentations/entry-state.js +29 -0
- package/lib/extensions/volumes-and-segmentations/entry-volume.d.ts +35 -0
- package/lib/extensions/volumes-and-segmentations/entry-volume.js +231 -0
- package/lib/extensions/volumes-and-segmentations/external-api.d.ts +11 -0
- package/lib/extensions/volumes-and-segmentations/external-api.js +80 -0
- package/lib/extensions/volumes-and-segmentations/global-state.d.ts +51 -0
- package/lib/extensions/volumes-and-segmentations/global-state.js +80 -0
- package/lib/extensions/volumes-and-segmentations/helpers.d.ts +56 -0
- package/lib/extensions/volumes-and-segmentations/helpers.js +163 -0
- package/lib/extensions/volumes-and-segmentations/index.d.ts +20 -0
- package/lib/extensions/volumes-and-segmentations/index.js +127 -0
- package/lib/extensions/volumes-and-segmentations/transformers.d.ts +33 -0
- package/lib/extensions/volumes-and-segmentations/transformers.js +82 -0
- package/lib/extensions/volumes-and-segmentations/ui.d.ts +29 -0
- package/lib/extensions/volumes-and-segmentations/ui.js +229 -0
- package/lib/extensions/volumes-and-segmentations/volseg-api/api.d.ts +22 -0
- package/lib/extensions/volumes-and-segmentations/volseg-api/api.js +80 -0
- package/lib/extensions/volumes-and-segmentations/volseg-api/data.d.ts +92 -0
- package/lib/extensions/volumes-and-segmentations/volseg-api/data.js +6 -0
- package/lib/extensions/volumes-and-segmentations/volseg-api/utils.d.ts +23 -0
- package/lib/extensions/volumes-and-segmentations/volseg-api/utils.js +75 -0
- package/lib/mol-canvas3d/canvas3d.d.ts +2 -0
- package/lib/mol-canvas3d/passes/draw.js +3 -3
- package/lib/mol-canvas3d/passes/image.d.ts +1 -0
- package/lib/mol-canvas3d/passes/postprocessing.d.ts +2 -1
- package/lib/mol-canvas3d/passes/postprocessing.js +27 -13
- package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +2 -1
- package/lib/mol-geo/geometry/cylinders/cylinders.js +3 -2
- package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
- package/lib/mol-geo/geometry/points/points.d.ts +1 -1
- package/lib/mol-geo/geometry/spheres/spheres.d.ts +1 -0
- package/lib/mol-geo/geometry/spheres/spheres.js +3 -2
- package/lib/mol-gl/compute/histogram-pyramid/reduction.js +1 -2
- package/lib/mol-gl/compute/marching-cubes/isosurface.js +4 -6
- package/lib/mol-gl/renderable/cylinders.d.ts +1 -0
- package/lib/mol-gl/renderable/cylinders.js +1 -1
- package/lib/mol-gl/renderable/spheres.d.ts +1 -0
- package/lib/mol-gl/renderable/spheres.js +1 -1
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/clip-instance.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/clip-instance.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/clip-pixel.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/clip-pixel.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/common-clip.glsl.d.ts +2 -2
- package/lib/mol-gl/shader/chunks/common-clip.glsl.js +2 -2
- package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
- package/lib/mol-gl/shader/cylinders.frag.js +1 -1
- package/lib/mol-gl/shader/cylinders.vert.d.ts +2 -2
- package/lib/mol-gl/shader/cylinders.vert.js +2 -2
- package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
- package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
- package/lib/mol-gl/shader/outlines.frag.d.ts +1 -1
- package/lib/mol-gl/shader/outlines.frag.js +1 -1
- package/lib/mol-gl/shader/postprocessing.frag.d.ts +1 -1
- package/lib/mol-gl/shader/postprocessing.frag.js +1 -1
- package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
- package/lib/mol-gl/shader/spheres.frag.js +1 -1
- package/lib/mol-gl/shader/spheres.vert.d.ts +2 -2
- package/lib/mol-gl/shader/spheres.vert.js +2 -2
- package/lib/mol-gl/webgl/renderbuffer.d.ts +1 -1
- package/lib/mol-gl/webgl/renderbuffer.js +15 -0
- package/lib/mol-gl/webgl/state.d.ts +12 -0
- package/lib/mol-gl/webgl/state.js +136 -0
- package/lib/mol-io/reader/cif/schema/segmentation.d.ts +38 -0
- package/lib/mol-io/reader/cif/schema/segmentation.js +19 -0
- package/lib/mol-io/reader/cif.d.ts +3 -1
- package/lib/mol-io/reader/cif.js +3 -1
- package/lib/mol-model/location.d.ts +2 -1
- package/lib/mol-model/loci.d.ts +11 -11
- package/lib/mol-model/loci.js +13 -1
- package/lib/mol-model/sequence/alignment/sequence.d.ts +4 -1
- package/lib/mol-model/sequence/alignment/sequence.js +3 -2
- package/lib/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -0
- package/lib/mol-model/structure/model/properties/utils/atomic-index.js +8 -0
- package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -5
- package/lib/mol-model/structure/structure/util/superposition.d.ts +1 -0
- package/lib/mol-model/structure/structure/util/superposition.js +1 -1
- package/lib/mol-model/volume/volume.d.ts +35 -2
- package/lib/mol-model/volume/volume.js +79 -4
- package/lib/mol-model-formats/volume/segmentation.d.ts +23 -0
- package/lib/mol-model-formats/volume/segmentation.js +135 -0
- package/lib/mol-plugin/behavior/dynamic/representation.d.ts +2 -2
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -0
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +2 -1
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
- package/lib/mol-plugin/commands.d.ts +1 -0
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/animation/built-in/model-index.js +4 -1
- package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +2 -0
- package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -0
- package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +13 -4
- package/lib/mol-plugin-state/builder/structure/representation-preset.js +6 -1
- package/lib/mol-plugin-state/builder/structure/representation.d.ts +1 -0
- package/lib/mol-plugin-state/formats/provider.d.ts +2 -2
- package/lib/mol-plugin-state/formats/provider.js +11 -3
- package/lib/mol-plugin-state/formats/registry.js +6 -5
- package/lib/mol-plugin-state/formats/volume.d.ts +27 -0
- package/lib/mol-plugin-state/formats/volume.js +64 -0
- package/lib/mol-plugin-state/manager/structure/component.d.ts +1 -1
- package/lib/mol-plugin-state/manager/structure/component.js +18 -13
- package/lib/mol-plugin-state/transforms/representation.d.ts +1 -2
- package/lib/mol-plugin-state/transforms/representation.js +5 -6
- package/lib/mol-plugin-state/transforms/volume.d.ts +11 -1
- package/lib/mol-plugin-state/transforms/volume.js +54 -1
- package/lib/mol-plugin-ui/controls/line-graph/line-graph-component.d.ts +1 -0
- package/lib/mol-plugin-ui/controls/line-graph/line-graph-component.js +33 -13
- package/lib/mol-plugin-ui/controls/parameters.d.ts +1 -0
- package/lib/mol-plugin-ui/controls/parameters.js +22 -5
- package/lib/mol-plugin-ui/sequence/sequence.d.ts +25 -17
- package/lib/mol-plugin-ui/sequence.d.ts +19 -1
- package/lib/mol-plugin-ui/sequence.js +7 -7
- package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
- package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
- package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
- package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
- package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
- package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
- package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
- package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
- package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
- package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
- package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
- package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
- package/lib/mol-plugin-ui/skin/base/components/viewport.scss +137 -128
- package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
- package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
- package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
- package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
- package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
- package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
- package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
- package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
- package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
- package/lib/mol-plugin-ui/skin/blue.scss +1 -1
- package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
- package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
- package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
- package/lib/mol-plugin-ui/skin/dark.scss +1 -1
- package/lib/mol-plugin-ui/skin/light.scss +1 -1
- package/lib/mol-plugin-ui/state/apply-action.d.ts +2 -10
- package/lib/mol-plugin-ui/state/apply-action.js +2 -2
- package/lib/mol-plugin-ui/structure/quick-styles.js +2 -2
- package/lib/mol-plugin-ui/structure/superposition.d.ts +1 -1
- package/lib/mol-plugin-ui/structure/volume.d.ts +1 -1
- package/lib/mol-plugin-ui/structure/volume.js +3 -2
- package/lib/mol-repr/structure/complex-visual.d.ts +1 -0
- package/lib/mol-repr/structure/params.d.ts +2 -0
- package/lib/mol-repr/structure/registry.d.ts +12 -0
- package/lib/mol-repr/structure/representation/backbone.d.ts +3 -0
- package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +6 -0
- package/lib/mol-repr/structure/representation/ellipsoid.d.ts +6 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +3 -0
- package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
- package/lib/mol-repr/structure/representation/line.d.ts +3 -0
- package/lib/mol-repr/structure/representation/molecular-surface.d.ts +3 -0
- package/lib/mol-repr/structure/representation/point.d.ts +3 -0
- package/lib/mol-repr/structure/representation/spacefill.d.ts +6 -0
- package/lib/mol-repr/structure/units-visual.d.ts +2 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +4 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +2 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +1 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +4 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +1 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +1 -0
- package/lib/mol-repr/structure/visual/element-cross.d.ts +1 -0
- package/lib/mol-repr/structure/visual/element-cross.js +2 -1
- package/lib/mol-repr/structure/visual/element-point.d.ts +1 -0
- package/lib/mol-repr/structure/visual/element-point.js +2 -1
- package/lib/mol-repr/structure/visual/element-sphere.d.ts +4 -0
- package/lib/mol-repr/structure/visual/element-sphere.js +3 -1
- package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
- package/lib/mol-repr/structure/visual/gaussian-density-volume.js +6 -2
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -1
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +3 -1
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -0
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +4 -0
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -0
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +2 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -0
- package/lib/mol-repr/structure/visual/util/bond.d.ts +7 -0
- package/lib/mol-repr/structure/visual/util/bond.js +19 -8
- package/lib/mol-repr/structure/visual/util/common.d.ts +4 -1
- package/lib/mol-repr/structure/visual/util/common.js +10 -6
- package/lib/mol-repr/structure/visual/util/element.d.ts +1 -0
- package/lib/mol-repr/structure/visual/util/element.js +3 -4
- package/lib/mol-repr/structure/visual/util/gaussian.d.ts +2 -0
- package/lib/mol-repr/volume/direct-volume.d.ts +4 -4
- package/lib/mol-repr/volume/direct-volume.js +8 -6
- package/lib/mol-repr/volume/isosurface.d.ts +4 -4
- package/lib/mol-repr/volume/isosurface.js +17 -16
- package/lib/mol-repr/volume/registry.d.ts +54 -1
- package/lib/mol-repr/volume/registry.js +3 -1
- package/lib/mol-repr/volume/representation.d.ts +11 -7
- package/lib/mol-repr/volume/representation.js +144 -49
- package/lib/mol-repr/volume/segment.d.ts +291 -0
- package/lib/mol-repr/volume/segment.js +279 -0
- package/lib/mol-repr/volume/slice.d.ts +2 -2
- package/lib/mol-repr/volume/slice.js +5 -5
- package/lib/mol-repr/volume/util.d.ts +12 -3
- package/lib/mol-repr/volume/util.js +71 -6
- package/lib/mol-script/language/builder.d.ts +1 -0
- package/lib/mol-theme/color/volume-segment.d.ts +41 -0
- package/lib/mol-theme/color/volume-segment.js +53 -0
- package/lib/mol-theme/color/volume-value.js +2 -1
- package/lib/mol-theme/color.d.ts +15 -0
- package/lib/mol-theme/color.js +2 -0
- package/lib/mol-theme/label.d.ts +1 -1
- package/lib/mol-theme/label.js +13 -1
- package/lib/mol-util/param-definition.d.ts +4 -1
- package/lib/mol-util/param-definition.js +5 -2
- package/package.json +169 -168
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
|
+
* @author David Sehnal <david.sehnal@gmail.com>
|
|
5
6
|
*/
|
|
6
7
|
import { Unit, Structure, ElementIndex, StructureElement, ResidueIndex } from '../../../../mol-model/structure';
|
|
7
8
|
import { TransformData } from '../../../../mol-geo/geometry/transform-data';
|
|
@@ -52,11 +53,13 @@ export declare function ensureReasonableResolution<T>(box: Box3D, props: {
|
|
|
52
53
|
export declare function getConformation(unit: Unit): import("../../../../mol-model/structure/model/properties/atomic").AtomicConformation | import("../../../../mol-model/structure/model/properties/coarse").CoarseSphereConformation | import("../../../../mol-model/structure/model/properties/coarse").CoarseGaussianConformation;
|
|
53
54
|
export declare const CommonSurfaceParams: {
|
|
54
55
|
ignoreHydrogens: PD.BooleanParam;
|
|
56
|
+
ignoreHydrogensVariant: PD.Select<"all" | "non-polar">;
|
|
55
57
|
traceOnly: PD.BooleanParam;
|
|
56
58
|
includeParent: PD.BooleanParam;
|
|
57
59
|
};
|
|
58
60
|
export declare const DefaultCommonSurfaceProps: PD.Values<{
|
|
59
61
|
ignoreHydrogens: PD.BooleanParam;
|
|
62
|
+
ignoreHydrogensVariant: PD.Select<"all" | "non-polar">;
|
|
60
63
|
traceOnly: PD.BooleanParam;
|
|
61
64
|
includeParent: PD.BooleanParam;
|
|
62
65
|
}>;
|
|
@@ -83,6 +86,6 @@ export declare function getStructureConformationAndRadius(structure: Structure,
|
|
|
83
86
|
boundary: import("../../../../mol-math/geometry/boundary").Boundary;
|
|
84
87
|
radius: (index: number) => number;
|
|
85
88
|
};
|
|
86
|
-
export declare function isHydrogen(unit: Unit, element: ElementIndex): boolean;
|
|
89
|
+
export declare function isHydrogen(structure: Structure, unit: Unit, element: ElementIndex, variant: 'all' | 'non-polar'): boolean;
|
|
87
90
|
export declare function isH(atomicNumber: ArrayLike<number>, element: ElementIndex): boolean;
|
|
88
91
|
export declare function isTrace(unit: Unit, element: ElementIndex): boolean;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
4
4
|
*
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
|
+
* @author David Sehnal <david.sehnal@gmail.com>
|
|
6
7
|
*/
|
|
7
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
9
|
exports.isTrace = exports.isH = exports.isHydrogen = exports.getStructureConformationAndRadius = exports.getUnitConformationAndRadius = exports.DefaultCommonSurfaceProps = exports.CommonSurfaceParams = exports.getConformation = exports.ensureReasonableResolution = exports.getVolumeSliceInfo = exports.includesUnitKind = exports.UnitKindOptions = exports.UnitKindInfo = exports.createUnitsTransform = exports.getAltResidueLociFromId = exports.getAltResidueLoci = exports.getResidueLoci = void 0;
|
|
@@ -17,6 +18,7 @@ var array_1 = require("../../../../mol-util/array");
|
|
|
17
18
|
var param_definition_1 = require("../../../../mol-util/param-definition");
|
|
18
19
|
var boundary_1 = require("../../../../mol-math/geometry/boundary");
|
|
19
20
|
var geometry_1 = require("../../../../mol-math/geometry");
|
|
21
|
+
var functional_group_1 = require("../../../../mol-model-props/computed/chemistry/functional-group");
|
|
20
22
|
/** Return a Loci for the elements of a whole residue the elementIndex belongs to. */
|
|
21
23
|
function getResidueLoci(structure, unit, elementIndex) {
|
|
22
24
|
var elements = unit.elements, model = unit.model;
|
|
@@ -136,6 +138,7 @@ function getConformation(unit) {
|
|
|
136
138
|
exports.getConformation = getConformation;
|
|
137
139
|
exports.CommonSurfaceParams = {
|
|
138
140
|
ignoreHydrogens: param_definition_1.ParamDefinition.Boolean(false, { description: 'Whether or not to include hydrogen atoms in the surface calculation.' }),
|
|
141
|
+
ignoreHydrogensVariant: param_definition_1.ParamDefinition.Select('all', param_definition_1.ParamDefinition.arrayToOptions(['all', 'non-polar'])),
|
|
139
142
|
traceOnly: param_definition_1.ParamDefinition.Boolean(false, { description: 'Whether or not to only use trace atoms in the surface calculation.' }),
|
|
140
143
|
includeParent: param_definition_1.ParamDefinition.Boolean(false, { description: 'Include elements of the parent structure in surface calculation to get a surface patch of the current structure.' }),
|
|
141
144
|
};
|
|
@@ -160,7 +163,7 @@ function filterUnitId(id, elements, indices) {
|
|
|
160
163
|
}
|
|
161
164
|
}
|
|
162
165
|
function getUnitConformationAndRadius(structure, unit, sizeTheme, props) {
|
|
163
|
-
var ignoreHydrogens = props.ignoreHydrogens, traceOnly = props.traceOnly, includeParent = props.includeParent;
|
|
166
|
+
var ignoreHydrogens = props.ignoreHydrogens, ignoreHydrogensVariant = props.ignoreHydrogensVariant, traceOnly = props.traceOnly, includeParent = props.includeParent;
|
|
164
167
|
var rootUnit = includeParent ? structure.root.unitMap.get(unit.id) : unit;
|
|
165
168
|
var differentRoot = includeParent && rootUnit !== unit;
|
|
166
169
|
var _a = getConformation(rootUnit), x = _a.x, y = _a.y, z = _a.z;
|
|
@@ -175,7 +178,7 @@ function getUnitConformationAndRadius(structure, unit, sizeTheme, props) {
|
|
|
175
178
|
var _id = [];
|
|
176
179
|
for (var i = 0, il = elements.length; i < il; ++i) {
|
|
177
180
|
var eI = elements[i];
|
|
178
|
-
if (ignoreHydrogens && isHydrogen(rootUnit, eI))
|
|
181
|
+
if (ignoreHydrogens && isHydrogen(structure, rootUnit, eI, ignoreHydrogensVariant))
|
|
179
182
|
continue;
|
|
180
183
|
if (traceOnly && !isTrace(rootUnit, eI))
|
|
181
184
|
continue;
|
|
@@ -205,7 +208,7 @@ function getUnitConformationAndRadius(structure, unit, sizeTheme, props) {
|
|
|
205
208
|
}
|
|
206
209
|
exports.getUnitConformationAndRadius = getUnitConformationAndRadius;
|
|
207
210
|
function getStructureConformationAndRadius(structure, sizeTheme, props) {
|
|
208
|
-
var ignoreHydrogens = props.ignoreHydrogens, traceOnly = props.traceOnly, includeParent = props.includeParent;
|
|
211
|
+
var ignoreHydrogens = props.ignoreHydrogens, ignoreHydrogensVariant = props.ignoreHydrogensVariant, traceOnly = props.traceOnly, includeParent = props.includeParent;
|
|
209
212
|
var differentRoot = includeParent && !!structure.parent;
|
|
210
213
|
var l = structure_1.StructureElement.Location.create(structure.root);
|
|
211
214
|
var _a = structure.boundary.sphere, center = _a.center, sphereRadius = _a.radius;
|
|
@@ -233,7 +236,7 @@ function getStructureConformationAndRadius(structure, sizeTheme, props) {
|
|
|
233
236
|
l.unit = unit;
|
|
234
237
|
for (var j = 0, jl = elements.length; j < jl; ++j) {
|
|
235
238
|
var eI = elements[j];
|
|
236
|
-
if (ignoreHydrogens && isHydrogen(unit, eI))
|
|
239
|
+
if (ignoreHydrogens && isHydrogen(structure, unit, eI, ignoreHydrogensVariant))
|
|
237
240
|
continue;
|
|
238
241
|
if (traceOnly && !isTrace(unit, eI))
|
|
239
242
|
continue;
|
|
@@ -296,10 +299,11 @@ function getStructureConformationAndRadius(structure, sizeTheme, props) {
|
|
|
296
299
|
}
|
|
297
300
|
exports.getStructureConformationAndRadius = getStructureConformationAndRadius;
|
|
298
301
|
var _H = atomic_1.AtomicNumbers['H'];
|
|
299
|
-
function isHydrogen(unit, element) {
|
|
302
|
+
function isHydrogen(structure, unit, element, variant) {
|
|
300
303
|
if (structure_1.Unit.isCoarse(unit))
|
|
301
304
|
return false;
|
|
302
|
-
return unit.model.atomicHierarchy.derived.atom.atomicNumber[element] === _H
|
|
305
|
+
return (unit.model.atomicHierarchy.derived.atom.atomicNumber[element] === _H &&
|
|
306
|
+
(variant === 'all' || !(0, functional_group_1.hasPolarNeighbour)(structure, unit, int_1.SortedArray.indexOf(unit.elements, element))));
|
|
303
307
|
}
|
|
304
308
|
exports.isHydrogen = isHydrogen;
|
|
305
309
|
function isH(atomicNumber, element) {
|
|
@@ -16,6 +16,7 @@ import { Spheres } from '../../../../mol-geo/geometry/spheres/spheres';
|
|
|
16
16
|
import { StructureGroup } from './common';
|
|
17
17
|
type ElementProps = {
|
|
18
18
|
ignoreHydrogens: boolean;
|
|
19
|
+
ignoreHydrogensVariant: 'all' | 'non-polar';
|
|
19
20
|
traceOnly: boolean;
|
|
20
21
|
};
|
|
21
22
|
export type ElementSphereMeshProps = {
|
|
@@ -23,8 +23,7 @@ var geometry_1 = require("../../../../mol-math/geometry");
|
|
|
23
23
|
// avoiding namespace lookup improved performance in Chrome (Aug 2020)
|
|
24
24
|
var v3add = linear_algebra_1.Vec3.add;
|
|
25
25
|
function makeElementIgnoreTest(structure, unit, props) {
|
|
26
|
-
var ignoreHydrogens = props.ignoreHydrogens, traceOnly = props.traceOnly;
|
|
27
|
-
var atomicNumber = unit.model.atomicHierarchy.derived.atom.atomicNumber;
|
|
26
|
+
var ignoreHydrogens = props.ignoreHydrogens, ignoreHydrogensVariant = props.ignoreHydrogensVariant, traceOnly = props.traceOnly;
|
|
28
27
|
var isCoarse = structure_1.Unit.isCoarse(unit);
|
|
29
28
|
var child = structure.child;
|
|
30
29
|
var childUnit = child === null || child === void 0 ? void 0 : child.unitMap.get(unit.id);
|
|
@@ -34,7 +33,7 @@ function makeElementIgnoreTest(structure, unit, props) {
|
|
|
34
33
|
return;
|
|
35
34
|
return function (element) {
|
|
36
35
|
return ((!!childUnit && !int_1.SortedArray.has(childUnit.elements, element)) ||
|
|
37
|
-
(!isCoarse && ignoreHydrogens && (0, common_1.
|
|
36
|
+
(!isCoarse && ignoreHydrogens && (0, common_1.isHydrogen)(structure, unit, element, ignoreHydrogensVariant)) ||
|
|
38
37
|
(traceOnly && !(0, common_1.isTrace)(unit, element)));
|
|
39
38
|
};
|
|
40
39
|
}
|
|
@@ -11,6 +11,7 @@ import { WebGLContext } from '../../../../mol-gl/webgl/context';
|
|
|
11
11
|
import { SizeTheme } from '../../../../mol-theme/size';
|
|
12
12
|
export declare const GaussianDensityParams: {
|
|
13
13
|
ignoreHydrogens: PD.BooleanParam;
|
|
14
|
+
ignoreHydrogensVariant: PD.Select<"all" | "non-polar">;
|
|
14
15
|
traceOnly: PD.BooleanParam;
|
|
15
16
|
includeParent: PD.BooleanParam;
|
|
16
17
|
resolution: PD.Numeric;
|
|
@@ -19,6 +20,7 @@ export declare const GaussianDensityParams: {
|
|
|
19
20
|
};
|
|
20
21
|
export declare const DefaultGaussianDensityProps: PD.Values<{
|
|
21
22
|
ignoreHydrogens: PD.BooleanParam;
|
|
23
|
+
ignoreHydrogensVariant: PD.Select<"all" | "non-polar">;
|
|
22
24
|
traceOnly: PD.BooleanParam;
|
|
23
25
|
includeParent: PD.BooleanParam;
|
|
24
26
|
resolution: PD.Numeric;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
@@ -17,11 +17,11 @@ import { Loci } from '../../mol-model/loci';
|
|
|
17
17
|
import { PickingId } from '../../mol-geo/geometry/picking';
|
|
18
18
|
export declare function createDirectVolume2d(ctx: RuntimeContext, webgl: WebGLContext, volume: Volume, directVolume?: DirectVolume): DirectVolume;
|
|
19
19
|
export declare function createDirectVolume3d(ctx: RuntimeContext, webgl: WebGLContext, volume: Volume, directVolume?: DirectVolume): DirectVolume;
|
|
20
|
-
export declare function createDirectVolume(ctx: VisualContext, volume: Volume, theme: Theme, props: PD.Values<DirectVolumeParams>, directVolume?: DirectVolume): Promise<DirectVolume>;
|
|
21
|
-
export declare function getDirectVolumeLoci(pickingId: PickingId, volume: Volume, props: DirectVolumeProps, id: number): Volume.Cell.Loci | {
|
|
20
|
+
export declare function createDirectVolume(ctx: VisualContext, volume: Volume, key: number, theme: Theme, props: PD.Values<DirectVolumeParams>, directVolume?: DirectVolume): Promise<DirectVolume>;
|
|
21
|
+
export declare function getDirectVolumeLoci(pickingId: PickingId, volume: Volume, key: number, props: DirectVolumeProps, id: number): Volume.Cell.Loci | {
|
|
22
22
|
kind: "empty-loci";
|
|
23
23
|
};
|
|
24
|
-
export declare function eachDirectVolume(loci: Loci, volume: Volume, props: DirectVolumeProps, apply: (interval: Interval) => boolean): boolean;
|
|
24
|
+
export declare function eachDirectVolume(loci: Loci, volume: Volume, key: number, props: DirectVolumeProps, apply: (interval: Interval) => boolean): boolean;
|
|
25
25
|
export declare const DirectVolumeParams: {
|
|
26
26
|
quality: {
|
|
27
27
|
isEssential: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c) 2018-
|
|
3
|
+
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
4
4
|
*
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
*/
|
|
@@ -73,7 +73,7 @@ function createDirectVolume3d(ctx, webgl, volume, directVolume) {
|
|
|
73
73
|
}
|
|
74
74
|
exports.createDirectVolume3d = createDirectVolume3d;
|
|
75
75
|
//
|
|
76
|
-
function createDirectVolume(ctx, volume, theme, props, directVolume) {
|
|
76
|
+
function createDirectVolume(ctx, volume, key, theme, props, directVolume) {
|
|
77
77
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
78
78
|
var runtime, webgl;
|
|
79
79
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -90,7 +90,7 @@ exports.createDirectVolume = createDirectVolume;
|
|
|
90
90
|
function getLoci(volume, props) {
|
|
91
91
|
return volume_1.Volume.Loci(volume);
|
|
92
92
|
}
|
|
93
|
-
function getDirectVolumeLoci(pickingId, volume, props, id) {
|
|
93
|
+
function getDirectVolumeLoci(pickingId, volume, key, props, id) {
|
|
94
94
|
var objectId = pickingId.objectId, groupId = pickingId.groupId;
|
|
95
95
|
if (id === objectId) {
|
|
96
96
|
return volume_1.Volume.Cell.Loci(volume, int_1.Interval.ofSingleton(groupId));
|
|
@@ -98,14 +98,16 @@ function getDirectVolumeLoci(pickingId, volume, props, id) {
|
|
|
98
98
|
return loci_1.EmptyLoci;
|
|
99
99
|
}
|
|
100
100
|
exports.getDirectVolumeLoci = getDirectVolumeLoci;
|
|
101
|
-
function eachDirectVolume(loci, volume, props, apply) {
|
|
101
|
+
function eachDirectVolume(loci, volume, key, props, apply) {
|
|
102
102
|
return (0, util_1.eachVolumeLoci)(loci, volume, undefined, apply);
|
|
103
103
|
}
|
|
104
104
|
exports.eachDirectVolume = eachDirectVolume;
|
|
105
105
|
//
|
|
106
106
|
exports.DirectVolumeParams = tslib_1.__assign(tslib_1.__assign({}, direct_volume_1.DirectVolume.Params), { quality: tslib_1.__assign(tslib_1.__assign({}, direct_volume_1.DirectVolume.Params.quality), { isEssential: false }) });
|
|
107
107
|
function getDirectVolumeParams(ctx, volume) {
|
|
108
|
-
|
|
108
|
+
var params = param_definition_1.ParamDefinition.clone(exports.DirectVolumeParams);
|
|
109
|
+
params.controlPoints.getVolume = function () { return volume; };
|
|
110
|
+
return params;
|
|
109
111
|
}
|
|
110
112
|
exports.getDirectVolumeParams = getDirectVolumeParams;
|
|
111
113
|
function DirectVolumeVisual(materialId) {
|
|
@@ -137,5 +139,5 @@ exports.DirectVolumeRepresentationProvider = (0, representation_1.VolumeRepresen
|
|
|
137
139
|
defaultValues: param_definition_1.ParamDefinition.getDefaultValues(exports.DirectVolumeParams),
|
|
138
140
|
defaultColorTheme: { name: 'volume-value' },
|
|
139
141
|
defaultSizeTheme: { name: 'uniform' },
|
|
140
|
-
isApplicable: function (volume) { return !volume_1.Volume.isEmpty(volume); }
|
|
142
|
+
isApplicable: function (volume) { return !volume_1.Volume.isEmpty(volume) && !volume_1.Volume.Segmentation.get(volume); }
|
|
141
143
|
});
|
|
@@ -41,7 +41,7 @@ export declare const VolumeIsosurfaceParams: {
|
|
|
41
41
|
};
|
|
42
42
|
export type VolumeIsosurfaceParams = typeof VolumeIsosurfaceParams;
|
|
43
43
|
export type VolumeIsosurfaceProps = PD.Values<VolumeIsosurfaceParams>;
|
|
44
|
-
export declare function IsosurfaceVisual(materialId: number, volume: Volume, props: PD.Values<IsosurfaceMeshParams>, webgl?: WebGLContext): VolumeVisual<{
|
|
44
|
+
export declare function IsosurfaceVisual(materialId: number, volume: Volume, key: number, props: PD.Values<IsosurfaceMeshParams>, webgl?: WebGLContext): VolumeVisual<{
|
|
45
45
|
quality: {
|
|
46
46
|
isEssential: boolean;
|
|
47
47
|
type: "select";
|
|
@@ -114,8 +114,8 @@ export declare function IsosurfaceVisual(materialId: number, volume: Volume, pro
|
|
|
114
114
|
}>>;
|
|
115
115
|
instanceGranularity: PD.BooleanParam;
|
|
116
116
|
}>;
|
|
117
|
-
export declare function eachIsosurface(loci: Loci, volume: Volume, props: VolumeIsosurfaceProps, apply: (interval: Interval) => boolean): boolean;
|
|
118
|
-
export declare function createVolumeIsosurfaceMesh(ctx: VisualContext, volume: Volume, theme: Theme, props: VolumeIsosurfaceProps, mesh?: Mesh): Promise<Mesh>;
|
|
117
|
+
export declare function eachIsosurface(loci: Loci, volume: Volume, key: number, props: VolumeIsosurfaceProps, apply: (interval: Interval) => boolean): boolean;
|
|
118
|
+
export declare function createVolumeIsosurfaceMesh(ctx: VisualContext, volume: Volume, key: number, theme: Theme, props: VolumeIsosurfaceProps, mesh?: Mesh): Promise<Mesh>;
|
|
119
119
|
export declare const IsosurfaceMeshParams: {
|
|
120
120
|
quality: {
|
|
121
121
|
isEssential: boolean;
|
|
@@ -192,7 +192,7 @@ export declare const IsosurfaceMeshParams: {
|
|
|
192
192
|
export type IsosurfaceMeshParams = typeof IsosurfaceMeshParams;
|
|
193
193
|
export declare function IsosurfaceMeshVisual(materialId: number): VolumeVisual<IsosurfaceMeshParams>;
|
|
194
194
|
export declare function IsosurfaceTextureMeshVisual(materialId: number): VolumeVisual<IsosurfaceMeshParams>;
|
|
195
|
-
export declare function createVolumeIsosurfaceWireframe(ctx: VisualContext, volume: Volume, theme: Theme, props: VolumeIsosurfaceProps, lines?: Lines): Promise<Lines>;
|
|
195
|
+
export declare function createVolumeIsosurfaceWireframe(ctx: VisualContext, volume: Volume, key: number, theme: Theme, props: VolumeIsosurfaceProps, lines?: Lines): Promise<Lines>;
|
|
196
196
|
export declare const IsosurfaceWireframeParams: {
|
|
197
197
|
quality: {
|
|
198
198
|
isEssential: boolean;
|
|
@@ -44,7 +44,7 @@ function suitableForGpu(volume, webgl) {
|
|
|
44
44
|
var powerOfTwoSize = (0, util_1.getVolumeTexture2dLayout)(gridDim, Padding).powerOfTwoSize;
|
|
45
45
|
return powerOfTwoSize <= webgl.maxTextureSize / 2;
|
|
46
46
|
}
|
|
47
|
-
function IsosurfaceVisual(materialId, volume, props, webgl) {
|
|
47
|
+
function IsosurfaceVisual(materialId, volume, key, props, webgl) {
|
|
48
48
|
if (props.tryUseGpu && webgl && gpuSupport(webgl) && suitableForGpu(volume, webgl)) {
|
|
49
49
|
return IsosurfaceTextureMeshVisual(materialId);
|
|
50
50
|
}
|
|
@@ -54,7 +54,7 @@ exports.IsosurfaceVisual = IsosurfaceVisual;
|
|
|
54
54
|
function getLoci(volume, props) {
|
|
55
55
|
return volume_1.Volume.Isosurface.Loci(volume, props.isoValue);
|
|
56
56
|
}
|
|
57
|
-
function getIsosurfaceLoci(pickingId, volume, props, id) {
|
|
57
|
+
function getIsosurfaceLoci(pickingId, volume, key, props, id) {
|
|
58
58
|
var objectId = pickingId.objectId, groupId = pickingId.groupId;
|
|
59
59
|
if (id === objectId) {
|
|
60
60
|
var granularity = volume_1.Volume.PickingGranularity.get(volume);
|
|
@@ -70,12 +70,12 @@ function getIsosurfaceLoci(pickingId, volume, props, id) {
|
|
|
70
70
|
}
|
|
71
71
|
return loci_1.EmptyLoci;
|
|
72
72
|
}
|
|
73
|
-
function eachIsosurface(loci, volume, props, apply) {
|
|
74
|
-
return (0, util_1.eachVolumeLoci)(loci, volume, props.isoValue, apply);
|
|
73
|
+
function eachIsosurface(loci, volume, key, props, apply) {
|
|
74
|
+
return (0, util_1.eachVolumeLoci)(loci, volume, { isoValue: props.isoValue }, apply);
|
|
75
75
|
}
|
|
76
76
|
exports.eachIsosurface = eachIsosurface;
|
|
77
77
|
//
|
|
78
|
-
function createVolumeIsosurfaceMesh(ctx, volume, theme, props, mesh) {
|
|
78
|
+
function createVolumeIsosurfaceMesh(ctx, volume, key, theme, props, mesh) {
|
|
79
79
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
80
80
|
var ids, surface, transform;
|
|
81
81
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -101,7 +101,7 @@ function createVolumeIsosurfaceMesh(ctx, volume, theme, props, mesh) {
|
|
|
101
101
|
else {
|
|
102
102
|
value_cell_1.ValueCell.updateIfChanged(surface.varyingGroup, true);
|
|
103
103
|
}
|
|
104
|
-
surface.setBoundingSphere(volume_1.Volume.getBoundingSphere(volume));
|
|
104
|
+
surface.setBoundingSphere(volume_1.Volume.Isosurface.getBoundingSphere(volume, props.isoValue));
|
|
105
105
|
return [2 /*return*/, surface];
|
|
106
106
|
}
|
|
107
107
|
});
|
|
@@ -121,8 +121,8 @@ function IsosurfaceMeshVisual(materialId) {
|
|
|
121
121
|
state.createGeometry = true;
|
|
122
122
|
},
|
|
123
123
|
geometryUtils: mesh_1.Mesh.Utils,
|
|
124
|
-
mustRecreate: function (
|
|
125
|
-
return props.tryUseGpu && !!webgl && suitableForGpu(volume, webgl);
|
|
124
|
+
mustRecreate: function (volumekey, props, webgl) {
|
|
125
|
+
return props.tryUseGpu && !!webgl && suitableForGpu(volumekey.volume, webgl);
|
|
126
126
|
}
|
|
127
127
|
}, materialId);
|
|
128
128
|
}
|
|
@@ -164,9 +164,9 @@ var VolumeIsosurfaceTexture;
|
|
|
164
164
|
}
|
|
165
165
|
VolumeIsosurfaceTexture.get = get;
|
|
166
166
|
})(VolumeIsosurfaceTexture || (VolumeIsosurfaceTexture = {}));
|
|
167
|
-
function createVolumeIsosurfaceTextureMesh(ctx, volume, theme, props, textureMesh) {
|
|
167
|
+
function createVolumeIsosurfaceTextureMesh(ctx, volume, key, theme, props, textureMesh) {
|
|
168
168
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
169
|
-
var _a, max, min, diff, value, isoLevel, _b, texture, gridDimension, gridTexDim, gridTexScale, transform, axisOrder, buffer, gv, groupCount, surface;
|
|
169
|
+
var _a, max, min, diff, value, isoLevel, _b, texture, gridDimension, gridTexDim, gridTexScale, transform, axisOrder, buffer, gv, groupCount, boundingSphere, surface;
|
|
170
170
|
return tslib_1.__generator(this, function (_c) {
|
|
171
171
|
if (!ctx.webgl)
|
|
172
172
|
throw new Error('webgl context required to create volume isosurface texture-mesh');
|
|
@@ -182,7 +182,8 @@ function createVolumeIsosurfaceTextureMesh(ctx, volume, theme, props, textureMes
|
|
|
182
182
|
buffer = textureMesh === null || textureMesh === void 0 ? void 0 : textureMesh.doubleBuffer.get();
|
|
183
183
|
gv = (0, isosurface_1.extractIsosurface)(ctx.webgl, texture, gridDimension, gridTexDim, gridTexScale, transform, isoLevel, value < 0, false, axisOrder, true, buffer === null || buffer === void 0 ? void 0 : buffer.vertex, buffer === null || buffer === void 0 ? void 0 : buffer.group, buffer === null || buffer === void 0 ? void 0 : buffer.normal);
|
|
184
184
|
groupCount = volume.grid.cells.data.length;
|
|
185
|
-
|
|
185
|
+
boundingSphere = volume_1.Volume.getBoundingSphere(volume);
|
|
186
|
+
surface = texture_mesh_1.TextureMesh.create(gv.vertexCount, groupCount, gv.vertexTexture, gv.groupTexture, gv.normalTexture, boundingSphere, textureMesh);
|
|
186
187
|
surface.meta.webgl = ctx.webgl;
|
|
187
188
|
return [2 /*return*/, surface];
|
|
188
189
|
});
|
|
@@ -200,8 +201,8 @@ function IsosurfaceTextureMeshVisual(materialId) {
|
|
|
200
201
|
state.createGeometry = true;
|
|
201
202
|
},
|
|
202
203
|
geometryUtils: texture_mesh_1.TextureMesh.Utils,
|
|
203
|
-
mustRecreate: function (
|
|
204
|
-
return !props.tryUseGpu || !webgl || !suitableForGpu(volume, webgl);
|
|
204
|
+
mustRecreate: function (volumeKey, props, webgl) {
|
|
205
|
+
return !props.tryUseGpu || !webgl || !suitableForGpu(volumeKey.volume, webgl);
|
|
205
206
|
},
|
|
206
207
|
dispose: function (geometry) {
|
|
207
208
|
geometry.vertexTexture.ref.value.destroy();
|
|
@@ -213,7 +214,7 @@ function IsosurfaceTextureMeshVisual(materialId) {
|
|
|
213
214
|
}
|
|
214
215
|
exports.IsosurfaceTextureMeshVisual = IsosurfaceTextureMeshVisual;
|
|
215
216
|
//
|
|
216
|
-
function createVolumeIsosurfaceWireframe(ctx, volume, theme, props, lines) {
|
|
217
|
+
function createVolumeIsosurfaceWireframe(ctx, volume, key, theme, props, lines) {
|
|
217
218
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
218
219
|
var ids, wireframe, transform;
|
|
219
220
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -230,7 +231,7 @@ function createVolumeIsosurfaceWireframe(ctx, volume, theme, props, lines) {
|
|
|
230
231
|
wireframe = _a.sent();
|
|
231
232
|
transform = volume_1.Grid.getGridToCartesianTransform(volume.grid);
|
|
232
233
|
lines_1.Lines.transform(wireframe, transform);
|
|
233
|
-
wireframe.setBoundingSphere(volume_1.Volume.getBoundingSphere(volume));
|
|
234
|
+
wireframe.setBoundingSphere(volume_1.Volume.Isosurface.getBoundingSphere(volume, props.isoValue));
|
|
234
235
|
return [2 /*return*/, wireframe];
|
|
235
236
|
}
|
|
236
237
|
});
|
|
@@ -278,5 +279,5 @@ exports.IsosurfaceRepresentationProvider = (0, representation_1.VolumeRepresenta
|
|
|
278
279
|
defaultValues: param_definition_1.ParamDefinition.getDefaultValues(exports.IsosurfaceParams),
|
|
279
280
|
defaultColorTheme: { name: 'uniform' },
|
|
280
281
|
defaultSizeTheme: { name: 'uniform' },
|
|
281
|
-
isApplicable: function (volume) { return !volume_1.Volume.isEmpty(volume); }
|
|
282
|
+
isApplicable: function (volume) { return !volume_1.Volume.isEmpty(volume) && !volume_1.Volume.Segmentation.get(volume); }
|
|
282
283
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
@@ -199,6 +199,59 @@ export declare namespace VolumeRepresentationRegistry {
|
|
|
199
199
|
}>>;
|
|
200
200
|
instanceGranularity: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
|
|
201
201
|
}, "direct-volume">;
|
|
202
|
+
segment: import("./representation").VolumeRepresentationProvider<{
|
|
203
|
+
visuals: import("../../mol-util/param-definition").ParamDefinition.MultiSelect<"segment">;
|
|
204
|
+
bumpFrequency: import("../../mol-util/param-definition").ParamDefinition.Numeric;
|
|
205
|
+
quality: {
|
|
206
|
+
isEssential: boolean;
|
|
207
|
+
type: "select";
|
|
208
|
+
options: readonly (readonly ["auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest", string] | readonly ["auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest", string, string | undefined])[];
|
|
209
|
+
cycle?: boolean | undefined;
|
|
210
|
+
isOptional?: boolean | undefined;
|
|
211
|
+
defaultValue: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest";
|
|
212
|
+
label?: string | undefined;
|
|
213
|
+
description?: string | undefined;
|
|
214
|
+
legend?: import("../../mol-util/legend").Legend | undefined;
|
|
215
|
+
fieldLabels?: {
|
|
216
|
+
[name: string]: string;
|
|
217
|
+
} | undefined;
|
|
218
|
+
isHidden?: boolean | undefined;
|
|
219
|
+
shortLabel?: boolean | undefined;
|
|
220
|
+
twoColumns?: boolean | undefined;
|
|
221
|
+
category?: string | undefined;
|
|
222
|
+
hideIf?: ((currentGroup: any) => boolean) | undefined;
|
|
223
|
+
help?: ((value: any) => {
|
|
224
|
+
description?: string | undefined;
|
|
225
|
+
legend?: import("../../mol-util/legend").Legend | undefined;
|
|
226
|
+
}) | undefined;
|
|
227
|
+
};
|
|
228
|
+
tryUseGpu: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
|
|
229
|
+
segments: import("../../mol-util/param-definition").ParamDefinition.Converted<number[], string[]>;
|
|
230
|
+
doubleSided: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
|
|
231
|
+
flipSided: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
|
|
232
|
+
flatShaded: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
|
|
233
|
+
ignoreLight: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
|
|
234
|
+
xrayShaded: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
|
|
235
|
+
transparentBackfaces: import("../../mol-util/param-definition").ParamDefinition.Select<string>;
|
|
236
|
+
bumpAmplitude: import("../../mol-util/param-definition").ParamDefinition.Numeric;
|
|
237
|
+
alpha: import("../../mol-util/param-definition").ParamDefinition.Numeric;
|
|
238
|
+
material: import("../../mol-util/param-definition").ParamDefinition.Group<import("../../mol-util/param-definition").ParamDefinition.Normalize<{
|
|
239
|
+
metalness: number;
|
|
240
|
+
roughness: number;
|
|
241
|
+
bumpiness: number;
|
|
242
|
+
}>>;
|
|
243
|
+
clip: import("../../mol-util/param-definition").ParamDefinition.Group<import("../../mol-util/param-definition").ParamDefinition.Normalize<{
|
|
244
|
+
variant: import("../../mol-util/clip").Clip.Variant;
|
|
245
|
+
objects: import("../../mol-util/param-definition").ParamDefinition.Normalize<{
|
|
246
|
+
type: any;
|
|
247
|
+
invert: any;
|
|
248
|
+
position: any;
|
|
249
|
+
rotation: any;
|
|
250
|
+
scale: any;
|
|
251
|
+
}>[];
|
|
252
|
+
}>>;
|
|
253
|
+
instanceGranularity: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
|
|
254
|
+
}, "segment">;
|
|
202
255
|
};
|
|
203
256
|
type _BuiltIn = typeof BuiltIn;
|
|
204
257
|
export type BuiltIn = keyof _BuiltIn;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c) 2018-
|
|
3
|
+
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
4
4
|
*
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
*/
|
|
@@ -12,6 +12,7 @@ var isosurface_1 = require("./isosurface");
|
|
|
12
12
|
var object_1 = require("../../mol-util/object");
|
|
13
13
|
var slice_1 = require("./slice");
|
|
14
14
|
var direct_volume_1 = require("./direct-volume");
|
|
15
|
+
var segment_1 = require("./segment");
|
|
15
16
|
var VolumeRepresentationRegistry = /** @class */ (function (_super) {
|
|
16
17
|
tslib_1.__extends(VolumeRepresentationRegistry, _super);
|
|
17
18
|
function VolumeRepresentationRegistry() {
|
|
@@ -31,6 +32,7 @@ exports.VolumeRepresentationRegistry = VolumeRepresentationRegistry;
|
|
|
31
32
|
'isosurface': isosurface_1.IsosurfaceRepresentationProvider,
|
|
32
33
|
'slice': slice_1.SliceRepresentationProvider,
|
|
33
34
|
'direct-volume': direct_volume_1.DirectVolumeRepresentationProvider,
|
|
35
|
+
'segment': segment_1.SegmentRepresentationProvider,
|
|
34
36
|
};
|
|
35
37
|
})(VolumeRepresentationRegistry = exports.VolumeRepresentationRegistry || (exports.VolumeRepresentationRegistry = {}));
|
|
36
38
|
exports.VolumeRepresentationRegistry = VolumeRepresentationRegistry;
|
|
@@ -15,16 +15,20 @@ import { Interval } from '../../mol-data/int';
|
|
|
15
15
|
import { VisualUpdateState } from '../util';
|
|
16
16
|
import { Representation, RepresentationProvider, RepresentationContext, RepresentationParamsGetter } from '../representation';
|
|
17
17
|
import { WebGLContext } from '../../mol-gl/webgl/context';
|
|
18
|
-
export
|
|
18
|
+
export type VolumeKey = {
|
|
19
|
+
volume: Volume;
|
|
20
|
+
key: number;
|
|
21
|
+
};
|
|
22
|
+
export interface VolumeVisual<P extends VolumeParams> extends Visual<VolumeKey, P> {
|
|
19
23
|
}
|
|
20
24
|
interface VolumeVisualBuilder<P extends VolumeParams, G extends Geometry> {
|
|
21
25
|
defaultProps: PD.Values<P>;
|
|
22
|
-
createGeometry(ctx: VisualContext, volume: Volume, theme: Theme, props: PD.Values<P>, geometry?: G): Promise<G> | G;
|
|
23
|
-
createLocationIterator(volume: Volume): LocationIterator;
|
|
24
|
-
getLoci(pickingId: PickingId, volume: Volume, props: PD.Values<P>, id: number): Loci;
|
|
25
|
-
eachLocation(loci: Loci, volume: Volume, props: PD.Values<P>, apply: (interval: Interval) => boolean): boolean;
|
|
26
|
+
createGeometry(ctx: VisualContext, volume: Volume, key: number, theme: Theme, props: PD.Values<P>, geometry?: G): Promise<G> | G;
|
|
27
|
+
createLocationIterator(volume: Volume, key: number): LocationIterator;
|
|
28
|
+
getLoci(pickingId: PickingId, volume: Volume, key: number, props: PD.Values<P>, id: number): Loci;
|
|
29
|
+
eachLocation(loci: Loci, volume: Volume, key: number, props: PD.Values<P>, apply: (interval: Interval) => boolean): boolean;
|
|
26
30
|
setUpdateState(state: VisualUpdateState, volume: Volume, newProps: PD.Values<P>, currentProps: PD.Values<P>, newTheme: Theme, currentTheme: Theme): void;
|
|
27
|
-
mustRecreate?: (
|
|
31
|
+
mustRecreate?: (volumeKey: VolumeKey, props: PD.Values<P>) => boolean;
|
|
28
32
|
dispose?: (geometry: G) => void;
|
|
29
33
|
}
|
|
30
34
|
interface VolumeVisualGeometryBuilder<P extends VolumeParams, G extends Geometry> extends VolumeVisualBuilder<P, G> {
|
|
@@ -56,5 +60,5 @@ export declare const VolumeParams: {
|
|
|
56
60
|
instanceGranularity: PD.BooleanParam;
|
|
57
61
|
};
|
|
58
62
|
export type VolumeParams = typeof VolumeParams;
|
|
59
|
-
export declare function VolumeRepresentation<P extends VolumeParams>(label: string, ctx: RepresentationContext, getParams: RepresentationParamsGetter<Volume, P>, visualCtor: (materialId: number, volume: Volume, props: PD.Values<P>, webgl?: WebGLContext) => VolumeVisual<P>, getLoci: (volume: Volume, props: PD.Values<P>) => Loci): VolumeRepresentation<P>;
|
|
63
|
+
export declare function VolumeRepresentation<P extends VolumeParams>(label: string, ctx: RepresentationContext, getParams: RepresentationParamsGetter<Volume, P>, visualCtor: (materialId: number, volume: Volume, key: number, props: PD.Values<P>, webgl?: WebGLContext) => VolumeVisual<P>, getLoci: (volume: Volume, props: PD.Values<P>) => Loci, getKeys?: (props: PD.Values<P>) => ArrayLike<number>): VolumeRepresentation<P>;
|
|
60
64
|
export {};
|