molstar 3.0.0-dev.5 → 3.0.0-dev.9
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 +187 -187
- package/build/viewer/embedded.html +43 -43
- package/build/viewer/index.html +106 -95
- package/build/viewer/molstar.js +1 -1
- package/lib/apps/docking-viewer/index.d.ts +2 -1
- package/lib/apps/docking-viewer/index.html +36 -36
- package/lib/apps/docking-viewer/index.js +87 -74
- package/lib/apps/viewer/app.d.ts +230 -0
- package/lib/apps/viewer/app.js +515 -0
- package/lib/apps/viewer/embedded.html +43 -43
- package/lib/apps/viewer/index.d.ts +2 -403
- package/lib/apps/viewer/index.html +106 -95
- package/lib/apps/viewer/index.js +2 -420
- package/lib/cli/cifschema/index.d.ts +1 -1
- package/lib/cli/cifschema/index.js +15 -35
- package/lib/commonjs/apps/docking-viewer/index.d.ts +2 -1
- package/lib/commonjs/apps/docking-viewer/index.js +86 -73
- package/lib/commonjs/apps/viewer/app.d.ts +230 -0
- package/lib/commonjs/apps/viewer/app.js +521 -0
- package/lib/commonjs/apps/viewer/index.d.ts +2 -403
- package/lib/commonjs/apps/viewer/index.js +2 -423
- package/lib/commonjs/cli/cifschema/index.d.ts +1 -1
- package/lib/commonjs/cli/cifschema/index.js +15 -35
- package/lib/commonjs/examples/alpha-orbitals/index.js +3 -4
- package/lib/commonjs/examples/basic-wrapper/index.js +23 -11
- package/lib/commonjs/examples/lighting/index.d.ts +1 -1
- package/lib/commonjs/examples/lighting/index.js +57 -41
- package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -14
- package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +0 -1
- package/lib/commonjs/extensions/alpha-orbitals/transforms.js +1 -14
- package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
- package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
- package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
- package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
- package/lib/commonjs/extensions/geo-export/mesh-exporter.js +4 -4
- package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +236 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +125 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +111 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +130 -0
- package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +1 -1
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +1 -1
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
- package/lib/commonjs/extensions/rcsb/validation-report/prop.js +1 -1
- package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +3 -9
- package/lib/commonjs/mol-canvas3d/canvas3d.js +34 -23
- package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -0
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
- package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +13 -1
- package/lib/commonjs/mol-canvas3d/passes/draw.js +16 -15
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
- package/lib/commonjs/mol-canvas3d/passes/image.js +3 -2
- package/lib/commonjs/mol-canvas3d/passes/marking.js +1 -1
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +10 -2
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +18 -14
- package/lib/commonjs/mol-canvas3d/passes/pick.js +12 -12
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
- package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
- package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
- package/lib/commonjs/mol-geo/geometry/base.js +18 -1
- package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
- package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
- package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/color-data.js +22 -0
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +21 -66
- package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
- package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
- package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/image/image.js +1 -1
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +11 -0
- package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
- package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
- package/lib/commonjs/mol-geo/geometry/marker-data.js +13 -9
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
- package/lib/commonjs/mol-geo/geometry/points/points.d.ts +11 -1
- package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
- package/lib/commonjs/mol-geo/geometry/size-data.js +5 -5
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
- package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/text/text.js +1 -1
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +2 -2
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -9
- package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
- package/lib/commonjs/mol-gl/render-object.js +10 -10
- package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +11 -5
- package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
- package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +15 -14
- package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
- package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/image.js +2 -2
- package/lib/commonjs/mol-gl/renderable/lines.d.ts +39 -33
- package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
- package/lib/commonjs/mol-gl/renderable/mesh.d.ts +11 -5
- package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
- package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/points.js +2 -2
- package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
- package/lib/commonjs/mol-gl/renderable/schema.js +4 -10
- package/lib/commonjs/mol-gl/renderable/spheres.d.ts +11 -5
- package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
- package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/text.js +2 -2
- package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +11 -6
- package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
- package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
- package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
- package/lib/commonjs/mol-gl/renderer.js +23 -92
- package/lib/commonjs/mol-gl/scene.d.ts +2 -2
- package/lib/commonjs/mol-gl/scene.js +7 -5
- 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/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-group.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-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/assign-position.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-size.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/chunks/common-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.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/gaussian-density.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.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/marching-cubes/isosurface.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.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/mesh.vert.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.vert.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-code.d.ts +3 -1
- package/lib/commonjs/mol-gl/shader-code.js +43 -14
- package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
- package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
- package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +326 -1
- package/lib/commonjs/mol-io/reader/mol2/parser.d.ts +1 -1
- package/lib/commonjs/mol-io/reader/mol2/parser.js +33 -3
- package/lib/commonjs/mol-io/reader/mol2/schema.d.ts +12 -1
- package/lib/commonjs/mol-io/reader/mol2/schema.js +1 -1
- package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +2 -2
- package/lib/commonjs/mol-math/geometry/symmetry-operator.js +3 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
- package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
- package/lib/commonjs/mol-model/structure/model/model.d.ts +1 -0
- package/lib/commonjs/mol-model/structure/model/model.js +8 -2
- package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
- package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +4 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
- package/lib/commonjs/mol-model/structure/model/types.js +9 -0
- package/lib/commonjs/mol-model/structure/structure/element/stats.js +8 -0
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +11 -2
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +20 -10
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +21 -11
- package/lib/commonjs/mol-model/structure/structure/unit/rings.js +2 -0
- package/lib/commonjs/mol-model-formats/shape/ply.d.ts +20 -0
- package/lib/commonjs/mol-model-formats/structure/mol2.d.ts +1 -1
- package/lib/commonjs/mol-model-formats/structure/mol2.js +37 -7
- package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
- package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +4 -6
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
- package/lib/commonjs/mol-plugin/commands.d.ts +1 -4
- package/lib/commonjs/mol-plugin/config.d.ts +2 -2
- package/lib/commonjs/mol-plugin/config.js +5 -25
- package/lib/commonjs/mol-plugin/features.d.ts +9 -0
- package/lib/commonjs/mol-plugin/features.js +38 -0
- package/lib/commonjs/mol-plugin/spec.js +1 -0
- package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
- package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +8 -1
- package/lib/commonjs/mol-plugin-state/actions/structure.js +183 -72
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +13 -8
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
- package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
- package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
- package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +33 -19
- package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +13 -1
- package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
- package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -1
- package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
- package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
- package/lib/commonjs/mol-plugin-ui/index.d.ts +4 -4
- package/lib/commonjs/mol-plugin-ui/index.js +13 -16
- package/lib/commonjs/mol-plugin-ui/plugin.js +1 -1
- package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +2 -6
- package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -1
- package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +61 -19
- package/lib/commonjs/mol-repr/structure/params.d.ts +81 -19
- package/lib/commonjs/mol-repr/structure/registry.d.ts +141 -19
- package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +2 -7
- package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
- package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
- package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/units-representation.js +1 -1
- package/lib/commonjs/mol-repr/structure/units-visual.d.ts +81 -19
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -2
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/util/bond.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +3 -2
- package/lib/commonjs/mol-repr/structure/visual/util/common.js +2 -5
- package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
- package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +12 -12
- package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
- package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +4 -4
- package/lib/commonjs/mol-repr/visual.js +11 -7
- package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -57
- package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -12
- package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
- package/lib/commonjs/mol-repr/volume/isosurface.js +11 -2
- package/lib/commonjs/mol-repr/volume/registry.d.ts +31 -19
- package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
- package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
- package/lib/commonjs/mol-repr/volume/slice.js +2 -2
- package/lib/commonjs/mol-repr/volume/util.js +2 -2
- package/lib/commonjs/mol-script/language/builder.d.ts +0 -1
- package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
- package/lib/commonjs/mol-theme/clipping.js +5 -12
- package/lib/commonjs/mol-theme/color/volume-value.d.ts +17 -0
- package/lib/commonjs/mol-theme/color/volume-value.js +57 -0
- package/lib/commonjs/mol-theme/color.d.ts +3 -0
- package/lib/commonjs/mol-theme/color.js +2 -0
- package/lib/commonjs/mol-util/clip.d.ts +49 -0
- package/lib/commonjs/mol-util/clip.js +97 -0
- package/lib/commonjs/mol-util/number-packing.d.ts +11 -0
- package/lib/commonjs/mol-util/{float-packing.js → number-packing.js} +10 -19
- package/lib/examples/alpha-orbitals/index.html +61 -60
- package/lib/examples/alpha-orbitals/index.js +4 -5
- package/lib/examples/basic-wrapper/index.html +137 -136
- package/lib/examples/basic-wrapper/index.js +24 -12
- package/lib/examples/lighting/index.d.ts +1 -1
- package/lib/examples/lighting/index.html +88 -86
- package/lib/examples/lighting/index.js +58 -42
- package/lib/examples/proteopedia-wrapper/index.html +236 -235
- package/lib/examples/proteopedia-wrapper/index.js +27 -15
- package/lib/extensions/alpha-orbitals/transforms.d.ts +0 -1
- package/lib/extensions/alpha-orbitals/transforms.js +1 -14
- package/lib/extensions/anvil/behavior.d.ts +4 -0
- package/lib/extensions/anvil/representation.d.ts +50 -0
- package/lib/extensions/cellpack/representation.d.ts +10 -0
- package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
- package/lib/extensions/geo-export/mesh-exporter.js +4 -4
- package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
- package/lib/extensions/model-archive/quality-assessment/behavior.js +233 -0
- package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
- package/lib/extensions/model-archive/quality-assessment/color/plddt.js +120 -0
- package/lib/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
- package/lib/extensions/model-archive/quality-assessment/color/qmean.js +106 -0
- package/lib/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
- package/lib/extensions/model-archive/quality-assessment/prop.js +127 -0
- package/lib/extensions/pdbe/structure-quality-report/prop.js +1 -1
- package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
- package/lib/extensions/rcsb/assembly-symmetry/prop.js +1 -1
- package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
- package/lib/extensions/rcsb/validation-report/prop.js +1 -1
- package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
- package/lib/mol-canvas3d/canvas3d.d.ts +3 -9
- package/lib/mol-canvas3d/canvas3d.js +34 -23
- package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
- package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
- package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
- package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
- package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
- package/lib/mol-canvas3d/passes/draw.d.ts +13 -1
- package/lib/mol-canvas3d/passes/draw.js +16 -15
- package/lib/mol-canvas3d/passes/image.d.ts +1 -0
- package/lib/mol-canvas3d/passes/image.js +3 -2
- package/lib/mol-canvas3d/passes/marking.js +1 -1
- package/lib/mol-canvas3d/passes/multi-sample.d.ts +10 -2
- package/lib/mol-canvas3d/passes/multi-sample.js +18 -14
- package/lib/mol-canvas3d/passes/pick.js +11 -11
- package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
- package/lib/mol-canvas3d/passes/smaa.js +1 -1
- package/lib/mol-geo/geometry/base.d.ts +18 -0
- package/lib/mol-geo/geometry/base.js +18 -1
- package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
- package/lib/mol-geo/geometry/clipping-data.js +3 -8
- package/lib/mol-geo/geometry/color-data.d.ts +1 -1
- package/lib/mol-geo/geometry/color-data.js +22 -0
- package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
- package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
- package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
- package/lib/mol-geo/geometry/direct-volume/direct-volume.js +22 -67
- package/lib/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
- package/lib/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
- package/lib/mol-geo/geometry/image/image.d.ts +10 -0
- package/lib/mol-geo/geometry/image/image.js +1 -1
- package/lib/mol-geo/geometry/lines/lines.d.ts +11 -0
- package/lib/mol-geo/geometry/lines/lines.js +1 -1
- package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
- package/lib/mol-geo/geometry/marker-data.js +13 -9
- package/lib/mol-geo/geometry/mesh/mesh.d.ts +10 -0
- package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
- package/lib/mol-geo/geometry/points/points.d.ts +11 -1
- package/lib/mol-geo/geometry/points/points.js +1 -1
- package/lib/mol-geo/geometry/size-data.js +5 -5
- package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
- package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
- package/lib/mol-geo/geometry/text/text.d.ts +10 -0
- package/lib/mol-geo/geometry/text/text.js +1 -1
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
- package/lib/mol-gl/compute/histogram-pyramid/sum.js +2 -2
- package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
- package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -9
- package/lib/mol-gl/render-object.d.ts +2 -1
- package/lib/mol-gl/render-object.js +10 -10
- package/lib/mol-gl/renderable/cylinders.d.ts +11 -5
- package/lib/mol-gl/renderable/cylinders.js +3 -3
- package/lib/mol-gl/renderable/direct-volume.d.ts +15 -14
- package/lib/mol-gl/renderable/direct-volume.js +3 -3
- package/lib/mol-gl/renderable/image.d.ts +10 -4
- package/lib/mol-gl/renderable/image.js +2 -2
- package/lib/mol-gl/renderable/lines.d.ts +39 -33
- package/lib/mol-gl/renderable/lines.js +4 -4
- package/lib/mol-gl/renderable/mesh.d.ts +11 -5
- package/lib/mol-gl/renderable/mesh.js +3 -3
- package/lib/mol-gl/renderable/points.d.ts +10 -4
- package/lib/mol-gl/renderable/points.js +2 -2
- package/lib/mol-gl/renderable/schema.d.ts +10 -11
- package/lib/mol-gl/renderable/schema.js +4 -10
- package/lib/mol-gl/renderable/spheres.d.ts +11 -5
- package/lib/mol-gl/renderable/spheres.js +3 -3
- package/lib/mol-gl/renderable/text.d.ts +10 -4
- package/lib/mol-gl/renderable/text.js +2 -2
- package/lib/mol-gl/renderable/texture-mesh.d.ts +11 -6
- package/lib/mol-gl/renderable/texture-mesh.js +3 -3
- package/lib/mol-gl/renderable.d.ts +0 -1
- package/lib/mol-gl/renderer.d.ts +12 -12
- package/lib/mol-gl/renderer.js +24 -93
- package/lib/mol-gl/scene.d.ts +2 -2
- package/lib/mol-gl/scene.js +7 -5
- 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/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-group.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-marker-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/assign-position.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-size.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/chunks/common-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.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/gaussian-density.frag.d.ts +1 -1
- package/lib/mol-gl/shader/gaussian-density.frag.js +1 -1
- package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
- package/lib/mol-gl/shader/histogram-pyramid/reduction.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/marching-cubes/isosurface.frag.d.ts +1 -1
- package/lib/mol-gl/shader/marching-cubes/isosurface.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/mesh.vert.d.ts +1 -1
- package/lib/mol-gl/shader/mesh.vert.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-code.d.ts +3 -1
- package/lib/mol-gl/shader-code.js +43 -14
- package/lib/mol-gl/webgl/render-item.d.ts +7 -6
- package/lib/mol-gl/webgl/render-item.js +8 -6
- package/lib/mol-gl/webgl/resources.js +8 -1
- package/lib/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
- package/lib/mol-io/reader/cif/schema/mmcif.js +326 -1
- package/lib/mol-io/reader/mol2/parser.d.ts +1 -1
- package/lib/mol-io/reader/mol2/parser.js +33 -3
- package/lib/mol-io/reader/mol2/schema.d.ts +12 -1
- package/lib/mol-io/reader/mol2/schema.js +1 -1
- package/lib/mol-math/geometry/gaussian-density/gpu.js +2 -2
- package/lib/mol-math/geometry/symmetry-operator.js +3 -2
- package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
- package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
- package/lib/mol-model/structure/model/model.d.ts +1 -0
- package/lib/mol-model/structure/model/model.js +8 -2
- package/lib/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
- package/lib/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
- package/lib/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
- package/lib/mol-model/structure/model/properties/utils/atomic-derived.js +5 -2
- package/lib/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
- package/lib/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
- package/lib/mol-model/structure/model/types.js +9 -0
- package/lib/mol-model/structure/structure/element/stats.js +8 -0
- package/lib/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
- package/lib/mol-model/structure/structure/unit/bonds/common.js +9 -1
- package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
- package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -11
- package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
- package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +22 -12
- package/lib/mol-model/structure/structure/unit/rings.js +2 -0
- package/lib/mol-model-formats/shape/ply.d.ts +20 -0
- package/lib/mol-model-formats/structure/mol2.d.ts +1 -1
- package/lib/mol-model-formats/structure/mol2.js +37 -7
- package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
- package/lib/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
- package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
- package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
- package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
- package/lib/mol-plugin/behavior/dynamic/representation.js +4 -6
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
- package/lib/mol-plugin/commands.d.ts +1 -4
- package/lib/mol-plugin/config.d.ts +2 -2
- package/lib/mol-plugin/config.js +4 -23
- package/lib/mol-plugin/features.d.ts +9 -0
- package/lib/mol-plugin/features.js +35 -0
- package/lib/mol-plugin/spec.js +1 -0
- package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/actions/structure.d.ts +8 -1
- package/lib/mol-plugin-state/actions/structure.js +183 -72
- package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
- package/lib/mol-plugin-state/builder/structure/hierarchy-preset.js +14 -9
- package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
- package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
- package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
- package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
- package/lib/mol-plugin-state/helpers/structure-selection-query.js +34 -20
- package/lib/mol-plugin-state/manager/structure/component.d.ts +13 -1
- package/lib/mol-plugin-state/manager/structure/component.js +14 -9
- package/lib/mol-plugin-state/manager/structure/selection.js +3 -1
- package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
- package/lib/mol-plugin-state/transforms/representation.js +2 -2
- package/lib/mol-plugin-ui/index.d.ts +4 -4
- package/lib/mol-plugin-ui/index.js +11 -13
- package/lib/mol-plugin-ui/plugin.js +1 -1
- 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 +127 -127
- 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/viewport/simple-settings.js +2 -6
- package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
- package/lib/mol-repr/shape/loci/common.d.ts +10 -0
- package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
- package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
- package/lib/mol-repr/shape/loci/label.d.ts +10 -0
- package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
- package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
- package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
- package/lib/mol-repr/structure/complex-representation.js +1 -1
- package/lib/mol-repr/structure/complex-visual.d.ts +61 -19
- package/lib/mol-repr/structure/params.d.ts +81 -19
- package/lib/mol-repr/structure/registry.d.ts +141 -19
- package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
- package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
- package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
- package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
- package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.js +1 -1
- package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
- package/lib/mol-repr/structure/representation/gaussian-volume.js +2 -7
- package/lib/mol-repr/structure/representation/label.d.ts +30 -0
- package/lib/mol-repr/structure/representation/label.js +1 -1
- package/lib/mol-repr/structure/representation/line.d.ts +30 -0
- package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
- package/lib/mol-repr/structure/representation/molecular-surface.js +1 -1
- package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
- package/lib/mol-repr/structure/representation/point.d.ts +30 -0
- package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
- package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
- package/lib/mol-repr/structure/units-representation.js +1 -1
- package/lib/mol-repr/structure/units-visual.d.ts +81 -19
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
- package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
- package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
- package/lib/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
- package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
- package/lib/mol-repr/structure/visual/label-text.js +1 -2
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
- package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
- package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
- package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/util/bond.js +1 -1
- package/lib/mol-repr/structure/visual/util/common.d.ts +3 -2
- package/lib/mol-repr/structure/visual/util/common.js +2 -5
- package/lib/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
- package/lib/mol-repr/structure/visual/util/gaussian.js +12 -12
- package/lib/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
- package/lib/mol-repr/structure/visual/util/molecular-surface.js +4 -4
- package/lib/mol-repr/visual.js +11 -7
- package/lib/mol-repr/volume/direct-volume.d.ts +33 -57
- package/lib/mol-repr/volume/direct-volume.js +8 -12
- package/lib/mol-repr/volume/isosurface.d.ts +60 -0
- package/lib/mol-repr/volume/isosurface.js +11 -2
- package/lib/mol-repr/volume/registry.d.ts +31 -19
- package/lib/mol-repr/volume/representation.d.ts +10 -0
- package/lib/mol-repr/volume/slice.d.ts +30 -0
- package/lib/mol-repr/volume/slice.js +2 -2
- package/lib/mol-repr/volume/util.js +2 -2
- package/lib/mol-script/language/builder.d.ts +0 -1
- package/lib/mol-theme/clipping.d.ts +7 -15
- package/lib/mol-theme/clipping.js +5 -12
- package/lib/mol-theme/color/volume-value.d.ts +17 -0
- package/lib/mol-theme/color/volume-value.js +52 -0
- package/lib/mol-theme/color.d.ts +3 -0
- package/lib/mol-theme/color.js +2 -0
- package/lib/mol-util/clip.d.ts +49 -0
- package/lib/mol-util/clip.js +93 -0
- package/lib/mol-util/number-packing.d.ts +11 -0
- package/lib/mol-util/{float-packing.js → number-packing.js} +7 -14
- package/package.json +162 -162
- package/lib/commonjs/mol-util/float-packing.d.ts +0 -15
- package/lib/mol-util/float-packing.d.ts +0 -15
|
@@ -32,6 +32,7 @@ function _createColors(locationIt, positionIt, colorTheme, colorData) {
|
|
|
32
32
|
case 'vertexInstance': return createVertexInstanceColor(positionIt, colorTheme.color, colorData);
|
|
33
33
|
case 'volume': return createGridColor(colorTheme.grid, 'volume', colorData);
|
|
34
34
|
case 'volumeInstance': return createGridColor(colorTheme.grid, 'volumeInstance', colorData);
|
|
35
|
+
case 'direct': return createDirectColor(colorData);
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
function updatePaletteTexture(palette, cell) {
|
|
@@ -203,4 +204,25 @@ export function createGridColor(grid, type, colorData) {
|
|
|
203
204
|
};
|
|
204
205
|
}
|
|
205
206
|
}
|
|
207
|
+
//
|
|
208
|
+
/** Creates direct color */
|
|
209
|
+
function createDirectColor(colorData) {
|
|
210
|
+
if (colorData) {
|
|
211
|
+
ValueCell.updateIfChanged(colorData.dColorType, 'direct');
|
|
212
|
+
return colorData;
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
return {
|
|
216
|
+
uColor: ValueCell.create(Vec3()),
|
|
217
|
+
tColor: ValueCell.create({ array: new Uint8Array(3), width: 1, height: 1 }),
|
|
218
|
+
tColorGrid: ValueCell.create(createNullTexture()),
|
|
219
|
+
tPalette: ValueCell.create({ array: new Uint8Array(3), width: 1, height: 1 }),
|
|
220
|
+
uColorTexDim: ValueCell.create(Vec2.create(1, 1)),
|
|
221
|
+
uColorGridDim: ValueCell.create(Vec3.create(1, 1, 1)),
|
|
222
|
+
uColorGridTransform: ValueCell.create(Vec4.create(0, 0, 0, 1)),
|
|
223
|
+
dColorType: ValueCell.create('direct'),
|
|
224
|
+
dUsePalette: ValueCell.create(false),
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
}
|
|
206
228
|
//# sourceMappingURL=color-data.js.map
|
|
@@ -48,10 +48,20 @@ export declare namespace Cylinders {
|
|
|
48
48
|
alpha: PD.Numeric;
|
|
49
49
|
quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
|
|
50
50
|
material: PD.Group<PD.Normalize<{
|
|
51
|
-
metalness: number;
|
|
52
|
-
roughness: number;
|
|
51
|
+
metalness: number; /** Number of cylinders */
|
|
52
|
+
roughness: number;
|
|
53
53
|
bumpiness: number;
|
|
54
54
|
}>>;
|
|
55
|
+
clip: PD.Group<PD.Normalize<{
|
|
56
|
+
variant: import("../../../mol-util/clip").Clip.Variant;
|
|
57
|
+
objects: PD.Normalize<{
|
|
58
|
+
type: any;
|
|
59
|
+
invert: any;
|
|
60
|
+
position: any;
|
|
61
|
+
rotation: any;
|
|
62
|
+
scale: any;
|
|
63
|
+
}>[];
|
|
64
|
+
}>>;
|
|
55
65
|
};
|
|
56
66
|
type Params = typeof Params;
|
|
57
67
|
const Utils: GeometryUtils<Cylinders, Params>;
|
|
@@ -153,7 +153,7 @@ export var Cylinders;
|
|
|
153
153
|
var padding = getMaxSize(size) * props.sizeFactor;
|
|
154
154
|
var invariantBoundingSphere = Sphere3D.clone(cylinders.boundingSphere);
|
|
155
155
|
var boundingSphere = calculateTransformBoundingSphere(invariantBoundingSphere, transform.aTransform.ref.value, instanceCount);
|
|
156
|
-
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ aMapping: cylinders.mappingBuffer, aGroup: cylinders.groupBuffer, aStart: cylinders.startBuffer, aEnd: cylinders.endBuffer, aScale: cylinders.scaleBuffer, aCap: cylinders.capBuffer, elements: cylinders.indexBuffer, boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)) }, color), size), marker), overpaint), transparency), material), clipping), transform), { padding: ValueCell.create(padding) }), BaseGeometry.createValues(props, counts)), { uSizeFactor: ValueCell.create(props.sizeFactor * props.sizeAspectRatio),
|
|
156
|
+
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ dGeometryType: ValueCell.create('cylinders'), aMapping: cylinders.mappingBuffer, aGroup: cylinders.groupBuffer, aStart: cylinders.startBuffer, aEnd: cylinders.endBuffer, aScale: cylinders.scaleBuffer, aCap: cylinders.capBuffer, elements: cylinders.indexBuffer, boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)) }, color), size), marker), overpaint), transparency), material), clipping), transform), { padding: ValueCell.create(padding) }), BaseGeometry.createValues(props, counts)), { uSizeFactor: ValueCell.create(props.sizeFactor * props.sizeAspectRatio), uDoubleSided: ValueCell.create(props.doubleSided), dIgnoreLight: ValueCell.create(props.ignoreLight), dXrayShaded: ValueCell.create(props.xrayShaded), uBumpFrequency: ValueCell.create(props.bumpFrequency), uBumpAmplitude: ValueCell.create(props.bumpAmplitude) });
|
|
157
157
|
}
|
|
158
158
|
function createValuesSimple(cylinders, props, colorValue, sizeValue, transform) {
|
|
159
159
|
var s = BaseGeometry.createSimple(colorValue, sizeValue, transform);
|
|
@@ -163,7 +163,7 @@ export var Cylinders;
|
|
|
163
163
|
function updateValues(values, props) {
|
|
164
164
|
BaseGeometry.updateValues(values, props);
|
|
165
165
|
ValueCell.updateIfChanged(values.uSizeFactor, props.sizeFactor * props.sizeAspectRatio);
|
|
166
|
-
ValueCell.updateIfChanged(values.
|
|
166
|
+
ValueCell.updateIfChanged(values.uDoubleSided, props.doubleSided);
|
|
167
167
|
ValueCell.updateIfChanged(values.dIgnoreLight, props.ignoreLight);
|
|
168
168
|
ValueCell.updateIfChanged(values.dXrayShaded, props.xrayShaded);
|
|
169
169
|
ValueCell.updateIfChanged(values.uBumpFrequency, props.bumpFrequency);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
6
6
|
import { Texture } from '../../../mol-gl/webgl/texture';
|
|
7
7
|
import { Box3D, Sphere3D } from '../../../mol-math/geometry';
|
|
8
|
-
import { Mat4,
|
|
8
|
+
import { Mat4, Vec3, Vec4 } from '../../../mol-math/linear-algebra';
|
|
9
9
|
import { ValueCell } from '../../../mol-util';
|
|
10
10
|
import { ParamDefinition as PD } from '../../../mol-util/param-definition';
|
|
11
11
|
import { GeometryUtils } from '../geometry';
|
|
@@ -24,51 +24,18 @@ export interface DirectVolume {
|
|
|
24
24
|
readonly unitToCartn: ValueCell<Mat4>;
|
|
25
25
|
readonly cartnToUnit: ValueCell<Mat4>;
|
|
26
26
|
readonly packedGroup: ValueCell<boolean>;
|
|
27
|
+
readonly axisOrder: ValueCell<Vec3>;
|
|
27
28
|
/** Bounding sphere of the volume */
|
|
28
29
|
readonly boundingSphere: Sphere3D;
|
|
29
30
|
setBoundingSphere(boundingSphere: Sphere3D): void;
|
|
30
31
|
}
|
|
31
32
|
export declare namespace DirectVolume {
|
|
32
|
-
function create(bbox: Box3D, gridDimension: Vec3, transform: Mat4, unitToCartn: Mat4, cellDim: Vec3, texture: Texture, stats: Grid['stats'], packedGroup: boolean, directVolume?: DirectVolume): DirectVolume;
|
|
33
|
+
function create(bbox: Box3D, gridDimension: Vec3, transform: Mat4, unitToCartn: Mat4, cellDim: Vec3, texture: Texture, stats: Grid['stats'], packedGroup: boolean, axisOrder: Vec3, directVolume?: DirectVolume): DirectVolume;
|
|
33
34
|
function createEmpty(directVolume?: DirectVolume): DirectVolume;
|
|
34
|
-
function createRenderModeParam(stats?: Grid['stats']): PD.Mapped<PD.NamedParams<PD.Normalize<{
|
|
35
|
-
controlPoints: Vec2[];
|
|
36
|
-
list: {
|
|
37
|
-
kind: "set" | "interpolate";
|
|
38
|
-
colors: import("../../../mol-util/color/color").ColorListEntry[];
|
|
39
|
-
};
|
|
40
|
-
}>, "volume"> | PD.NamedParams<PD.Normalize<{
|
|
41
|
-
isoValue: Readonly<{
|
|
42
|
-
kind: "absolute";
|
|
43
|
-
absoluteValue: number;
|
|
44
|
-
}> | Readonly<{
|
|
45
|
-
kind: "relative";
|
|
46
|
-
relativeValue: number;
|
|
47
|
-
}>;
|
|
48
|
-
singleLayer: boolean;
|
|
49
|
-
}>, "isosurface">>;
|
|
50
35
|
const Params: {
|
|
51
|
-
doubleSided: PD.BooleanParam;
|
|
52
|
-
flipSided: PD.BooleanParam;
|
|
53
|
-
flatShaded: PD.BooleanParam;
|
|
54
36
|
ignoreLight: PD.BooleanParam;
|
|
55
37
|
xrayShaded: PD.BooleanParam;
|
|
56
|
-
|
|
57
|
-
controlPoints: Vec2[];
|
|
58
|
-
list: {
|
|
59
|
-
kind: "set" | "interpolate";
|
|
60
|
-
colors: import("../../../mol-util/color/color").ColorListEntry[];
|
|
61
|
-
};
|
|
62
|
-
}>, "volume"> | PD.NamedParams<PD.Normalize<{
|
|
63
|
-
isoValue: Readonly<{
|
|
64
|
-
kind: "absolute";
|
|
65
|
-
absoluteValue: number;
|
|
66
|
-
}> | Readonly<{
|
|
67
|
-
kind: "relative";
|
|
68
|
-
relativeValue: number;
|
|
69
|
-
}>;
|
|
70
|
-
singleLayer: boolean;
|
|
71
|
-
}>, "isosurface">>;
|
|
38
|
+
controlPoints: PD.LineGraph;
|
|
72
39
|
stepsPerCell: PD.Numeric;
|
|
73
40
|
jumpLength: PD.Numeric;
|
|
74
41
|
alpha: PD.Numeric;
|
|
@@ -78,6 +45,16 @@ export declare namespace DirectVolume {
|
|
|
78
45
|
roughness: number;
|
|
79
46
|
bumpiness: number;
|
|
80
47
|
}>>;
|
|
48
|
+
clip: PD.Group<PD.Normalize<{
|
|
49
|
+
variant: import("../../../mol-util/clip").Clip.Variant;
|
|
50
|
+
objects: PD.Normalize<{
|
|
51
|
+
type: any;
|
|
52
|
+
invert: any;
|
|
53
|
+
position: any;
|
|
54
|
+
rotation: any;
|
|
55
|
+
scale: any;
|
|
56
|
+
}>[];
|
|
57
|
+
}>>;
|
|
81
58
|
};
|
|
82
59
|
type Params = typeof Params;
|
|
83
60
|
const Utils: GeometryUtils<DirectVolume, Params>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
@@ -20,16 +20,15 @@ import { createEmptyOverpaint } from '../overpaint-data';
|
|
|
20
20
|
import { createEmptyTransparency } from '../transparency-data';
|
|
21
21
|
import { createTransferFunctionTexture, getControlPointsFromVec2Array } from './transfer-function';
|
|
22
22
|
import { createEmptyClipping } from '../clipping-data';
|
|
23
|
-
import { Grid
|
|
24
|
-
import { ColorNames } from '../../../mol-util/color/names';
|
|
23
|
+
import { Grid } from '../../../mol-model/volume';
|
|
25
24
|
import { createEmptySubstance } from '../substance-data';
|
|
26
25
|
var VolumeBox = Box();
|
|
27
26
|
export var DirectVolume;
|
|
28
27
|
(function (DirectVolume) {
|
|
29
|
-
function create(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup, directVolume) {
|
|
28
|
+
function create(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup, axisOrder, directVolume) {
|
|
30
29
|
return directVolume ?
|
|
31
|
-
update(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup, directVolume) :
|
|
32
|
-
fromData(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup);
|
|
30
|
+
update(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup, axisOrder, directVolume) :
|
|
31
|
+
fromData(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup, axisOrder);
|
|
33
32
|
}
|
|
34
33
|
DirectVolume.create = create;
|
|
35
34
|
function hashCode(directVolume) {
|
|
@@ -39,7 +38,7 @@ export var DirectVolume;
|
|
|
39
38
|
directVolume.gridStats.ref.version
|
|
40
39
|
]);
|
|
41
40
|
}
|
|
42
|
-
function fromData(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup) {
|
|
41
|
+
function fromData(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup, axisOrder) {
|
|
43
42
|
var boundingSphere = Sphere3D();
|
|
44
43
|
var currentHash = -1;
|
|
45
44
|
var width = texture.getWidth();
|
|
@@ -68,6 +67,7 @@ export var DirectVolume;
|
|
|
68
67
|
return boundingSphere;
|
|
69
68
|
},
|
|
70
69
|
packedGroup: ValueCell.create(packedGroup),
|
|
70
|
+
axisOrder: ValueCell.create(axisOrder),
|
|
71
71
|
setBoundingSphere: function (sphere) {
|
|
72
72
|
Sphere3D.copy(boundingSphere, sphere);
|
|
73
73
|
currentHash = hashCode(directVolume);
|
|
@@ -75,7 +75,7 @@ export var DirectVolume;
|
|
|
75
75
|
};
|
|
76
76
|
return directVolume;
|
|
77
77
|
}
|
|
78
|
-
function update(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup, directVolume) {
|
|
78
|
+
function update(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup, axisOrder, directVolume) {
|
|
79
79
|
var width = texture.getWidth();
|
|
80
80
|
var height = texture.getHeight();
|
|
81
81
|
var depth = texture.getDepth();
|
|
@@ -91,6 +91,7 @@ export var DirectVolume;
|
|
|
91
91
|
ValueCell.update(directVolume.unitToCartn, unitToCartn);
|
|
92
92
|
ValueCell.update(directVolume.cartnToUnit, Mat4.invert(Mat4(), unitToCartn));
|
|
93
93
|
ValueCell.updateIfChanged(directVolume.packedGroup, packedGroup);
|
|
94
|
+
ValueCell.updateIfChanged(directVolume.axisOrder, Vec3.fromArray(directVolume.axisOrder.ref.value, axisOrder, 0));
|
|
94
95
|
return directVolume;
|
|
95
96
|
}
|
|
96
97
|
function createEmpty(directVolume) {
|
|
@@ -102,38 +103,14 @@ export var DirectVolume;
|
|
|
102
103
|
var texture = createNullTexture();
|
|
103
104
|
var stats = Grid.One.stats;
|
|
104
105
|
var packedGroup = false;
|
|
105
|
-
|
|
106
|
+
var axisOrder = Vec3.create(0, 1, 2);
|
|
107
|
+
return create(bbox, gridDimension, transform, unitToCartn, cellDim, texture, stats, packedGroup, axisOrder, directVolume);
|
|
106
108
|
}
|
|
107
109
|
DirectVolume.createEmpty = createEmpty;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
return PD.MappedStatic('volume', {
|
|
113
|
-
isosurface: PD.Group({
|
|
114
|
-
isoValue: isoValueParam,
|
|
115
|
-
singleLayer: PD.Boolean(false, { isEssential: true }),
|
|
116
|
-
}, { isFlat: true }),
|
|
117
|
-
volume: PD.Group({
|
|
118
|
-
controlPoints: PD.LineGraph([
|
|
119
|
-
Vec2.create(0.19, 0.0), Vec2.create(0.2, 0.05), Vec2.create(0.25, 0.05), Vec2.create(0.26, 0.0),
|
|
120
|
-
Vec2.create(0.79, 0.0), Vec2.create(0.8, 0.05), Vec2.create(0.85, 0.05), Vec2.create(0.86, 0.0),
|
|
121
|
-
]),
|
|
122
|
-
list: PD.ColorList({
|
|
123
|
-
kind: 'interpolate',
|
|
124
|
-
colors: [
|
|
125
|
-
[ColorNames.white, 0],
|
|
126
|
-
[ColorNames.red, 0.25],
|
|
127
|
-
[ColorNames.white, 0.5],
|
|
128
|
-
[ColorNames.blue, 0.75],
|
|
129
|
-
[ColorNames.white, 1]
|
|
130
|
-
]
|
|
131
|
-
}, { offsets: true }),
|
|
132
|
-
}, { isFlat: true })
|
|
133
|
-
}, { isEssential: true });
|
|
134
|
-
}
|
|
135
|
-
DirectVolume.createRenderModeParam = createRenderModeParam;
|
|
136
|
-
DirectVolume.Params = __assign(__assign({}, BaseGeometry.Params), { doubleSided: PD.Boolean(false, BaseGeometry.CustomQualityParamInfo), flipSided: PD.Boolean(false, BaseGeometry.ShadingCategory), flatShaded: PD.Boolean(false, BaseGeometry.ShadingCategory), ignoreLight: PD.Boolean(false, BaseGeometry.ShadingCategory), xrayShaded: PD.Boolean(false, BaseGeometry.ShadingCategory), renderMode: createRenderModeParam(), stepsPerCell: PD.Numeric(5, { min: 1, max: 20, step: 1 }), jumpLength: PD.Numeric(0, { min: 0, max: 20, step: 0.1 }) });
|
|
110
|
+
DirectVolume.Params = __assign(__assign({}, BaseGeometry.Params), { ignoreLight: PD.Boolean(false, BaseGeometry.ShadingCategory), xrayShaded: PD.Boolean(false, BaseGeometry.ShadingCategory), controlPoints: PD.LineGraph([
|
|
111
|
+
Vec2.create(0.19, 0.0), Vec2.create(0.2, 0.05), Vec2.create(0.25, 0.05), Vec2.create(0.26, 0.0),
|
|
112
|
+
Vec2.create(0.79, 0.0), Vec2.create(0.8, 0.05), Vec2.create(0.85, 0.05), Vec2.create(0.86, 0.0),
|
|
113
|
+
], { isEssential: true }), stepsPerCell: PD.Numeric(3, { min: 1, max: 10, step: 1 }), jumpLength: PD.Numeric(0, { min: 0, max: 20, step: 0.1 }) });
|
|
137
114
|
DirectVolume.Utils = {
|
|
138
115
|
Params: DirectVolume.Params,
|
|
139
116
|
createEmpty: createEmpty,
|
|
@@ -166,12 +143,6 @@ export var DirectVolume;
|
|
|
166
143
|
};
|
|
167
144
|
return LocationIterator(groupCount, instanceCount, 1, getLocation);
|
|
168
145
|
}
|
|
169
|
-
function getNormalizedIsoValue(out, isoValue, stats) {
|
|
170
|
-
var min = stats[0], max = stats[1], mean = stats[2], sigma = stats[3];
|
|
171
|
-
var value = Volume.IsoValue.toAbsolute(isoValue, { min: min, max: max, mean: mean, sigma: sigma }).absoluteValue;
|
|
172
|
-
Vec2.set(out, (value - min) / (max - min), (0 - min) / (max - min));
|
|
173
|
-
return out;
|
|
174
|
-
}
|
|
175
146
|
function getMaxSteps(gridDim, stepsPerCell) {
|
|
176
147
|
return Math.ceil(Vec3.magnitude(gridDim) * stepsPerCell);
|
|
177
148
|
}
|
|
@@ -196,15 +167,9 @@ export var DirectVolume;
|
|
|
196
167
|
var counts = { drawCount: VolumeBox.indices.length, vertexCount: x * y * z, groupCount: groupCount, instanceCount: instanceCount };
|
|
197
168
|
var invariantBoundingSphere = Sphere3D.clone(directVolume.boundingSphere);
|
|
198
169
|
var boundingSphere = calculateTransformBoundingSphere(invariantBoundingSphere, transform.aTransform.ref.value, instanceCount);
|
|
199
|
-
var controlPoints =
|
|
200
|
-
var transferTex = createTransferFunctionTexture(controlPoints
|
|
201
|
-
|
|
202
|
-
? props.renderMode.params.isoValue
|
|
203
|
-
: Volume.IsoValue.relative(2);
|
|
204
|
-
var singleLayer = props.renderMode.name === 'isosurface'
|
|
205
|
-
? props.renderMode.params.singleLayer
|
|
206
|
-
: false;
|
|
207
|
-
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, color), marker), overpaint), transparency), material), clipping), transform), BaseGeometry.createValues(props, counts)), { aPosition: ValueCell.create(VolumeBox.vertices), elements: ValueCell.create(VolumeBox.indices), boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)), uIsoValue: ValueCell.create(getNormalizedIsoValue(Vec2(), isoValue, directVolume.gridStats.ref.value)), uBboxMin: bboxMin, uBboxMax: bboxMax, uBboxSize: bboxSize, uMaxSteps: ValueCell.create(getMaxSteps(gridDimension.ref.value, props.stepsPerCell)), uStepScale: ValueCell.create(getStepScale(directVolume.cellDim.ref.value, props.stepsPerCell)), uJumpLength: ValueCell.create(props.jumpLength), uTransform: gridTransform, uGridDim: gridDimension, dRenderMode: ValueCell.create(props.renderMode.name), tTransferTex: transferTex, uTransferScale: ValueCell.create(getTransferScale(props.stepsPerCell)), dGridTexType: ValueCell.create(gridTexture.ref.value.getDepth() > 0 ? '3d' : '2d'), uGridTexDim: gridTextureDim, tGridTex: gridTexture, uGridStats: gridStats, uCellDim: directVolume.cellDim, uCartnToUnit: directVolume.cartnToUnit, uUnitToCartn: directVolume.unitToCartn, dPackedGroup: directVolume.packedGroup, dSingleLayer: ValueCell.create(singleLayer), dDoubleSided: ValueCell.create(props.doubleSided), dFlatShaded: ValueCell.create(props.flatShaded), dFlipSided: ValueCell.create(props.flipSided), dIgnoreLight: ValueCell.create(props.ignoreLight), dXrayShaded: ValueCell.create(props.xrayShaded) });
|
|
170
|
+
var controlPoints = getControlPointsFromVec2Array(props.controlPoints);
|
|
171
|
+
var transferTex = createTransferFunctionTexture(controlPoints);
|
|
172
|
+
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ dGeometryType: ValueCell.create('directVolume') }, color), marker), overpaint), transparency), material), clipping), transform), BaseGeometry.createValues(props, counts)), { aPosition: ValueCell.create(VolumeBox.vertices), elements: ValueCell.create(VolumeBox.indices), boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)), uBboxMin: bboxMin, uBboxMax: bboxMax, uBboxSize: bboxSize, uMaxSteps: ValueCell.create(getMaxSteps(gridDimension.ref.value, props.stepsPerCell)), uStepScale: ValueCell.create(getStepScale(directVolume.cellDim.ref.value, props.stepsPerCell)), uJumpLength: ValueCell.create(props.jumpLength), uTransform: gridTransform, uGridDim: gridDimension, tTransferTex: transferTex, uTransferScale: ValueCell.create(getTransferScale(props.stepsPerCell)), dGridTexType: ValueCell.create(gridTexture.ref.value.getDepth() > 0 ? '3d' : '2d'), uGridTexDim: gridTextureDim, tGridTex: gridTexture, uGridStats: gridStats, uCellDim: directVolume.cellDim, uCartnToUnit: directVolume.cartnToUnit, uUnitToCartn: directVolume.unitToCartn, dPackedGroup: directVolume.packedGroup, dAxisOrder: ValueCell.create(directVolume.axisOrder.ref.value.join('')), dIgnoreLight: ValueCell.create(props.ignoreLight), dXrayShaded: ValueCell.create(props.xrayShaded) });
|
|
208
173
|
}
|
|
209
174
|
function createValuesSimple(directVolume, props, colorValue, sizeValue, transform) {
|
|
210
175
|
var s = BaseGeometry.createSimple(colorValue, sizeValue, transform);
|
|
@@ -213,20 +178,10 @@ export var DirectVolume;
|
|
|
213
178
|
}
|
|
214
179
|
function updateValues(values, props) {
|
|
215
180
|
BaseGeometry.updateValues(values, props);
|
|
216
|
-
ValueCell.updateIfChanged(values.dDoubleSided, props.doubleSided);
|
|
217
|
-
ValueCell.updateIfChanged(values.dFlatShaded, props.flatShaded);
|
|
218
|
-
ValueCell.updateIfChanged(values.dFlipSided, props.flipSided);
|
|
219
181
|
ValueCell.updateIfChanged(values.dIgnoreLight, props.ignoreLight);
|
|
220
182
|
ValueCell.updateIfChanged(values.dXrayShaded, props.xrayShaded);
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
ValueCell.updateIfChanged(values.uIsoValue, getNormalizedIsoValue(values.uIsoValue.ref.value, props.renderMode.params.isoValue, values.uGridStats.ref.value));
|
|
224
|
-
ValueCell.updateIfChanged(values.dSingleLayer, props.renderMode.params.singleLayer);
|
|
225
|
-
}
|
|
226
|
-
else if (props.renderMode.name === 'volume') {
|
|
227
|
-
var controlPoints = getControlPointsFromVec2Array(props.renderMode.params.controlPoints);
|
|
228
|
-
createTransferFunctionTexture(controlPoints, props.renderMode.params.list.colors, values.tTransferTex);
|
|
229
|
-
}
|
|
183
|
+
var controlPoints = getControlPointsFromVec2Array(props.controlPoints);
|
|
184
|
+
createTransferFunctionTexture(controlPoints, values.tTransferTex);
|
|
230
185
|
ValueCell.updateIfChanged(values.uMaxSteps, getMaxSteps(values.uGridDim.ref.value, props.stepsPerCell));
|
|
231
186
|
ValueCell.updateIfChanged(values.uStepScale, getStepScale(values.uCellDim.ref.value, props.stepsPerCell));
|
|
232
187
|
ValueCell.updateIfChanged(values.uTransferScale, getTransferScale(props.stepsPerCell));
|
|
@@ -246,13 +201,13 @@ export var DirectVolume;
|
|
|
246
201
|
function createRenderableState(props) {
|
|
247
202
|
var state = BaseGeometry.createRenderableState(props);
|
|
248
203
|
state.opaque = false;
|
|
249
|
-
state.writeDepth =
|
|
204
|
+
state.writeDepth = false;
|
|
250
205
|
return state;
|
|
251
206
|
}
|
|
252
207
|
function updateRenderableState(state, props) {
|
|
253
208
|
BaseGeometry.updateRenderableState(state, props);
|
|
254
209
|
state.opaque = false;
|
|
255
|
-
state.writeDepth =
|
|
210
|
+
state.writeDepth = false;
|
|
256
211
|
}
|
|
257
212
|
})(DirectVolume || (DirectVolume = {}));
|
|
258
213
|
//
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
2
|
+
* Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
6
6
|
import { TextureImage } from '../../../mol-gl/renderable/util';
|
|
7
7
|
import { ValueCell } from '../../../mol-util';
|
|
8
8
|
import { Vec2 } from '../../../mol-math/linear-algebra';
|
|
9
|
-
import { ColorListName } from '../../../mol-util/color/lists';
|
|
10
|
-
import { ColorListEntry } from '../../../mol-util/color/color';
|
|
11
9
|
export interface ControlPoint {
|
|
12
10
|
x: number;
|
|
13
11
|
alpha: number;
|
|
14
12
|
}
|
|
15
13
|
export declare function getControlPointsFromString(s: string): ControlPoint[];
|
|
16
14
|
export declare function getControlPointsFromVec2Array(array: Vec2[]): ControlPoint[];
|
|
17
|
-
export declare function createTransferFunctionTexture(controlPoints: ControlPoint[],
|
|
15
|
+
export declare function createTransferFunctionTexture(controlPoints: ControlPoint[], texture?: ValueCell<TextureImage<Uint8Array>>): ValueCell<TextureImage<Uint8Array>>;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
2
|
+
* Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
6
6
|
import { __spreadArray } from "tslib";
|
|
7
7
|
import { spline } from '../../../mol-math/interpolate';
|
|
8
|
-
import { ColorScale } from '../../../mol-util/color';
|
|
9
8
|
import { ValueCell } from '../../../mol-util';
|
|
10
9
|
export function getControlPointsFromString(s) {
|
|
11
10
|
return s.split(/\s*,\s*/).map(function (p) {
|
|
@@ -16,7 +15,7 @@ export function getControlPointsFromString(s) {
|
|
|
16
15
|
export function getControlPointsFromVec2Array(array) {
|
|
17
16
|
return array.map(function (v) { return ({ x: v[0], alpha: v[1] }); });
|
|
18
17
|
}
|
|
19
|
-
export function createTransferFunctionTexture(controlPoints,
|
|
18
|
+
export function createTransferFunctionTexture(controlPoints, texture) {
|
|
20
19
|
var cp = __spreadArray(__spreadArray([
|
|
21
20
|
{ x: 0, alpha: 0 },
|
|
22
21
|
{ x: 0, alpha: 0 }
|
|
@@ -24,9 +23,8 @@ export function createTransferFunctionTexture(controlPoints, listOrName, texture
|
|
|
24
23
|
{ x: 1, alpha: 0 },
|
|
25
24
|
{ x: 1, alpha: 0 },
|
|
26
25
|
], false);
|
|
27
|
-
var scale = ColorScale.create({ domain: [0, 1], listOrName: listOrName });
|
|
28
26
|
var n = 256;
|
|
29
|
-
var array = texture ? texture.ref.value.array : new Uint8Array(n
|
|
27
|
+
var array = texture ? texture.ref.value.array : new Uint8Array(n);
|
|
30
28
|
var k = 0;
|
|
31
29
|
var x1, x2;
|
|
32
30
|
var a0, a1, a2, a3;
|
|
@@ -41,8 +39,7 @@ export function createTransferFunctionTexture(controlPoints, listOrName, texture
|
|
|
41
39
|
var jl = Math.round((x2 - x1) * n);
|
|
42
40
|
for (var j = 0; j < jl; ++j) {
|
|
43
41
|
var t = j / jl;
|
|
44
|
-
array[k
|
|
45
|
-
scale.colorToArray(k / 255, array, k * 4);
|
|
42
|
+
array[k] = Math.max(0, spline(a0, a1, a2, a3, t, 0.5) * 255);
|
|
46
43
|
++k;
|
|
47
44
|
}
|
|
48
45
|
}
|
|
@@ -39,6 +39,16 @@ declare namespace Image {
|
|
|
39
39
|
roughness: number;
|
|
40
40
|
bumpiness: number;
|
|
41
41
|
}>>;
|
|
42
|
+
clip: PD.Group<PD.Normalize<{
|
|
43
|
+
variant: import("../../../mol-util/clip").Clip.Variant;
|
|
44
|
+
objects: PD.Normalize<{
|
|
45
|
+
type: any;
|
|
46
|
+
invert: any;
|
|
47
|
+
position: any;
|
|
48
|
+
rotation: any;
|
|
49
|
+
scale: any;
|
|
50
|
+
}>[];
|
|
51
|
+
}>>;
|
|
42
52
|
};
|
|
43
53
|
type Params = typeof Params;
|
|
44
54
|
const Utils: GeometryUtils<Image, Params>;
|
|
@@ -115,7 +115,7 @@ var Image;
|
|
|
115
115
|
var counts = { drawCount: QuadIndices.length, vertexCount: QuadPositions.length / 3, groupCount: groupCount, instanceCount: instanceCount };
|
|
116
116
|
var invariantBoundingSphere = Sphere3D.clone(image.boundingSphere);
|
|
117
117
|
var boundingSphere = calculateTransformBoundingSphere(invariantBoundingSphere, transform.aTransform.ref.value, instanceCount);
|
|
118
|
-
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, color), marker), overpaint), transparency), material), clipping), transform), BaseGeometry.createValues(props, counts)), { aPosition: image.cornerBuffer, aUv: ValueCell.create(QuadUvs), elements: ValueCell.create(QuadIndices),
|
|
118
|
+
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ dGeometryType: ValueCell.create('image') }, color), marker), overpaint), transparency), material), clipping), transform), BaseGeometry.createValues(props, counts)), { aPosition: image.cornerBuffer, aUv: ValueCell.create(QuadUvs), elements: ValueCell.create(QuadIndices),
|
|
119
119
|
// aGroup is used as a vertex index here, group id is in tGroupTex
|
|
120
120
|
aGroup: ValueCell.create(fillSerial(new Float32Array(4))), boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)), dInterpolation: ValueCell.create(props.interpolation), uImageTexDim: image.imageTextureDim, tImageTex: image.imageTexture, tGroupTex: image.groupTexture });
|
|
121
121
|
}
|
|
@@ -44,8 +44,19 @@ export declare namespace Lines {
|
|
|
44
44
|
material: PD.Group<PD.Normalize<{
|
|
45
45
|
metalness: number;
|
|
46
46
|
roughness: number;
|
|
47
|
+
/** Number of lines */
|
|
47
48
|
bumpiness: number;
|
|
48
49
|
}>>;
|
|
50
|
+
clip: PD.Group<PD.Normalize<{
|
|
51
|
+
variant: import("../../../mol-util/clip").Clip.Variant;
|
|
52
|
+
objects: PD.Normalize<{
|
|
53
|
+
type: any;
|
|
54
|
+
invert: any;
|
|
55
|
+
position: any;
|
|
56
|
+
rotation: any;
|
|
57
|
+
scale: any;
|
|
58
|
+
}>[];
|
|
59
|
+
}>>;
|
|
49
60
|
};
|
|
50
61
|
type Params = typeof Params;
|
|
51
62
|
const Utils: GeometryUtils<Lines, Params>;
|
|
@@ -165,7 +165,7 @@ export var Lines;
|
|
|
165
165
|
var counts = { drawCount: lines.lineCount * 2 * 3, vertexCount: lines.lineCount * 4, groupCount: groupCount, instanceCount: instanceCount };
|
|
166
166
|
var invariantBoundingSphere = Sphere3D.clone(lines.boundingSphere);
|
|
167
167
|
var boundingSphere = calculateTransformBoundingSphere(invariantBoundingSphere, transform.aTransform.ref.value, instanceCount);
|
|
168
|
-
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ aMapping: lines.mappingBuffer, aGroup: lines.groupBuffer, aStart: lines.startBuffer, aEnd: lines.endBuffer, elements: lines.indexBuffer, boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)) }, color), size), marker), overpaint), transparency), material), clipping), transform), BaseGeometry.createValues(props, counts)), { uSizeFactor: ValueCell.create(props.sizeFactor), dLineSizeAttenuation: ValueCell.create(props.lineSizeAttenuation),
|
|
168
|
+
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ dGeometryType: ValueCell.create('lines'), aMapping: lines.mappingBuffer, aGroup: lines.groupBuffer, aStart: lines.startBuffer, aEnd: lines.endBuffer, elements: lines.indexBuffer, boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)) }, color), size), marker), overpaint), transparency), material), clipping), transform), BaseGeometry.createValues(props, counts)), { uSizeFactor: ValueCell.create(props.sizeFactor), dLineSizeAttenuation: ValueCell.create(props.lineSizeAttenuation), uDoubleSided: ValueCell.create(true), dFlipSided: ValueCell.create(false) });
|
|
169
169
|
}
|
|
170
170
|
function createValuesSimple(lines, props, colorValue, sizeValue, transform) {
|
|
171
171
|
var s = BaseGeometry.createSimple(colorValue, sizeValue, transform);
|
|
@@ -10,7 +10,6 @@ export declare type MarkerData = {
|
|
|
10
10
|
uMarker: ValueCell<number>;
|
|
11
11
|
tMarker: ValueCell<TextureImage<Uint8Array>>;
|
|
12
12
|
uMarkerTexDim: ValueCell<Vec2>;
|
|
13
|
-
dMarkerType: ValueCell<string>;
|
|
14
13
|
markerAverage: ValueCell<number>;
|
|
15
14
|
markerStatus: ValueCell<number>;
|
|
16
15
|
};
|
|
@@ -35,12 +35,20 @@ export function getMarkersAverage(array, count) {
|
|
|
35
35
|
var viewEnd = (count - 4) >> 2;
|
|
36
36
|
var backStart = 4 * viewEnd;
|
|
37
37
|
var sum = 0;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
if (viewEnd < 0) {
|
|
39
|
+
// avoid edge cases with small arrays
|
|
40
|
+
for (var i = 0; i < count; ++i) {
|
|
41
|
+
sum += array[i] && 1;
|
|
42
|
+
}
|
|
41
43
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
else {
|
|
45
|
+
for (var i = 0; i < viewEnd; ++i) {
|
|
46
|
+
var v = view[i];
|
|
47
|
+
sum += MarkerCountLut[v & 0xFFFF] + MarkerCountLut[v >> 16];
|
|
48
|
+
}
|
|
49
|
+
for (var i = backStart; i < count; ++i) {
|
|
50
|
+
sum += array[i] && 1;
|
|
51
|
+
}
|
|
44
52
|
}
|
|
45
53
|
return sum / count;
|
|
46
54
|
}
|
|
@@ -52,7 +60,6 @@ export function createMarkers(count, markerData) {
|
|
|
52
60
|
ValueCell.updateIfChanged(markerData.uMarker, 0);
|
|
53
61
|
ValueCell.update(markerData.tMarker, markers);
|
|
54
62
|
ValueCell.update(markerData.uMarkerTexDim, Vec2.create(markers.width, markers.height));
|
|
55
|
-
ValueCell.updateIfChanged(markerData.dMarkerType, status === -1 ? 'groupInstance' : 'uniform');
|
|
56
63
|
ValueCell.updateIfChanged(markerData.markerAverage, average);
|
|
57
64
|
ValueCell.updateIfChanged(markerData.markerStatus, status);
|
|
58
65
|
return markerData;
|
|
@@ -64,7 +71,6 @@ export function createMarkers(count, markerData) {
|
|
|
64
71
|
uMarkerTexDim: ValueCell.create(Vec2.create(markers.width, markers.height)),
|
|
65
72
|
markerAverage: ValueCell.create(average),
|
|
66
73
|
markerStatus: ValueCell.create(status),
|
|
67
|
-
dMarkerType: ValueCell.create('uniform'),
|
|
68
74
|
};
|
|
69
75
|
}
|
|
70
76
|
}
|
|
@@ -74,7 +80,6 @@ export function createEmptyMarkers(markerData) {
|
|
|
74
80
|
ValueCell.updateIfChanged(markerData.uMarker, 0);
|
|
75
81
|
ValueCell.update(markerData.tMarker, emptyMarkerTexture);
|
|
76
82
|
ValueCell.update(markerData.uMarkerTexDim, Vec2.create(1, 1));
|
|
77
|
-
ValueCell.updateIfChanged(markerData.dMarkerType, 'uniform');
|
|
78
83
|
ValueCell.updateIfChanged(markerData.markerAverage, 0);
|
|
79
84
|
ValueCell.updateIfChanged(markerData.markerStatus, 0);
|
|
80
85
|
return markerData;
|
|
@@ -86,7 +91,6 @@ export function createEmptyMarkers(markerData) {
|
|
|
86
91
|
uMarkerTexDim: ValueCell.create(Vec2.create(1, 1)),
|
|
87
92
|
markerAverage: ValueCell.create(0),
|
|
88
93
|
markerStatus: ValueCell.create(0),
|
|
89
|
-
dMarkerType: ValueCell.create('uniform'),
|
|
90
94
|
};
|
|
91
95
|
}
|
|
92
96
|
}
|
|
@@ -71,6 +71,16 @@ export declare namespace Mesh {
|
|
|
71
71
|
roughness: number;
|
|
72
72
|
bumpiness: number;
|
|
73
73
|
}>>;
|
|
74
|
+
clip: PD.Group<PD.Normalize<{
|
|
75
|
+
variant: import("../../../mol-util/clip").Clip.Variant;
|
|
76
|
+
objects: PD.Normalize<{
|
|
77
|
+
type: any;
|
|
78
|
+
invert: any;
|
|
79
|
+
position: any;
|
|
80
|
+
rotation: any;
|
|
81
|
+
scale: any;
|
|
82
|
+
}>[];
|
|
83
|
+
}>>;
|
|
74
84
|
};
|
|
75
85
|
type Params = typeof Params;
|
|
76
86
|
const Utils: GeometryUtils<Mesh, Params>;
|
|
@@ -593,7 +593,7 @@ export var Mesh;
|
|
|
593
593
|
var counts = { drawCount: mesh.triangleCount * 3, vertexCount: mesh.vertexCount, groupCount: groupCount, instanceCount: instanceCount };
|
|
594
594
|
var invariantBoundingSphere = Sphere3D.clone(mesh.boundingSphere);
|
|
595
595
|
var boundingSphere = calculateTransformBoundingSphere(invariantBoundingSphere, transform.aTransform.ref.value, instanceCount);
|
|
596
|
-
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ aPosition: mesh.vertexBuffer, aNormal: mesh.normalBuffer, aGroup: mesh.groupBuffer, elements: mesh.indexBuffer, boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)) }, color), marker), overpaint), transparency), material), clipping), transform), BaseGeometry.createValues(props, counts)), {
|
|
596
|
+
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ dGeometryType: ValueCell.create('mesh'), aPosition: mesh.vertexBuffer, aNormal: mesh.normalBuffer, aGroup: mesh.groupBuffer, elements: mesh.indexBuffer, boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)) }, color), marker), overpaint), transparency), material), clipping), transform), BaseGeometry.createValues(props, counts)), { uDoubleSided: ValueCell.create(props.doubleSided), dFlatShaded: ValueCell.create(props.flatShaded), dFlipSided: ValueCell.create(props.flipSided), dIgnoreLight: ValueCell.create(props.ignoreLight), dXrayShaded: ValueCell.create(props.xrayShaded), uBumpFrequency: ValueCell.create(props.bumpFrequency), uBumpAmplitude: ValueCell.create(props.bumpAmplitude), meta: ValueCell.create(mesh.meta) });
|
|
597
597
|
}
|
|
598
598
|
function createValuesSimple(mesh, props, colorValue, sizeValue, transform) {
|
|
599
599
|
var s = BaseGeometry.createSimple(colorValue, sizeValue, transform);
|
|
@@ -602,7 +602,7 @@ export var Mesh;
|
|
|
602
602
|
}
|
|
603
603
|
function updateValues(values, props) {
|
|
604
604
|
BaseGeometry.updateValues(values, props);
|
|
605
|
-
ValueCell.updateIfChanged(values.
|
|
605
|
+
ValueCell.updateIfChanged(values.uDoubleSided, props.doubleSided);
|
|
606
606
|
ValueCell.updateIfChanged(values.dFlatShaded, props.flatShaded);
|
|
607
607
|
ValueCell.updateIfChanged(values.dFlipSided, props.flipSided);
|
|
608
608
|
ValueCell.updateIfChanged(values.dIgnoreLight, props.ignoreLight);
|
|
@@ -43,9 +43,19 @@ export declare namespace Points {
|
|
|
43
43
|
quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
|
|
44
44
|
material: PD.Group<PD.Normalize<{
|
|
45
45
|
metalness: number;
|
|
46
|
-
roughness: number;
|
|
46
|
+
roughness: number;
|
|
47
47
|
bumpiness: number;
|
|
48
48
|
}>>;
|
|
49
|
+
clip: PD.Group<PD.Normalize<{
|
|
50
|
+
variant: import("../../../mol-util/clip").Clip.Variant;
|
|
51
|
+
objects: PD.Normalize<{
|
|
52
|
+
type: any;
|
|
53
|
+
invert: any;
|
|
54
|
+
position: any;
|
|
55
|
+
rotation: any;
|
|
56
|
+
scale: any;
|
|
57
|
+
}>[];
|
|
58
|
+
}>>;
|
|
49
59
|
};
|
|
50
60
|
type Params = typeof Params;
|
|
51
61
|
const Utils: GeometryUtils<Points, Params>;
|
|
@@ -134,7 +134,7 @@ export var Points;
|
|
|
134
134
|
var counts = { drawCount: points.pointCount, vertexCount: points.pointCount, groupCount: groupCount, instanceCount: instanceCount };
|
|
135
135
|
var invariantBoundingSphere = Sphere3D.clone(points.boundingSphere);
|
|
136
136
|
var boundingSphere = calculateTransformBoundingSphere(invariantBoundingSphere, transform.aTransform.ref.value, instanceCount);
|
|
137
|
-
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ aPosition: points.centerBuffer, aGroup: points.groupBuffer, boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)) }, color), size), marker), overpaint), transparency), material), clipping), transform), BaseGeometry.createValues(props, counts)), { uSizeFactor: ValueCell.create(props.sizeFactor), dPointSizeAttenuation: ValueCell.create(props.pointSizeAttenuation), dPointStyle: ValueCell.create(props.pointStyle) });
|
|
137
|
+
return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ dGeometryType: ValueCell.create('points'), aPosition: points.centerBuffer, aGroup: points.groupBuffer, boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)) }, color), size), marker), overpaint), transparency), material), clipping), transform), BaseGeometry.createValues(props, counts)), { uSizeFactor: ValueCell.create(props.sizeFactor), dPointSizeAttenuation: ValueCell.create(props.pointSizeAttenuation), dPointStyle: ValueCell.create(props.pointStyle) });
|
|
138
138
|
}
|
|
139
139
|
function createValuesSimple(points, props, colorValue, sizeValue, transform) {
|
|
140
140
|
var s = BaseGeometry.createSimple(colorValue, sizeValue, transform);
|