molstar 3.8.2 → 3.9.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/build/viewer/index.html +4 -1
- package/build/viewer/molstar.js +1 -1
- package/lib/apps/viewer/app.d.ts +1 -1
- package/lib/apps/viewer/app.js +1 -1
- package/lib/apps/viewer/index.html +4 -1
- package/lib/cli/cif2bcif/converter.js +1 -1
- package/lib/commonjs/apps/viewer/app.d.ts +1 -1
- package/lib/commonjs/apps/viewer/app.js +2 -1
- package/lib/commonjs/cli/cif2bcif/converter.js +1 -1
- package/lib/commonjs/examples/alpha-orbitals/index.d.ts +1 -1
- package/lib/commonjs/examples/alpha-orbitals/index.js +4 -1
- package/lib/commonjs/examples/basic-wrapper/custom-theme.js +1 -1
- package/lib/commonjs/examples/proteopedia-wrapper/coloring.js +3 -3
- package/lib/commonjs/extensions/alpha-orbitals/density.d.ts +1 -1
- package/lib/commonjs/extensions/alpha-orbitals/density.js +6 -2
- package/lib/commonjs/extensions/alpha-orbitals/orbitals.d.ts +1 -1
- package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +6 -3
- package/lib/commonjs/extensions/anvil/algorithm.js +1 -1
- package/lib/commonjs/extensions/cellpack/color/generate.js +1 -1
- package/lib/commonjs/extensions/cellpack/color/provided.js +1 -1
- package/lib/commonjs/extensions/cellpack/state.js +1 -1
- package/lib/commonjs/extensions/dnatco/confal-pyramids/color.js +1 -1
- package/lib/commonjs/extensions/g3d/model.js +1 -1
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
- package/lib/commonjs/extensions/pdbe/structure-quality-report/color.js +1 -1
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.js +4 -4
- package/lib/commonjs/extensions/rcsb/validation-report/color/density-fit.js +1 -1
- package/lib/commonjs/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
- package/lib/commonjs/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
- package/lib/commonjs/extensions/rcsb/validation-report/representation.js +2 -2
- package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
- package/lib/commonjs/mol-canvas3d/controls/trackball.js +7 -7
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +14 -14
- package/lib/commonjs/mol-canvas3d/helper/interaction-events.js +5 -5
- package/lib/commonjs/mol-canvas3d/passes/draw.js +34 -5
- package/lib/commonjs/mol-canvas3d/passes/fxaa.js +5 -0
- package/lib/commonjs/mol-canvas3d/passes/marking.js +5 -0
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +9 -0
- package/lib/commonjs/mol-canvas3d/passes/pick.d.ts +18 -5
- package/lib/commonjs/mol-canvas3d/passes/pick.js +125 -24
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
- package/lib/commonjs/mol-canvas3d/passes/smaa.js +4 -0
- package/lib/commonjs/mol-canvas3d/passes/wboit.js +4 -0
- package/lib/commonjs/mol-data/db/column.js +5 -5
- package/lib/commonjs/mol-data/db/table.js +2 -2
- package/lib/commonjs/mol-data/util/array.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
- package/lib/commonjs/mol-gl/compute/grid3d.d.ts +2 -2
- package/lib/commonjs/mol-gl/compute/grid3d.js +30 -8
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +6 -1
- package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
- package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -10
- package/lib/commonjs/mol-gl/renderer.js +77 -32
- package/lib/commonjs/mol-gl/scene.js +2 -0
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
- 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/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/image.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/lines.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/lines.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/points.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/points.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/text.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/text.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader-code.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader-code.js +41 -9
- package/lib/commonjs/mol-gl/webgl/compat.d.ts +34 -1
- package/lib/commonjs/mol-gl/webgl/compat.js +50 -2
- package/lib/commonjs/mol-gl/webgl/context.d.ts +2 -0
- package/lib/commonjs/mol-gl/webgl/context.js +3 -0
- package/lib/commonjs/mol-gl/webgl/extensions.d.ts +3 -2
- package/lib/commonjs/mol-gl/webgl/extensions.js +6 -1
- package/lib/commonjs/mol-gl/webgl/timer.d.ts +22 -0
- package/lib/commonjs/mol-gl/webgl/timer.js +169 -0
- package/lib/commonjs/mol-io/common/binary-cif/array-encoder.js +18 -18
- package/lib/commonjs/mol-io/common/binary-cif/decoder.js +16 -16
- package/lib/commonjs/mol-io/common/binary-cif/encoding.js +9 -9
- package/lib/commonjs/mol-io/reader/cif/binary/field.js +3 -3
- package/lib/commonjs/mol-io/reader/cif/data-model.js +14 -14
- package/lib/commonjs/mol-io/reader/cif/schema.js +1 -1
- package/lib/commonjs/mol-io/reader/cif/text/parser.js +23 -23
- package/lib/commonjs/mol-io/reader/common/text/column/fixed.js +1 -1
- package/lib/commonjs/mol-io/reader/common/text/column/token.js +1 -1
- package/lib/commonjs/mol-io/reader/common/text/number-parser.js +6 -6
- package/lib/commonjs/mol-io/reader/csv/parser.js +8 -8
- package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +10 -10
- package/lib/commonjs/mol-io/writer/cif/encoder/text.js +7 -7
- package/lib/commonjs/mol-io/writer/cif/encoder.js +8 -8
- package/lib/commonjs/mol-io/writer/mol2/encoder.js +4 -4
- package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +13 -2
- package/lib/commonjs/mol-model/sequence/alignment/sequence.js +3 -3
- package/lib/commonjs/mol-model/sequence/sequence.js +9 -9
- package/lib/commonjs/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
- package/lib/commonjs/mol-model/structure/export/categories/secondary-structure.js +2 -2
- package/lib/commonjs/mol-model/structure/export/categories/utils.js +1 -1
- package/lib/commonjs/mol-model/structure/model/model.js +2 -2
- package/lib/commonjs/mol-model/structure/model/properties/custom/indexed.js +6 -6
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
- package/lib/commonjs/mol-model/structure/model/types.js +116 -116
- package/lib/commonjs/mol-model/structure/query/context.js +1 -1
- package/lib/commonjs/mol-model/structure/query/queries/generators.js +5 -5
- package/lib/commonjs/mol-model/structure/query/queries/internal.js +4 -4
- package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +4 -4
- package/lib/commonjs/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
- package/lib/commonjs/mol-model/structure/query/utils/structure-distance.js +9 -9
- package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +106 -106
- package/lib/commonjs/mol-model/structure/structure/element/loci.js +5 -5
- package/lib/commonjs/mol-model/structure/structure/element/stats.js +5 -5
- package/lib/commonjs/mol-model/structure/structure/properties.js +5 -5
- package/lib/commonjs/mol-model/structure/structure/structure.js +11 -11
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
- package/lib/commonjs/mol-model/structure/structure/unit/bonds.js +2 -2
- package/lib/commonjs/mol-model/structure/structure/unit/resonance.js +1 -1
- package/lib/commonjs/mol-model/structure/structure/unit/rings/compute.js +6 -6
- package/lib/commonjs/mol-model/structure/structure/unit/rings.js +6 -6
- package/lib/commonjs/mol-model/structure/structure/unit.js +16 -16
- package/lib/commonjs/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
- package/lib/commonjs/mol-model/structure/util.js +4 -4
- package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/basic/parser.js +4 -4
- package/lib/commonjs/mol-model-formats/structure/basic/properties.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/basic/sort.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/basic/util.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/cif-core.js +6 -6
- package/lib/commonjs/mol-model-formats/structure/common/entity.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/cube.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/gro.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/mol.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/mol2.js +4 -4
- package/lib/commonjs/mol-model-formats/structure/prmtop.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
- package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
- package/lib/commonjs/mol-model-formats/structure/property/secondary-structure.js +8 -8
- package/lib/commonjs/mol-model-formats/structure/psf.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/top.js +1 -1
- package/lib/commonjs/mol-model-formats/structure/xyz.js +1 -1
- package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
- package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
- package/lib/commonjs/mol-model-props/computed/accessible-surface-area.js +2 -2
- package/lib/commonjs/mol-model-props/computed/chemistry/functional-group.js +31 -31
- package/lib/commonjs/mol-model-props/computed/chemistry/geometry.js +22 -22
- package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +32 -32
- package/lib/commonjs/mol-model-props/computed/interactions/charged.js +39 -39
- package/lib/commonjs/mol-model-props/computed/interactions/common.js +34 -34
- package/lib/commonjs/mol-model-props/computed/interactions/contacts-builder.js +1 -1
- package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +1 -1
- package/lib/commonjs/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
- package/lib/commonjs/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
- package/lib/commonjs/mol-model-props/computed/interactions/hydrophobic.js +9 -9
- package/lib/commonjs/mol-model-props/computed/interactions/metal.js +26 -26
- package/lib/commonjs/mol-model-props/computed/interactions/refine.js +20 -20
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +30 -30
- package/lib/commonjs/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
- package/lib/commonjs/mol-model-props/computed/themes/interaction-type.js +10 -10
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
- package/lib/commonjs/mol-model-props/sequence/sifts-mapping.js +1 -1
- package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
- package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -1
- package/lib/commonjs/mol-plugin/animation-loop.js +18 -5
- package/lib/commonjs/mol-plugin/behavior/dynamic/camera.js +12 -12
- package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +7 -7
- package/lib/commonjs/mol-plugin/context.d.ts +2 -2
- package/lib/commonjs/mol-plugin/state.d.ts +1 -14
- package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +12 -11
- package/lib/commonjs/mol-plugin-state/formats/volume.js +20 -13
- package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +5 -5
- package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
- package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/sequence/polymer.js +1 -1
- package/lib/commonjs/mol-plugin-ui/sequence/sequence.js +1 -1
- package/lib/commonjs/mol-plugin-ui/structure/focus.js +1 -1
- package/lib/commonjs/mol-plugin-ui/viewport.d.ts +2 -2
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -12
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +12 -12
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/util/bond.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/util/common.js +3 -3
- package/lib/commonjs/mol-repr/structure/visual/util/link.js +30 -30
- package/lib/commonjs/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
- package/lib/commonjs/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
- package/lib/commonjs/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
- package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +6 -6
- package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +2 -2
- package/lib/commonjs/mol-script/runtime/query/table.js +13 -13
- package/lib/commonjs/mol-state/object.d.ts +3 -3
- package/lib/commonjs/mol-task/util/user-timing.js +1 -1
- package/lib/commonjs/mol-theme/clipping.js +19 -19
- package/lib/commonjs/mol-theme/color/atom-id.js +1 -1
- package/lib/commonjs/mol-theme/color/carbohydrate-symbol.js +1 -1
- package/lib/commonjs/mol-theme/color/chain-id.js +4 -4
- package/lib/commonjs/mol-theme/color/element-index.js +1 -1
- package/lib/commonjs/mol-theme/color/element-symbol.js +1 -1
- package/lib/commonjs/mol-theme/color/entity-id.js +4 -4
- package/lib/commonjs/mol-theme/color/entity-source.js +5 -4
- package/lib/commonjs/mol-theme/color/hydrophobicity.js +1 -1
- package/lib/commonjs/mol-theme/color/illustrative.js +1 -1
- package/lib/commonjs/mol-theme/color/model-index.js +1 -1
- package/lib/commonjs/mol-theme/color/molecule-type.js +8 -8
- package/lib/commonjs/mol-theme/color/occupancy.js +1 -1
- package/lib/commonjs/mol-theme/color/operator-hkl.js +1 -1
- package/lib/commonjs/mol-theme/color/operator-name.js +1 -1
- package/lib/commonjs/mol-theme/color/partial-charge.js +1 -1
- package/lib/commonjs/mol-theme/color/polymer-id.js +4 -4
- package/lib/commonjs/mol-theme/color/polymer-index.js +1 -1
- package/lib/commonjs/mol-theme/color/residue-name.js +1 -1
- package/lib/commonjs/mol-theme/color/secondary-structure.js +12 -12
- package/lib/commonjs/mol-theme/color/sequence-id.js +7 -7
- package/lib/commonjs/mol-theme/color/shape-group.js +1 -1
- package/lib/commonjs/mol-theme/color/uncertainty.js +1 -1
- package/lib/commonjs/mol-theme/color/uniform.js +1 -1
- package/lib/commonjs/mol-theme/color/unit-index.js +1 -1
- package/lib/commonjs/mol-theme/color/volume-value.js +1 -1
- package/lib/commonjs/mol-theme/label.js +3 -3
- package/lib/commonjs/mol-util/binding.js +4 -4
- package/lib/commonjs/mol-util/debug.d.ts +6 -1
- package/lib/commonjs/mol-util/debug.js +11 -1
- package/lib/commonjs/mol-util/input/input-observer.js +20 -20
- package/lib/commonjs/mol-util/string-builder.js +1 -1
- package/lib/commonjs/servers/model/preprocess/converter.js +1 -1
- package/lib/commonjs/servers/model/server/query.js +1 -1
- package/lib/commonjs/servers/model/utils/fetch-retry.js +3 -2
- package/lib/commonjs/servers/volume/server/algebra/coordinate.js +6 -6
- package/lib/commonjs/servers/volume/server/query/encode.js +1 -1
- package/lib/examples/alpha-orbitals/index.d.ts +1 -1
- package/lib/examples/alpha-orbitals/index.html +11 -0
- package/lib/examples/alpha-orbitals/index.js +4 -1
- package/lib/examples/basic-wrapper/custom-theme.js +1 -1
- package/lib/examples/proteopedia-wrapper/coloring.js +3 -3
- package/lib/extensions/alpha-orbitals/density.d.ts +1 -1
- package/lib/extensions/alpha-orbitals/density.js +6 -2
- package/lib/extensions/alpha-orbitals/orbitals.d.ts +1 -1
- package/lib/extensions/alpha-orbitals/orbitals.js +6 -3
- package/lib/extensions/anvil/algorithm.js +1 -1
- package/lib/extensions/cellpack/color/generate.js +1 -1
- package/lib/extensions/cellpack/color/provided.js +1 -1
- package/lib/extensions/cellpack/state.js +1 -1
- package/lib/extensions/dnatco/confal-pyramids/color.js +1 -1
- package/lib/extensions/g3d/model.js +1 -1
- package/lib/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
- package/lib/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
- package/lib/extensions/pdbe/structure-quality-report/color.js +1 -1
- package/lib/extensions/rcsb/assembly-symmetry/color.js +4 -4
- package/lib/extensions/rcsb/validation-report/color/density-fit.js +1 -1
- package/lib/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
- package/lib/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
- package/lib/extensions/rcsb/validation-report/representation.js +2 -2
- package/lib/mol-canvas3d/canvas3d.js +5 -1
- package/lib/mol-canvas3d/controls/trackball.js +7 -7
- package/lib/mol-canvas3d/helper/camera-helper.js +14 -14
- package/lib/mol-canvas3d/helper/interaction-events.js +5 -5
- package/lib/mol-canvas3d/passes/draw.js +34 -5
- package/lib/mol-canvas3d/passes/fxaa.js +5 -0
- package/lib/mol-canvas3d/passes/marking.js +5 -0
- package/lib/mol-canvas3d/passes/multi-sample.js +9 -0
- package/lib/mol-canvas3d/passes/pick.d.ts +18 -5
- package/lib/mol-canvas3d/passes/pick.js +125 -24
- package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
- package/lib/mol-canvas3d/passes/smaa.js +5 -1
- package/lib/mol-canvas3d/passes/wboit.js +5 -1
- package/lib/mol-data/db/column.js +5 -5
- package/lib/mol-data/db/table.js +2 -2
- package/lib/mol-data/util/array.d.ts +1 -1
- package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
- package/lib/mol-gl/compute/grid3d.d.ts +2 -2
- package/lib/mol-gl/compute/grid3d.js +30 -8
- package/lib/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
- package/lib/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
- package/lib/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
- package/lib/mol-gl/compute/histogram-pyramid/sum.js +6 -1
- package/lib/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
- package/lib/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
- package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
- package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -10
- package/lib/mol-gl/renderer.js +77 -32
- package/lib/mol-gl/scene.js +2 -0
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
- 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/direct-volume.frag.d.ts +1 -1
- package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
- package/lib/mol-gl/shader/image.frag.d.ts +1 -1
- package/lib/mol-gl/shader/image.frag.js +1 -1
- package/lib/mol-gl/shader/lines.frag.d.ts +1 -1
- package/lib/mol-gl/shader/lines.frag.js +1 -1
- package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
- package/lib/mol-gl/shader/mesh.frag.js +1 -1
- package/lib/mol-gl/shader/points.frag.d.ts +1 -1
- package/lib/mol-gl/shader/points.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/text.frag.d.ts +1 -1
- package/lib/mol-gl/shader/text.frag.js +1 -1
- package/lib/mol-gl/shader-code.d.ts +1 -1
- package/lib/mol-gl/shader-code.js +41 -9
- package/lib/mol-gl/webgl/compat.d.ts +34 -1
- package/lib/mol-gl/webgl/compat.js +48 -1
- package/lib/mol-gl/webgl/context.d.ts +2 -0
- package/lib/mol-gl/webgl/context.js +3 -0
- package/lib/mol-gl/webgl/extensions.d.ts +3 -2
- package/lib/mol-gl/webgl/extensions.js +7 -2
- package/lib/mol-gl/webgl/timer.d.ts +22 -0
- package/lib/mol-gl/webgl/timer.js +164 -0
- package/lib/mol-io/common/binary-cif/array-encoder.js +18 -18
- package/lib/mol-io/common/binary-cif/decoder.js +16 -16
- package/lib/mol-io/common/binary-cif/encoding.js +9 -9
- package/lib/mol-io/reader/cif/binary/field.js +3 -3
- package/lib/mol-io/reader/cif/data-model.js +14 -14
- package/lib/mol-io/reader/cif/schema.js +1 -1
- package/lib/mol-io/reader/cif/text/parser.js +23 -23
- package/lib/mol-io/reader/common/text/column/fixed.js +1 -1
- package/lib/mol-io/reader/common/text/column/token.js +1 -1
- package/lib/mol-io/reader/common/text/number-parser.js +6 -6
- package/lib/mol-io/reader/csv/parser.js +8 -8
- package/lib/mol-io/writer/cif/encoder/binary.js +10 -10
- package/lib/mol-io/writer/cif/encoder/text.js +7 -7
- package/lib/mol-io/writer/cif/encoder.js +8 -8
- package/lib/mol-io/writer/mol2/encoder.js +4 -4
- package/lib/mol-math/geometry/gaussian-density/gpu.js +13 -2
- package/lib/mol-model/sequence/alignment/sequence.js +3 -3
- package/lib/mol-model/sequence/sequence.js +9 -9
- package/lib/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
- package/lib/mol-model/structure/export/categories/secondary-structure.js +2 -2
- package/lib/mol-model/structure/export/categories/utils.js +1 -1
- package/lib/mol-model/structure/model/model.js +2 -2
- package/lib/mol-model/structure/model/properties/custom/indexed.js +6 -6
- package/lib/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
- package/lib/mol-model/structure/model/types.js +116 -116
- package/lib/mol-model/structure/query/context.js +1 -1
- package/lib/mol-model/structure/query/queries/generators.js +5 -5
- package/lib/mol-model/structure/query/queries/internal.js +4 -4
- package/lib/mol-model/structure/query/queries/modifiers.js +4 -4
- package/lib/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
- package/lib/mol-model/structure/query/utils/structure-distance.js +9 -9
- package/lib/mol-model/structure/structure/carbohydrates/constants.js +106 -106
- package/lib/mol-model/structure/structure/element/loci.js +5 -5
- package/lib/mol-model/structure/structure/element/stats.js +5 -5
- package/lib/mol-model/structure/structure/properties.js +5 -5
- package/lib/mol-model/structure/structure/structure.js +11 -11
- package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
- package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
- package/lib/mol-model/structure/structure/unit/bonds.js +2 -2
- package/lib/mol-model/structure/structure/unit/resonance.js +1 -1
- package/lib/mol-model/structure/structure/unit/rings/compute.js +6 -6
- package/lib/mol-model/structure/structure/unit/rings.js +6 -6
- package/lib/mol-model/structure/structure/unit.js +16 -16
- package/lib/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
- package/lib/mol-model/structure/util.js +4 -4
- package/lib/mol-model-formats/structure/basic/atomic.js +2 -2
- package/lib/mol-model-formats/structure/basic/parser.js +4 -4
- package/lib/mol-model-formats/structure/basic/properties.js +1 -1
- package/lib/mol-model-formats/structure/basic/sort.js +1 -1
- package/lib/mol-model-formats/structure/basic/util.js +1 -1
- package/lib/mol-model-formats/structure/cif-core.js +6 -6
- package/lib/mol-model-formats/structure/common/entity.js +1 -1
- package/lib/mol-model-formats/structure/cube.js +1 -1
- package/lib/mol-model-formats/structure/gro.js +1 -1
- package/lib/mol-model-formats/structure/mol.js +1 -1
- package/lib/mol-model-formats/structure/mol2.js +4 -4
- package/lib/mol-model-formats/structure/prmtop.js +1 -1
- package/lib/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
- package/lib/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
- package/lib/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
- package/lib/mol-model-formats/structure/property/secondary-structure.js +8 -8
- package/lib/mol-model-formats/structure/psf.js +1 -1
- package/lib/mol-model-formats/structure/top.js +1 -1
- package/lib/mol-model-formats/structure/xyz.js +1 -1
- package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
- package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
- package/lib/mol-model-props/computed/accessible-surface-area.js +2 -2
- package/lib/mol-model-props/computed/chemistry/functional-group.js +31 -31
- package/lib/mol-model-props/computed/chemistry/geometry.js +22 -22
- package/lib/mol-model-props/computed/chemistry/valence-model.js +32 -32
- package/lib/mol-model-props/computed/interactions/charged.js +39 -39
- package/lib/mol-model-props/computed/interactions/common.js +34 -34
- package/lib/mol-model-props/computed/interactions/contacts-builder.js +1 -1
- package/lib/mol-model-props/computed/interactions/contacts.js +1 -1
- package/lib/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
- package/lib/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
- package/lib/mol-model-props/computed/interactions/hydrophobic.js +9 -9
- package/lib/mol-model-props/computed/interactions/metal.js +26 -26
- package/lib/mol-model-props/computed/interactions/refine.js +20 -20
- package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
- package/lib/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
- package/lib/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
- package/lib/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
- package/lib/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
- package/lib/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
- package/lib/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
- package/lib/mol-model-props/computed/secondary-structure/dssp.js +30 -30
- package/lib/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
- package/lib/mol-model-props/computed/themes/interaction-type.js +10 -10
- package/lib/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
- package/lib/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
- package/lib/mol-model-props/sequence/sifts-mapping.js +1 -1
- package/lib/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
- package/lib/mol-plugin/animation-loop.d.ts +2 -1
- package/lib/mol-plugin/animation-loop.js +18 -5
- package/lib/mol-plugin/behavior/dynamic/camera.js +12 -12
- package/lib/mol-plugin/behavior/dynamic/representation.js +7 -7
- package/lib/mol-plugin/context.d.ts +2 -2
- package/lib/mol-plugin/state.d.ts +1 -14
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/formats/volume.d.ts +12 -11
- package/lib/mol-plugin-state/formats/volume.js +20 -13
- package/lib/mol-plugin-state/helpers/structure-selection-query.js +5 -5
- package/lib/mol-plugin-state/transforms/representation.js +2 -2
- package/lib/mol-plugin-ui/controls/parameters.d.ts +1 -1
- package/lib/mol-plugin-ui/sequence/polymer.js +1 -1
- package/lib/mol-plugin-ui/sequence/sequence.js +1 -1
- package/lib/mol-plugin-ui/structure/focus.js +1 -1
- package/lib/mol-plugin-ui/viewport.d.ts +2 -2
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -12
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +12 -12
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
- package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
- package/lib/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
- package/lib/mol-repr/structure/visual/util/bond.js +2 -2
- package/lib/mol-repr/structure/visual/util/common.js +3 -3
- package/lib/mol-repr/structure/visual/util/link.js +30 -30
- package/lib/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
- package/lib/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
- package/lib/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
- package/lib/mol-repr/structure/visual/util/polymer.js +6 -6
- package/lib/mol-script/language/symbol-table/core.d.ts +2 -2
- package/lib/mol-script/runtime/query/table.js +13 -13
- package/lib/mol-state/object.d.ts +3 -3
- package/lib/mol-task/util/user-timing.js +1 -1
- package/lib/mol-theme/clipping.js +19 -19
- package/lib/mol-theme/color/atom-id.js +1 -1
- package/lib/mol-theme/color/carbohydrate-symbol.js +1 -1
- package/lib/mol-theme/color/chain-id.js +4 -4
- package/lib/mol-theme/color/element-index.js +1 -1
- package/lib/mol-theme/color/element-symbol.js +1 -1
- package/lib/mol-theme/color/entity-id.js +4 -4
- package/lib/mol-theme/color/entity-source.js +5 -4
- package/lib/mol-theme/color/hydrophobicity.js +1 -1
- package/lib/mol-theme/color/illustrative.js +1 -1
- package/lib/mol-theme/color/model-index.js +1 -1
- package/lib/mol-theme/color/molecule-type.js +8 -8
- package/lib/mol-theme/color/occupancy.js +1 -1
- package/lib/mol-theme/color/operator-hkl.js +1 -1
- package/lib/mol-theme/color/operator-name.js +1 -1
- package/lib/mol-theme/color/partial-charge.js +1 -1
- package/lib/mol-theme/color/polymer-id.js +4 -4
- package/lib/mol-theme/color/polymer-index.js +1 -1
- package/lib/mol-theme/color/residue-name.js +1 -1
- package/lib/mol-theme/color/secondary-structure.js +12 -12
- package/lib/mol-theme/color/sequence-id.js +7 -7
- package/lib/mol-theme/color/shape-group.js +1 -1
- package/lib/mol-theme/color/uncertainty.js +1 -1
- package/lib/mol-theme/color/uniform.js +1 -1
- package/lib/mol-theme/color/unit-index.js +1 -1
- package/lib/mol-theme/color/volume-value.js +1 -1
- package/lib/mol-theme/label.js +3 -3
- package/lib/mol-util/binding.js +4 -4
- package/lib/mol-util/debug.d.ts +6 -1
- package/lib/mol-util/debug.js +9 -1
- package/lib/mol-util/input/input-observer.js +20 -20
- package/lib/mol-util/string-builder.js +1 -1
- package/lib/servers/model/preprocess/converter.js +1 -1
- package/lib/servers/model/server/query.js +1 -1
- package/lib/servers/model/utils/fetch-retry.js +3 -2
- package/lib/servers/volume/server/algebra/coordinate.js +6 -6
- package/lib/servers/volume/server/query/encode.js +1 -1
- package/package.json +8 -8
|
@@ -19,22 +19,22 @@ function domain(kind, info) {
|
|
|
19
19
|
}
|
|
20
20
|
exports.domain = domain;
|
|
21
21
|
function cartesian(x, y, z) {
|
|
22
|
-
return { 0: x, 1: y, 2: z, kind: 0 /* Cartesian */ };
|
|
22
|
+
return { 0: x, 1: y, 2: z, kind: 0 /* Space.Cartesian */ };
|
|
23
23
|
}
|
|
24
24
|
exports.cartesian = cartesian;
|
|
25
25
|
function fractional(x, y, z) {
|
|
26
|
-
return { 0: x, 1: y, 2: z, kind: 1 /* Fractional */ };
|
|
26
|
+
return { 0: x, 1: y, 2: z, kind: 1 /* Space.Fractional */ };
|
|
27
27
|
}
|
|
28
28
|
exports.fractional = fractional;
|
|
29
29
|
function grid(domain, x, y, z) {
|
|
30
|
-
return { 0: x, 1: y, 2: z, kind: 2 /* Grid */, domain: domain };
|
|
30
|
+
return { 0: x, 1: y, 2: z, kind: 2 /* Space.Grid */, domain: domain };
|
|
31
31
|
}
|
|
32
32
|
exports.grid = grid;
|
|
33
33
|
function withCoord(a, x, y, z) {
|
|
34
34
|
switch (a.kind) {
|
|
35
|
-
case 0 /* Cartesian */: return cartesian(x, y, z);
|
|
36
|
-
case 1 /* Fractional */: return fractional(x, y, z);
|
|
37
|
-
case 2 /* Grid */: return grid(a.domain, x, y, z);
|
|
35
|
+
case 0 /* Space.Cartesian */: return cartesian(x, y, z);
|
|
36
|
+
case 1 /* Space.Fractional */: return fractional(x, y, z);
|
|
37
|
+
case 2 /* Space.Grid */: return grid(a.domain, x, y, z);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
exports.withCoord = withCoord;
|
|
@@ -21,7 +21,7 @@ function encode(query, output) {
|
|
|
21
21
|
exports.encode = encode;
|
|
22
22
|
function string(name, str, isSpecified) {
|
|
23
23
|
if (isSpecified) {
|
|
24
|
-
return cif_1.CifWriter.Field.str(name, function (i, d) { return str(d); }, { valueKind: function (i, d) { return isSpecified(d) ? 0 /* Present */ : 1 /* NotPresent */; } });
|
|
24
|
+
return cif_1.CifWriter.Field.str(name, function (i, d) { return str(d); }, { valueKind: function (i, d) { return isSpecified(d) ? 0 /* Column.ValueKind.Present */ : 1 /* Column.ValueKind.NotPresent */; } });
|
|
25
25
|
}
|
|
26
26
|
return cif_1.CifWriter.Field.str(name, function (i, d) { return str(d); });
|
|
27
27
|
}
|
|
@@ -55,6 +55,17 @@
|
|
|
55
55
|
</a>
|
|
56
56
|
</div>
|
|
57
57
|
<script>
|
|
58
|
+
function getParam(name, regex) {
|
|
59
|
+
var r = new RegExp(name + '=' + '(' + regex + ')[&]?', 'i');
|
|
60
|
+
return decodeURIComponent(((window.location.search || '').match(r) || [])[1] || '');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
var debugMode = getParam('debug-mode', '[^&]+').trim() === '1';
|
|
64
|
+
if (debugMode) AlphaOrbitalsExample.setDebugMode(debugMode);
|
|
65
|
+
|
|
66
|
+
var timingMode = getParam('timing-mode', '[^&]+').trim() === '1';
|
|
67
|
+
if (timingMode) AlphaOrbitalsExample.setTimingMode(timingMode);
|
|
68
|
+
|
|
58
69
|
AlphaOrbitalsExample.init('app')
|
|
59
70
|
</script>
|
|
60
71
|
<!-- __MOLSTAR_ANALYTICS__ -->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
2
|
+
* Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
5
5
|
*/
|
|
@@ -18,6 +18,7 @@ import { mountControls } from './controls';
|
|
|
18
18
|
import { DemoMoleculeSDF, DemoOrbitals } from './example-data';
|
|
19
19
|
import './index.html';
|
|
20
20
|
require('mol-plugin-ui/skin/light.scss');
|
|
21
|
+
import { setDebugMode, setTimingMode } from '../../mol-util/debug';
|
|
21
22
|
var AlphaOrbitalsExample = /** @class */ (function () {
|
|
22
23
|
function AlphaOrbitalsExample() {
|
|
23
24
|
this.params = new BehaviorSubject({});
|
|
@@ -229,3 +230,5 @@ var AlphaOrbitalsExample = /** @class */ (function () {
|
|
|
229
230
|
}());
|
|
230
231
|
export { AlphaOrbitalsExample };
|
|
231
232
|
window.AlphaOrbitalsExample = new AlphaOrbitalsExample();
|
|
233
|
+
window.AlphaOrbitalsExample.setDebugMode = setDebugMode;
|
|
234
|
+
window.AlphaOrbitalsExample.setTimingMode = setTimingMode;
|
|
@@ -36,7 +36,7 @@ export function CustomColorTheme(ctx, props) {
|
|
|
36
36
|
export var CustomColorThemeProvider = {
|
|
37
37
|
name: 'basic-wrapper-custom-color-theme',
|
|
38
38
|
label: 'Custom Color Theme',
|
|
39
|
-
category: "Miscellaneous" /* Misc */,
|
|
39
|
+
category: "Miscellaneous" /* ColorTheme.Category.Misc */,
|
|
40
40
|
factory: CustomColorTheme,
|
|
41
41
|
getParams: function () { return ({}); },
|
|
42
42
|
defaultValues: {},
|
|
@@ -20,10 +20,10 @@ export function createProteopediaCustomTheme(colors) {
|
|
|
20
20
|
}
|
|
21
21
|
function getAsymId(unit) {
|
|
22
22
|
switch (unit.kind) {
|
|
23
|
-
case 0 /* Atomic */:
|
|
23
|
+
case 0 /* Unit.Kind.Atomic */:
|
|
24
24
|
return StructureProperties.chain.label_asym_id;
|
|
25
|
-
case 1 /* Spheres */:
|
|
26
|
-
case 2 /* Gaussians */:
|
|
25
|
+
case 1 /* Unit.Kind.Spheres */:
|
|
26
|
+
case 2 /* Unit.Kind.Gaussians */:
|
|
27
27
|
return StructureProperties.coarse.asym_id;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
2
|
+
* Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
5
5
|
*/
|
|
@@ -7,6 +7,7 @@ import { __awaiter, __generator } from "tslib";
|
|
|
7
7
|
import { sortArray } from '../../mol-data/util';
|
|
8
8
|
import { canComputeGrid3dOnGPU } from '../../mol-gl/compute/grid3d';
|
|
9
9
|
import { Task } from '../../mol-task';
|
|
10
|
+
import { isTimingMode } from '../../mol-util/debug';
|
|
10
11
|
import { createGrid, initCubeGrid } from './data-model';
|
|
11
12
|
import { gpuComputeAlphaOrbitalsDensityGridValues } from './gpu/compute';
|
|
12
13
|
export function createSphericalCollocationDensityGrid(params, orbitals, webgl) {
|
|
@@ -18,10 +19,13 @@ export function createSphericalCollocationDensityGrid(params, orbitals, webgl) {
|
|
|
18
19
|
case 0:
|
|
19
20
|
cubeGrid = initCubeGrid(params);
|
|
20
21
|
if (!canComputeGrid3dOnGPU(webgl)) return [3 /*break*/, 2];
|
|
22
|
+
if (isTimingMode)
|
|
23
|
+
webgl.timer.mark('createSphericalCollocationDensityGrid');
|
|
21
24
|
return [4 /*yield*/, gpuComputeAlphaOrbitalsDensityGridValues(ctx, webgl, cubeGrid, orbitals)];
|
|
22
25
|
case 1:
|
|
23
|
-
// console.time('gpu');
|
|
24
26
|
matrix = _a.sent();
|
|
27
|
+
if (isTimingMode)
|
|
28
|
+
webgl.timer.markEnd('createSphericalCollocationDensityGrid');
|
|
25
29
|
return [3 /*break*/, 3];
|
|
26
30
|
case 2: throw new Error('Missing OES_texture_float WebGL extension.');
|
|
27
31
|
case 3:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
2
|
+
* Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* Inspired by https://github.com/dgasmith/gau2grid.
|
|
5
5
|
*
|
|
@@ -9,10 +9,10 @@ import { __awaiter, __generator } from "tslib";
|
|
|
9
9
|
import { sortArray } from '../../mol-data/util';
|
|
10
10
|
import { canComputeGrid3dOnGPU } from '../../mol-gl/compute/grid3d';
|
|
11
11
|
import { Task } from '../../mol-task';
|
|
12
|
+
import { isTimingMode } from '../../mol-util/debug';
|
|
12
13
|
import { sphericalCollocation } from './collocation';
|
|
13
14
|
import { createGrid, initCubeGrid } from './data-model';
|
|
14
15
|
import { gpuComputeAlphaOrbitalsGridValues } from './gpu/compute';
|
|
15
|
-
// setDebugMode(true);
|
|
16
16
|
export function createSphericalCollocationGrid(params, orbital, webgl) {
|
|
17
17
|
var _this = this;
|
|
18
18
|
return Task.create('Spherical Collocation Grid', function (ctx) { return __awaiter(_this, void 0, void 0, function () {
|
|
@@ -22,10 +22,13 @@ export function createSphericalCollocationGrid(params, orbital, webgl) {
|
|
|
22
22
|
case 0:
|
|
23
23
|
cubeGrid = initCubeGrid(params);
|
|
24
24
|
if (!canComputeGrid3dOnGPU(webgl)) return [3 /*break*/, 2];
|
|
25
|
+
if (isTimingMode)
|
|
26
|
+
webgl.timer.mark('createSphericalCollocationGrid');
|
|
25
27
|
return [4 /*yield*/, gpuComputeAlphaOrbitalsGridValues(ctx, webgl, cubeGrid, orbital)];
|
|
26
28
|
case 1:
|
|
27
|
-
// console.time('gpu');
|
|
28
29
|
matrix = _a.sent();
|
|
30
|
+
if (isTimingMode)
|
|
31
|
+
webgl.timer.markEnd('createSphericalCollocationGrid');
|
|
29
32
|
return [3 /*break*/, 4];
|
|
30
33
|
case 2: return [4 /*yield*/, sphericalCollocation(cubeGrid, orbital, ctx)];
|
|
31
34
|
case 3:
|
|
@@ -93,7 +93,7 @@ function initialize(structure, props, accessibleSurfaceArea) {
|
|
|
93
93
|
eI = elements[j];
|
|
94
94
|
l.element = eI;
|
|
95
95
|
// consider only amino acids in chains
|
|
96
|
-
if (getElementMoleculeType(unit, eI) !== 5 /* Protein */ || !isPartOfEntity(l)) {
|
|
96
|
+
if (getElementMoleculeType(unit, eI) !== 5 /* MoleculeType.Protein */ || !isPartOfEntity(l)) {
|
|
97
97
|
continue;
|
|
98
98
|
}
|
|
99
99
|
// only CA is considered for downstream operations
|
|
@@ -69,7 +69,7 @@ export function CellPackGenerateColorTheme(ctx, props) {
|
|
|
69
69
|
export var CellPackGenerateColorThemeProvider = {
|
|
70
70
|
name: 'cellpack-generate',
|
|
71
71
|
label: 'CellPack Generate',
|
|
72
|
-
category: "Chain Property" /* Chain */,
|
|
72
|
+
category: "Chain Property" /* ColorTheme.Category.Chain */,
|
|
73
73
|
factory: CellPackGenerateColorTheme,
|
|
74
74
|
getParams: getCellPackGenerateColorThemeParams,
|
|
75
75
|
defaultValues: PD.getDefaultValues(CellPackGenerateColorThemeParams),
|
|
@@ -49,7 +49,7 @@ export function CellPackProvidedColorTheme(ctx, props) {
|
|
|
49
49
|
export var CellPackProvidedColorThemeProvider = {
|
|
50
50
|
name: 'cellpack-provided',
|
|
51
51
|
label: 'CellPack Provided',
|
|
52
|
-
category: "Chain Property" /* Chain */,
|
|
52
|
+
category: "Chain Property" /* ColorTheme.Category.Chain */,
|
|
53
53
|
factory: CellPackProvidedColorTheme,
|
|
54
54
|
getParams: getCellPackProvidedColorThemeParams,
|
|
55
55
|
defaultValues: PD.getDefaultValues(CellPackProvidedColorThemeParams),
|
|
@@ -336,7 +336,7 @@ var StructureFromAssemblies = PluginStateTransform.BuiltIn({
|
|
|
336
336
|
invariantId = u.invariantId + offsetInvariantId;
|
|
337
337
|
if (u.invariantId > maxInvariantId)
|
|
338
338
|
maxInvariantId = u.invariantId;
|
|
339
|
-
builder.addUnit(u.kind, u.model, u.conformation.operator, u.elements, 0 /* None */, invariantId);
|
|
339
|
+
builder.addUnit(u.kind, u.model, u.conformation.operator, u.elements, 0 /* Unit.Trait.None */, invariantId);
|
|
340
340
|
}
|
|
341
341
|
offsetInvariantId += maxInvariantId + 1;
|
|
342
342
|
}
|
|
@@ -252,7 +252,7 @@ export function ConfalPyramidsColorTheme(ctx, props) {
|
|
|
252
252
|
export var ConfalPyramidsColorThemeProvider = {
|
|
253
253
|
name: 'confal-pyramids',
|
|
254
254
|
label: 'Confal Pyramids',
|
|
255
|
-
category: "Residue Property" /* Residue */,
|
|
255
|
+
category: "Residue Property" /* ColorTheme.Category.Residue */,
|
|
256
256
|
factory: ConfalPyramidsColorTheme,
|
|
257
257
|
getParams: getConfalPyramidsColorThemeParams,
|
|
258
258
|
defaultValues: PD.getDefaultValues(ConfalPyramidsColorThemeParams),
|
|
@@ -93,7 +93,7 @@ function getTraj(ctx, data) {
|
|
|
93
93
|
for (i = 0; i < rowCount; ++i) {
|
|
94
94
|
e = normalized.entity_id[i];
|
|
95
95
|
eName.customName = e;
|
|
96
|
-
entityId = entityBuilder.getEntityId(e, 7 /* DNA */, e, eName);
|
|
96
|
+
entityId = entityBuilder.getEntityId(e, 7 /* MoleculeType.DNA */, e, eName);
|
|
97
97
|
entityIds[i] = entityId;
|
|
98
98
|
}
|
|
99
99
|
ihm_sphere_obj_site = Table.ofPartialColumns(BasicSchema.ihm_sphere_obj_site, {
|
|
@@ -75,7 +75,7 @@ export function PLDDTConfidenceColorTheme(ctx, props) {
|
|
|
75
75
|
export var PLDDTConfidenceColorThemeProvider = {
|
|
76
76
|
name: 'plddt-confidence',
|
|
77
77
|
label: 'pLDDT Confidence',
|
|
78
|
-
category: "Validation" /* Validation */,
|
|
78
|
+
category: "Validation" /* ColorTheme.Category.Validation */,
|
|
79
79
|
factory: PLDDTConfidenceColorTheme,
|
|
80
80
|
getParams: getPLDDTConfidenceColorThemeParams,
|
|
81
81
|
defaultValues: PD.getDefaultValues(getPLDDTConfidenceColorThemeParams({})),
|
|
@@ -61,7 +61,7 @@ export function QmeanScoreColorTheme(ctx, props) {
|
|
|
61
61
|
export var QmeanScoreColorThemeProvider = {
|
|
62
62
|
name: 'qmean-score',
|
|
63
63
|
label: 'QMEAN Score',
|
|
64
|
-
category: "Validation" /* Validation */,
|
|
64
|
+
category: "Validation" /* ColorTheme.Category.Validation */,
|
|
65
65
|
factory: QmeanScoreColorTheme,
|
|
66
66
|
getParams: getQmeanScoreColorThemeParams,
|
|
67
67
|
defaultValues: PD.getDefaultValues(getQmeanScoreColorThemeParams({})),
|
|
@@ -79,7 +79,7 @@ export function StructureQualityReportColorTheme(ctx, props) {
|
|
|
79
79
|
export var StructureQualityReportColorThemeProvider = {
|
|
80
80
|
name: 'pdbe-structure-quality-report',
|
|
81
81
|
label: 'Structure Quality Report',
|
|
82
|
-
category: "Validation" /* Validation */,
|
|
82
|
+
category: "Validation" /* ColorTheme.Category.Validation */,
|
|
83
83
|
factory: StructureQualityReportColorTheme,
|
|
84
84
|
getParams: function (ctx) {
|
|
85
85
|
var issueTypes = StructureQualityReport.getIssueTypes(ctx.structure);
|
|
@@ -12,10 +12,10 @@ import { getPalette, getPaletteParams } from '../../../mol-util/color/palette';
|
|
|
12
12
|
var DefaultColor = Color(0xCCCCCC);
|
|
13
13
|
function getAsymId(unit) {
|
|
14
14
|
switch (unit.kind) {
|
|
15
|
-
case 0 /* Atomic */:
|
|
15
|
+
case 0 /* Unit.Kind.Atomic */:
|
|
16
16
|
return StructureProperties.chain.label_asym_id;
|
|
17
|
-
case 1 /* Spheres */:
|
|
18
|
-
case 2 /* Gaussians */:
|
|
17
|
+
case 1 /* Unit.Kind.Spheres */:
|
|
18
|
+
case 2 /* Unit.Kind.Gaussians */:
|
|
19
19
|
return StructureProperties.coarse.asym_id;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -83,7 +83,7 @@ export function AssemblySymmetryClusterColorTheme(ctx, props) {
|
|
|
83
83
|
export var AssemblySymmetryClusterColorThemeProvider = {
|
|
84
84
|
name: AssemblySymmetry.Tag.Cluster,
|
|
85
85
|
label: 'Assembly Symmetry Cluster',
|
|
86
|
-
category: "Symmetry" /* Symmetry */,
|
|
86
|
+
category: "Symmetry" /* ColorTheme.Category.Symmetry */,
|
|
87
87
|
factory: AssemblySymmetryClusterColorTheme,
|
|
88
88
|
getParams: getAssemblySymmetryClusterColorThemeParams,
|
|
89
89
|
defaultValues: PD.getDefaultValues(AssemblySymmetryClusterColorThemeParams),
|
|
@@ -62,7 +62,7 @@ export function DensityFitColorTheme(ctx, props) {
|
|
|
62
62
|
export var DensityFitColorThemeProvider = {
|
|
63
63
|
name: ValidationReport.Tag.DensityFit,
|
|
64
64
|
label: 'Density Fit',
|
|
65
|
-
category: "Validation" /* Validation */,
|
|
65
|
+
category: "Validation" /* ColorTheme.Category.Validation */,
|
|
66
66
|
factory: DensityFitColorTheme,
|
|
67
67
|
getParams: function () { return ({}); },
|
|
68
68
|
defaultValues: PD.getDefaultValues({}),
|
|
@@ -51,7 +51,7 @@ export function GeometryQualityColorTheme(ctx, props) {
|
|
|
51
51
|
if (value === undefined)
|
|
52
52
|
return DefaultColor;
|
|
53
53
|
var count = SetUtils.differenceSize(value, ignore_1);
|
|
54
|
-
if (count > 0 && polymerType_1[rI] === 0 /* NA */) {
|
|
54
|
+
if (count > 0 && polymerType_1[rI] === 0 /* PolymerType.NA */) {
|
|
55
55
|
count = 0;
|
|
56
56
|
if (!ignore_1.has('clash') && clashes_1.getVertexEdgeCount(element) > 0)
|
|
57
57
|
count += 1;
|
|
@@ -92,7 +92,7 @@ export function GeometryQualityColorTheme(ctx, props) {
|
|
|
92
92
|
export var GeometryQualityColorThemeProvider = {
|
|
93
93
|
name: ValidationReport.Tag.GeometryQuality,
|
|
94
94
|
label: 'Geometry Quality',
|
|
95
|
-
category: "Validation" /* Validation */,
|
|
95
|
+
category: "Validation" /* ColorTheme.Category.Validation */,
|
|
96
96
|
factory: GeometryQualityColorTheme,
|
|
97
97
|
getParams: getGeometricQualityColorThemeParams,
|
|
98
98
|
defaultValues: PD.getDefaultValues(getGeometricQualityColorThemeParams({})),
|
|
@@ -50,7 +50,7 @@ export function RandomCoilIndexColorTheme(ctx, props) {
|
|
|
50
50
|
export var RandomCoilIndexColorThemeProvider = {
|
|
51
51
|
name: ValidationReport.Tag.RandomCoilIndex,
|
|
52
52
|
label: 'Random Coil Index',
|
|
53
|
-
category: "Validation" /* Validation */,
|
|
53
|
+
category: "Validation" /* ColorTheme.Category.Validation */,
|
|
54
54
|
factory: RandomCoilIndexColorTheme,
|
|
55
55
|
getParams: function () { return ({}); },
|
|
56
56
|
defaultValues: PD.getDefaultValues({}),
|
|
@@ -39,7 +39,7 @@ function createIntraUnitClashCylinderMesh(ctx, unit, structure, theme, props, me
|
|
|
39
39
|
pos(elements[a[edgeIndex]], posA);
|
|
40
40
|
pos(elements[b[edgeIndex]], posB);
|
|
41
41
|
},
|
|
42
|
-
style: function (edgeIndex) { return 6 /* Disk */; },
|
|
42
|
+
style: function (edgeIndex) { return 6 /* LinkStyle.Disk */; },
|
|
43
43
|
radius: function (edgeIndex) { return magnitude[edgeIndex] * sizeFactor; },
|
|
44
44
|
};
|
|
45
45
|
var _a = createLinkCylinderMesh(ctx, builderProps, props, mesh), m = _a.mesh, boundingSphere = _a.boundingSphere;
|
|
@@ -139,7 +139,7 @@ function createInterUnitClashCylinderMesh(ctx, structure, theme, props, mesh) {
|
|
|
139
139
|
uA.conformation.position(uA.elements[b.indexA], posA);
|
|
140
140
|
uB.conformation.position(uB.elements[b.indexB], posB);
|
|
141
141
|
},
|
|
142
|
-
style: function (edgeIndex) { return 6 /* Disk */; },
|
|
142
|
+
style: function (edgeIndex) { return 6 /* LinkStyle.Disk */; },
|
|
143
143
|
radius: function (edgeIndex) { return edges[edgeIndex].props.magnitude * sizeFactor; }
|
|
144
144
|
};
|
|
145
145
|
var _a = createLinkCylinderMesh(ctx, builderProps, props, mesh), m = _a.mesh, boundingSphere = _a.boundingSphere;
|
|
@@ -26,7 +26,7 @@ import { MultiSampleHelper, MultiSampleParams, MultiSamplePass } from './passes/
|
|
|
26
26
|
import { PickHelper } from './passes/pick';
|
|
27
27
|
import { ImagePass } from './passes/image';
|
|
28
28
|
import { Sphere3D } from '../mol-math/geometry';
|
|
29
|
-
import { isDebugMode } from '../mol-util/debug';
|
|
29
|
+
import { isDebugMode, isTimingMode } from '../mol-util/debug';
|
|
30
30
|
import { CameraHelperParams } from './helper/camera-helper';
|
|
31
31
|
import { produce } from 'immer';
|
|
32
32
|
import { HandleHelperParams } from './helper/handle-helper';
|
|
@@ -300,6 +300,8 @@ var Canvas3D;
|
|
|
300
300
|
stereoCamera.update();
|
|
301
301
|
cam = stereoCamera;
|
|
302
302
|
}
|
|
303
|
+
if (isTimingMode)
|
|
304
|
+
webgl.timer.mark('Canvas3D.render');
|
|
303
305
|
var ctx = { renderer: renderer, camera: cam, scene: scene, helper: helper };
|
|
304
306
|
if (MultiSamplePass.isEnabled(p.multiSample)) {
|
|
305
307
|
var forceOn = !cameraChanged && markingUpdated && !controls.isAnimating;
|
|
@@ -308,6 +310,8 @@ var Canvas3D;
|
|
|
308
310
|
else {
|
|
309
311
|
passes.draw.render(ctx, p, true);
|
|
310
312
|
}
|
|
313
|
+
if (isTimingMode)
|
|
314
|
+
webgl.timer.markEnd('Canvas3D.render');
|
|
311
315
|
// if only marking has updated, do not set the flag to dirty
|
|
312
316
|
pickHelper.dirty = pickHelper.dirty || shouldRender;
|
|
313
317
|
didRender = true;
|
|
@@ -18,14 +18,14 @@ var B = ButtonsType;
|
|
|
18
18
|
var M = ModifiersKeys;
|
|
19
19
|
var Trigger = Binding.Trigger;
|
|
20
20
|
export var DefaultTrackballBindings = {
|
|
21
|
-
dragRotate: Binding([Trigger(1 /* Primary */, M.create())], 'Rotate', 'Drag using ${triggers}'),
|
|
22
|
-
dragRotateZ: Binding([Trigger(1 /* Primary */, M.create({ shift: true }))], 'Rotate around z-axis', 'Drag using ${triggers}'),
|
|
23
|
-
dragPan: Binding([Trigger(2 /* Secondary */, M.create()), Trigger(1 /* Primary */, M.create({ control: true }))], 'Pan', 'Drag using ${triggers}'),
|
|
21
|
+
dragRotate: Binding([Trigger(1 /* B.Flag.Primary */, M.create())], 'Rotate', 'Drag using ${triggers}'),
|
|
22
|
+
dragRotateZ: Binding([Trigger(1 /* B.Flag.Primary */, M.create({ shift: true }))], 'Rotate around z-axis', 'Drag using ${triggers}'),
|
|
23
|
+
dragPan: Binding([Trigger(2 /* B.Flag.Secondary */, M.create()), Trigger(1 /* B.Flag.Primary */, M.create({ control: true }))], 'Pan', 'Drag using ${triggers}'),
|
|
24
24
|
dragZoom: Binding.Empty,
|
|
25
|
-
dragFocus: Binding([Trigger(8 /* Forth */, M.create())], 'Focus', 'Drag using ${triggers}'),
|
|
26
|
-
dragFocusZoom: Binding([Trigger(4 /* Auxilary */, M.create())], 'Focus and zoom', 'Drag using ${triggers}'),
|
|
27
|
-
scrollZoom: Binding([Trigger(4 /* Auxilary */, M.create())], 'Zoom', 'Scroll using ${triggers}'),
|
|
28
|
-
scrollFocus: Binding([Trigger(4 /* Auxilary */, M.create({ shift: true }))], 'Clip', 'Scroll using ${triggers}'),
|
|
25
|
+
dragFocus: Binding([Trigger(8 /* B.Flag.Forth */, M.create())], 'Focus', 'Drag using ${triggers}'),
|
|
26
|
+
dragFocusZoom: Binding([Trigger(4 /* B.Flag.Auxilary */, M.create())], 'Focus and zoom', 'Drag using ${triggers}'),
|
|
27
|
+
scrollZoom: Binding([Trigger(4 /* B.Flag.Auxilary */, M.create())], 'Zoom', 'Scroll using ${triggers}'),
|
|
28
|
+
scrollFocus: Binding([Trigger(4 /* B.Flag.Auxilary */, M.create({ shift: true }))], 'Clip', 'Scroll using ${triggers}'),
|
|
29
29
|
scrollFocusZoom: Binding.Empty,
|
|
30
30
|
};
|
|
31
31
|
export var TrackballControlsParams = {
|
|
@@ -86,7 +86,7 @@ var CameraHelper = /** @class */ (function () {
|
|
|
86
86
|
});
|
|
87
87
|
CameraHelper.prototype.getLoci = function (pickingId) {
|
|
88
88
|
var objectId = pickingId.objectId, groupId = pickingId.groupId, instanceId = pickingId.instanceId;
|
|
89
|
-
if (!this.renderObject || objectId !== this.renderObject.id || groupId === 0 /* None */)
|
|
89
|
+
if (!this.renderObject || objectId !== this.renderObject.id || groupId === 0 /* CameraHelperAxis.None */)
|
|
90
90
|
return EmptyLoci;
|
|
91
91
|
return CameraAxesLoci(this, groupId, instanceId);
|
|
92
92
|
};
|
|
@@ -114,12 +114,12 @@ var CameraHelper = /** @class */ (function () {
|
|
|
114
114
|
export { CameraHelper };
|
|
115
115
|
function getAxisLabel(axis) {
|
|
116
116
|
switch (axis) {
|
|
117
|
-
case 1 /* X */: return 'X Axis';
|
|
118
|
-
case 2 /* Y */: return 'Y Axis';
|
|
119
|
-
case 3 /* Z */: return 'Z Axis';
|
|
120
|
-
case 4 /* XY */: return 'XY Plane';
|
|
121
|
-
case 5 /* XZ */: return 'XZ Plane';
|
|
122
|
-
case 6 /* YZ */: return 'YZ Plane';
|
|
117
|
+
case 1 /* CameraHelperAxis.X */: return 'X Axis';
|
|
118
|
+
case 2 /* CameraHelperAxis.Y */: return 'Y Axis';
|
|
119
|
+
case 3 /* CameraHelperAxis.Z */: return 'Z Axis';
|
|
120
|
+
case 4 /* CameraHelperAxis.XY */: return 'XY Plane';
|
|
121
|
+
case 5 /* CameraHelperAxis.XZ */: return 'XZ Plane';
|
|
122
|
+
case 6 /* CameraHelperAxis.YZ */: return 'YZ Plane';
|
|
123
123
|
default: return 'Axes';
|
|
124
124
|
}
|
|
125
125
|
}
|
|
@@ -160,33 +160,33 @@ function createAxesMesh(scale, mesh) {
|
|
|
160
160
|
var y = Vec3.scale(Vec3(), Vec3.unitY, scale);
|
|
161
161
|
var z = Vec3.scale(Vec3(), Vec3.unitZ, scale);
|
|
162
162
|
var cylinderProps = { radiusTop: radius, radiusBottom: radius, radialSegments: 32 };
|
|
163
|
-
state.currentGroup = 0 /* None */;
|
|
163
|
+
state.currentGroup = 0 /* CameraHelperAxis.None */;
|
|
164
164
|
addSphere(state, Vec3.origin, radius, 2);
|
|
165
|
-
state.currentGroup = 1 /* X */;
|
|
165
|
+
state.currentGroup = 1 /* CameraHelperAxis.X */;
|
|
166
166
|
addSphere(state, x, radius, 2);
|
|
167
167
|
addCylinder(state, Vec3.origin, x, 1, cylinderProps);
|
|
168
|
-
state.currentGroup = 2 /* Y */;
|
|
168
|
+
state.currentGroup = 2 /* CameraHelperAxis.Y */;
|
|
169
169
|
addSphere(state, y, radius, 2);
|
|
170
170
|
addCylinder(state, Vec3.origin, y, 1, cylinderProps);
|
|
171
|
-
state.currentGroup = 3 /* Z */;
|
|
171
|
+
state.currentGroup = 3 /* CameraHelperAxis.Z */;
|
|
172
172
|
addSphere(state, z, radius, 2);
|
|
173
173
|
addCylinder(state, Vec3.origin, z, 1, cylinderProps);
|
|
174
174
|
Vec3.scale(x, x, 0.5);
|
|
175
175
|
Vec3.scale(y, y, 0.5);
|
|
176
176
|
Vec3.scale(z, z, 0.5);
|
|
177
|
-
state.currentGroup = 4 /* XY */;
|
|
177
|
+
state.currentGroup = 4 /* CameraHelperAxis.XY */;
|
|
178
178
|
MeshBuilder.addTriangle(state, Vec3.origin, x, y);
|
|
179
179
|
MeshBuilder.addTriangle(state, Vec3.origin, y, x);
|
|
180
180
|
var xy = Vec3.add(Vec3(), x, y);
|
|
181
181
|
MeshBuilder.addTriangle(state, xy, x, y);
|
|
182
182
|
MeshBuilder.addTriangle(state, xy, y, x);
|
|
183
|
-
state.currentGroup = 5 /* XZ */;
|
|
183
|
+
state.currentGroup = 5 /* CameraHelperAxis.XZ */;
|
|
184
184
|
MeshBuilder.addTriangle(state, Vec3.origin, x, z);
|
|
185
185
|
MeshBuilder.addTriangle(state, Vec3.origin, z, x);
|
|
186
186
|
var xz = Vec3.add(Vec3(), x, z);
|
|
187
187
|
MeshBuilder.addTriangle(state, xz, x, z);
|
|
188
188
|
MeshBuilder.addTriangle(state, xz, z, x);
|
|
189
|
-
state.currentGroup = 6 /* YZ */;
|
|
189
|
+
state.currentGroup = 6 /* CameraHelperAxis.YZ */;
|
|
190
190
|
MeshBuilder.addTriangle(state, Vec3.origin, y, z);
|
|
191
191
|
MeshBuilder.addTriangle(state, Vec3.origin, z, y);
|
|
192
192
|
var yz = Vec3.add(Vec3(), y, z);
|
|
@@ -85,7 +85,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
|
|
|
85
85
|
};
|
|
86
86
|
Canvas3dInteractionHelper.prototype.identify = function (e, t) {
|
|
87
87
|
var xyChanged = this.startX !== this.endX || this.startY !== this.endY;
|
|
88
|
-
if (e === 2 /* Drag */) {
|
|
88
|
+
if (e === 2 /* InputEvent.Drag */) {
|
|
89
89
|
if (xyChanged && !this.outsideViewport(this.startX, this.startY)) {
|
|
90
90
|
this.events.drag.next({ current: this.prevLoci, buttons: this.buttons, button: this.button, modifiers: this.modifiers, pageStart: Vec2.create(this.startX, this.startY), pageEnd: Vec2.create(this.endX, this.endY) });
|
|
91
91
|
this.startX = this.endX;
|
|
@@ -100,7 +100,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
|
|
|
100
100
|
this.startX = this.endX;
|
|
101
101
|
this.startY = this.endY;
|
|
102
102
|
}
|
|
103
|
-
if (e === 1 /* Click */) {
|
|
103
|
+
if (e === 1 /* InputEvent.Click */) {
|
|
104
104
|
var loci_1 = this.getLoci(this.id, this.position);
|
|
105
105
|
this.events.click.next({ current: loci_1, buttons: this.buttons, button: this.button, modifiers: this.modifiers, page: Vec2.create(this.endX, this.endY), position: this.position });
|
|
106
106
|
this.prevLoci = loci_1;
|
|
@@ -116,7 +116,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
|
|
|
116
116
|
if (this.inside && t - this.prevT > 1000 / this.props.maxFps) {
|
|
117
117
|
this.prevT = t;
|
|
118
118
|
this.currentIdentifyT = t;
|
|
119
|
-
this.identify(this.isInteracting ? 2 /* Drag */ : 0 /* Move */, t);
|
|
119
|
+
this.identify(this.isInteracting ? 2 /* InputEvent.Drag */ : 0 /* InputEvent.Move */, t);
|
|
120
120
|
}
|
|
121
121
|
};
|
|
122
122
|
Canvas3dInteractionHelper.prototype.leave = function () {
|
|
@@ -140,7 +140,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
|
|
|
140
140
|
this.buttons = buttons;
|
|
141
141
|
this.button = button;
|
|
142
142
|
this.modifiers = modifiers;
|
|
143
|
-
this.identify(1 /* Click */, 0);
|
|
143
|
+
this.identify(1 /* InputEvent.Click */, 0);
|
|
144
144
|
};
|
|
145
145
|
Canvas3dInteractionHelper.prototype.drag = function (x, y, buttons, button, modifiers) {
|
|
146
146
|
this.endX = x;
|
|
@@ -148,7 +148,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
|
|
|
148
148
|
this.buttons = buttons;
|
|
149
149
|
this.button = button;
|
|
150
150
|
this.modifiers = modifiers;
|
|
151
|
-
this.identify(2 /* Drag */, 0);
|
|
151
|
+
this.identify(2 /* InputEvent.Drag */, 0);
|
|
152
152
|
};
|
|
153
153
|
Canvas3dInteractionHelper.prototype.modify = function (modifiers) {
|
|
154
154
|
if (ModifiersKeys.areEqual(modifiers, this.modifiers))
|
|
@@ -12,6 +12,7 @@ import { WboitPass } from './wboit';
|
|
|
12
12
|
import { AntialiasingPass, PostprocessingPass } from './postprocessing';
|
|
13
13
|
import { MarkingPass } from './marking';
|
|
14
14
|
import { createCopyRenderable } from '../../mol-gl/compute/util';
|
|
15
|
+
import { isTimingMode } from '../../mol-util/debug';
|
|
15
16
|
var DrawPass = /** @class */ (function () {
|
|
16
17
|
function DrawPass(webgl, width, height, enableWboit) {
|
|
17
18
|
this.webgl = webgl;
|
|
@@ -92,8 +93,12 @@ var DrawPass = /** @class */ (function () {
|
|
|
92
93
|
// render transparent primitives and volumes
|
|
93
94
|
if (scene.opacityAverage < 1 || scene.volumes.renderables.length > 0) {
|
|
94
95
|
this.wboit.bind();
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
if (scene.opacityAverage < 1) {
|
|
97
|
+
renderer.renderWboitTransparent(scene.primitives, camera, this.depthTextureOpaque);
|
|
98
|
+
}
|
|
99
|
+
if (scene.volumes.renderables.length > 0) {
|
|
100
|
+
renderer.renderWboitTransparent(scene.volumes, camera, this.depthTextureOpaque);
|
|
101
|
+
}
|
|
97
102
|
// evaluate wboit
|
|
98
103
|
if (PostprocessingPass.isEnabled(postprocessingProps)) {
|
|
99
104
|
this.postprocessing.target.bind();
|
|
@@ -105,7 +110,7 @@ var DrawPass = /** @class */ (function () {
|
|
|
105
110
|
}
|
|
106
111
|
};
|
|
107
112
|
DrawPass.prototype._renderBlended = function (renderer, camera, scene, toDrawingBuffer, transparentBackground, postprocessingProps) {
|
|
108
|
-
var _a, _b;
|
|
113
|
+
var _a, _b, _c, _d;
|
|
109
114
|
if (toDrawingBuffer) {
|
|
110
115
|
this.drawTarget.bind();
|
|
111
116
|
}
|
|
@@ -148,9 +153,29 @@ var DrawPass = /** @class */ (function () {
|
|
|
148
153
|
(_b = this.colorTarget.depthRenderbuffer) === null || _b === void 0 ? void 0 : _b.attachFramebuffer(this.postprocessing.target.framebuffer);
|
|
149
154
|
}
|
|
150
155
|
}
|
|
151
|
-
|
|
156
|
+
if (scene.volumes.renderables.length > 0) {
|
|
157
|
+
var target = PostprocessingPass.isEnabled(postprocessingProps)
|
|
158
|
+
? this.postprocessing.target : this.colorTarget;
|
|
159
|
+
if (!this.packedDepth) {
|
|
160
|
+
this.depthTextureOpaque.detachFramebuffer(target.framebuffer, 'depth');
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
(_c = this.colorTarget.depthRenderbuffer) === null || _c === void 0 ? void 0 : _c.detachFramebuffer(target.framebuffer);
|
|
164
|
+
}
|
|
165
|
+
target.bind();
|
|
166
|
+
renderer.renderBlendedVolume(scene.volumes, camera, this.depthTextureOpaque);
|
|
167
|
+
if (!this.packedDepth) {
|
|
168
|
+
this.depthTextureOpaque.attachFramebuffer(target.framebuffer, 'depth');
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
(_d = this.colorTarget.depthRenderbuffer) === null || _d === void 0 ? void 0 : _d.attachFramebuffer(target.framebuffer);
|
|
172
|
+
}
|
|
173
|
+
target.bind();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (scene.opacityAverage < 1) {
|
|
177
|
+
renderer.renderBlendedTransparent(scene.primitives, camera, null);
|
|
152
178
|
}
|
|
153
|
-
renderer.renderBlendedTransparent(scene.primitives, camera, null);
|
|
154
179
|
};
|
|
155
180
|
DrawPass.prototype._render = function (renderer, camera, scene, helper, toDrawingBuffer, props) {
|
|
156
181
|
var volumeRendering = scene.volumes.renderables.length > 0;
|
|
@@ -222,6 +247,8 @@ var DrawPass = /** @class */ (function () {
|
|
|
222
247
|
this.webgl.gl.flush();
|
|
223
248
|
};
|
|
224
249
|
DrawPass.prototype.render = function (ctx, props, toDrawingBuffer) {
|
|
250
|
+
if (isTimingMode)
|
|
251
|
+
this.webgl.timer.mark('DrawPass.render');
|
|
225
252
|
var renderer = ctx.renderer, camera = ctx.camera, scene = ctx.scene, helper = ctx.helper;
|
|
226
253
|
renderer.setTransparentBackground(props.transparentBackground);
|
|
227
254
|
renderer.setDrawingBufferSize(this.colorTarget.getWidth(), this.colorTarget.getHeight());
|
|
@@ -233,6 +260,8 @@ var DrawPass = /** @class */ (function () {
|
|
|
233
260
|
else {
|
|
234
261
|
this._render(renderer, camera, scene, helper, toDrawingBuffer, props);
|
|
235
262
|
}
|
|
263
|
+
if (isTimingMode)
|
|
264
|
+
this.webgl.timer.markEnd('DrawPass.render');
|
|
236
265
|
};
|
|
237
266
|
DrawPass.prototype.getColorTarget = function (postprocessingProps) {
|
|
238
267
|
if (AntialiasingPass.isEnabled(postprocessingProps)) {
|