molstar 3.6.1 → 3.7.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/molstar.css +1 -1
- package/build/viewer/molstar.js +1 -1
- package/lib/commonjs/examples/alpha-orbitals/index.js +20 -15
- package/lib/commonjs/extensions/anvil/behavior.d.ts +1 -1
- package/lib/commonjs/extensions/anvil/representation.d.ts +4 -4
- package/lib/commonjs/extensions/cellpack/representation.d.ts +1 -1
- package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +3 -3
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +1 -1
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +1 -1
- package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +5 -5
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +2 -2
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +1 -1
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +1 -1
- package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -2
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/color-data.d.ts +2 -8
- package/lib/commonjs/mol-geo/geometry/color-data.js +16 -3
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +3 -2
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +3 -2
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +3 -2
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +15 -4
- package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +2 -1
- package/lib/commonjs/mol-gl/renderable/cylinders.js +2 -2
- package/lib/commonjs/mol-gl/renderable/mesh.d.ts +2 -1
- package/lib/commonjs/mol-gl/renderable/mesh.js +2 -2
- package/lib/commonjs/mol-gl/renderable/spheres.d.ts +2 -1
- package/lib/commonjs/mol-gl/renderable/spheres.js +2 -2
- package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +2 -1
- package/lib/commonjs/mol-gl/renderable/texture-mesh.js +2 -2
- package/lib/commonjs/mol-gl/renderer.js +54 -23
- package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.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-io/writer/ligand-encoder.d.ts +4 -2
- package/lib/commonjs/mol-io/writer/ligand-encoder.js +9 -4
- package/lib/commonjs/mol-io/writer/mol/encoder.js +16 -4
- package/lib/commonjs/mol-io/writer/mol2/encoder.js +17 -4
- package/lib/commonjs/mol-model-formats/shape/ply.d.ts +2 -2
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +1 -1
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +1 -1
- package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +3 -3
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -4
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/util.js +0 -1
- package/lib/commonjs/mol-plugin/commands.d.ts +1 -1
- package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +3 -3
- package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +6 -6
- package/lib/commonjs/mol-plugin-ui/base.d.ts +3 -1
- package/lib/commonjs/mol-plugin-ui/controls/color.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/controls/common.d.ts +2 -0
- package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.js +21 -7
- package/lib/commonjs/mol-plugin-ui/plugin.d.ts +2 -0
- package/lib/commonjs/mol-plugin-ui/plugin.js +2 -2
- package/lib/commonjs/mol-plugin-ui/spec.d.ts +1 -0
- package/lib/commonjs/mol-plugin-ui/viewport/help.d.ts +4 -1
- package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +1 -1
- package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +1 -1
- package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +1 -1
- package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +1 -1
- package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/params.d.ts +4 -4
- package/lib/commonjs/mol-repr/structure/registry.d.ts +10 -10
- package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +3 -3
- package/lib/commonjs/mol-repr/structure/units-visual.d.ts +4 -4
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +2 -2
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +2 -2
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +2 -2
- package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -4
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -2
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -2
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -1
- package/lib/commonjs/mol-repr/util.d.ts +1 -1
- package/lib/commonjs/mol-repr/util.js +1 -1
- package/lib/commonjs/mol-repr/volume/isosurface.d.ts +5 -5
- package/lib/commonjs/mol-repr/volume/registry.d.ts +1 -1
- package/lib/commonjs/mol-theme/color.d.ts +9 -2
- package/lib/commonjs/mol-theme/color.js +1 -1
- package/lib/commonjs/servers/model/server/query.js +1 -3
- package/lib/commonjs/servers/model/version.d.ts +1 -1
- package/lib/commonjs/servers/model/version.js +1 -1
- package/lib/examples/alpha-orbitals/index.js +20 -15
- package/lib/extensions/anvil/behavior.d.ts +1 -1
- package/lib/extensions/anvil/representation.d.ts +4 -4
- package/lib/extensions/cellpack/representation.d.ts +1 -1
- package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +3 -3
- package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +1 -1
- package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +1 -1
- package/lib/extensions/rcsb/validation-report/representation.d.ts +5 -5
- package/lib/mol-canvas3d/canvas3d.d.ts +2 -2
- package/lib/mol-canvas3d/helper/camera-helper.d.ts +1 -1
- package/lib/mol-canvas3d/helper/handle-helper.d.ts +1 -1
- package/lib/mol-canvas3d/helper/helper.d.ts +2 -2
- package/lib/mol-canvas3d/passes/image.d.ts +1 -1
- package/lib/mol-geo/geometry/color-data.d.ts +2 -8
- package/lib/mol-geo/geometry/color-data.js +16 -3
- package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +1 -1
- package/lib/mol-geo/geometry/cylinders/cylinders.js +3 -2
- package/lib/mol-geo/geometry/mesh/mesh.d.ts +1 -1
- package/lib/mol-geo/geometry/mesh/mesh.js +3 -2
- package/lib/mol-geo/geometry/spheres/spheres.d.ts +1 -1
- package/lib/mol-geo/geometry/spheres/spheres.js +3 -2
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +1 -1
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +15 -4
- package/lib/mol-gl/renderable/cylinders.d.ts +2 -1
- package/lib/mol-gl/renderable/cylinders.js +2 -2
- package/lib/mol-gl/renderable/mesh.d.ts +2 -1
- package/lib/mol-gl/renderable/mesh.js +2 -2
- package/lib/mol-gl/renderable/spheres.d.ts +2 -1
- package/lib/mol-gl/renderable/spheres.js +2 -2
- package/lib/mol-gl/renderable/texture-mesh.d.ts +2 -1
- package/lib/mol-gl/renderable/texture-mesh.js +2 -2
- package/lib/mol-gl/renderer.js +54 -23
- package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/check-picking-alpha.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/check-picking-alpha.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-io/writer/ligand-encoder.d.ts +4 -2
- package/lib/mol-io/writer/ligand-encoder.js +9 -4
- package/lib/mol-io/writer/mol/encoder.js +16 -4
- package/lib/mol-io/writer/mol2/encoder.js +17 -4
- package/lib/mol-model-formats/shape/ply.d.ts +2 -2
- package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +1 -1
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +1 -1
- package/lib/mol-model-props/computed/representations/interactions.d.ts +3 -3
- package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -4
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/util.js +0 -1
- package/lib/mol-plugin/commands.d.ts +1 -1
- package/lib/mol-plugin/util/viewport-screenshot.d.ts +3 -3
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/transforms/representation.d.ts +6 -6
- package/lib/mol-plugin-ui/base.d.ts +3 -1
- package/lib/mol-plugin-ui/controls/color.d.ts +1 -1
- package/lib/mol-plugin-ui/controls/common.d.ts +2 -0
- package/lib/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
- package/lib/mol-plugin-ui/hooks/use-behavior.js +20 -7
- package/lib/mol-plugin-ui/plugin.d.ts +2 -0
- package/lib/mol-plugin-ui/plugin.js +2 -2
- package/lib/mol-plugin-ui/spec.d.ts +1 -0
- package/lib/mol-plugin-ui/viewport/help.d.ts +4 -1
- package/lib/mol-repr/shape/loci/angle.d.ts +1 -1
- package/lib/mol-repr/shape/loci/dihedral.d.ts +1 -1
- package/lib/mol-repr/shape/loci/orientation.d.ts +1 -1
- package/lib/mol-repr/shape/loci/plane.d.ts +1 -1
- package/lib/mol-repr/shape/model/unitcell.d.ts +1 -1
- package/lib/mol-repr/structure/complex-visual.d.ts +3 -3
- package/lib/mol-repr/structure/params.d.ts +4 -4
- package/lib/mol-repr/structure/registry.d.ts +10 -10
- package/lib/mol-repr/structure/representation/backbone.d.ts +3 -3
- package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +3 -3
- package/lib/mol-repr/structure/representation/carbohydrate.d.ts +3 -3
- package/lib/mol-repr/structure/representation/cartoon.d.ts +3 -3
- package/lib/mol-repr/structure/representation/ellipsoid.d.ts +3 -3
- package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +3 -3
- package/lib/mol-repr/structure/representation/molecular-surface.d.ts +3 -3
- package/lib/mol-repr/structure/representation/orientation.d.ts +3 -3
- package/lib/mol-repr/structure/representation/putty.d.ts +3 -3
- package/lib/mol-repr/structure/representation/spacefill.d.ts +3 -3
- package/lib/mol-repr/structure/units-visual.d.ts +4 -4
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +2 -2
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +2 -2
- package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -1
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -1
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -1
- package/lib/mol-repr/structure/visual/element-sphere.d.ts +2 -2
- package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -1
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -4
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -1
- package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -1
- package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -1
- package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -1
- package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -2
- package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -2
- package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -1
- package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -1
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -1
- package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -1
- package/lib/mol-repr/util.d.ts +1 -1
- package/lib/mol-repr/util.js +1 -1
- package/lib/mol-repr/volume/isosurface.d.ts +5 -5
- package/lib/mol-repr/volume/registry.d.ts +1 -1
- package/lib/mol-theme/color.d.ts +9 -2
- package/lib/mol-theme/color.js +1 -1
- package/lib/servers/model/server/query.js +1 -3
- package/lib/servers/model/version.d.ts +1 -1
- package/lib/servers/model/version.js +1 -1
- package/package.json +16 -16
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
@@ -16,6 +16,7 @@ export declare const SpheresSchema: {
|
|
|
16
16
|
uDoubleSided: UniformSpec<"b">;
|
|
17
17
|
dIgnoreLight: DefineSpec<"boolean">;
|
|
18
18
|
dXrayShaded: DefineSpec<"boolean">;
|
|
19
|
+
dOpaqueBackfaces: DefineSpec<"boolean">;
|
|
19
20
|
uBumpFrequency: UniformSpec<"f">;
|
|
20
21
|
uBumpAmplitude: UniformSpec<"f">;
|
|
21
22
|
uSize: UniformSpec<"f">;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c) 2019-
|
|
3
|
+
* Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
4
4
|
*
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
*/
|
|
@@ -12,7 +12,7 @@ var render_item_1 = require("../webgl/render-item");
|
|
|
12
12
|
var schema_1 = require("./schema");
|
|
13
13
|
var shader_code_1 = require("../shader-code");
|
|
14
14
|
var mol_util_1 = require("../../mol-util");
|
|
15
|
-
exports.SpheresSchema = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, schema_1.BaseSchema), schema_1.SizeSchema), { aGroup: (0, schema_1.AttributeSpec)('float32', 1, 0), aPosition: (0, schema_1.AttributeSpec)('float32', 3, 0), aMapping: (0, schema_1.AttributeSpec)('float32', 2, 0), elements: (0, schema_1.ElementsSpec)('uint32'), padding: (0, schema_1.ValueSpec)('number'), uDoubleSided: (0, schema_1.UniformSpec)('b'), dIgnoreLight: (0, schema_1.DefineSpec)('boolean'), dXrayShaded: (0, schema_1.DefineSpec)('boolean'), uBumpFrequency: (0, schema_1.UniformSpec)('f'), uBumpAmplitude: (0, schema_1.UniformSpec)('f') });
|
|
15
|
+
exports.SpheresSchema = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, schema_1.BaseSchema), schema_1.SizeSchema), { aGroup: (0, schema_1.AttributeSpec)('float32', 1, 0), aPosition: (0, schema_1.AttributeSpec)('float32', 3, 0), aMapping: (0, schema_1.AttributeSpec)('float32', 2, 0), elements: (0, schema_1.ElementsSpec)('uint32'), padding: (0, schema_1.ValueSpec)('number'), uDoubleSided: (0, schema_1.UniformSpec)('b'), dIgnoreLight: (0, schema_1.DefineSpec)('boolean'), dXrayShaded: (0, schema_1.DefineSpec)('boolean'), dOpaqueBackfaces: (0, schema_1.DefineSpec)('boolean'), uBumpFrequency: (0, schema_1.UniformSpec)('f'), uBumpAmplitude: (0, schema_1.UniformSpec)('f') });
|
|
16
16
|
function SpheresRenderable(ctx, id, values, state, materialId, variants) {
|
|
17
17
|
var schema = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, schema_1.GlobalUniformSchema), schema_1.GlobalTextureSchema), schema_1.InternalSchema), exports.SpheresSchema);
|
|
18
18
|
var internalValues = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
@@ -17,6 +17,7 @@ export declare const TextureMeshSchema: {
|
|
|
17
17
|
dFlipSided: DefineSpec<"boolean">;
|
|
18
18
|
dIgnoreLight: DefineSpec<"boolean">;
|
|
19
19
|
dXrayShaded: DefineSpec<"boolean">;
|
|
20
|
+
dOpaqueBackfaces: DefineSpec<"boolean">;
|
|
20
21
|
uBumpFrequency: UniformSpec<"f">;
|
|
21
22
|
uBumpAmplitude: UniformSpec<"f">;
|
|
22
23
|
meta: ValueSpec<"unknown">;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c) 2019-
|
|
3
|
+
* Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
4
4
|
*
|
|
5
5
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
6
6
|
*/
|
|
@@ -12,7 +12,7 @@ var render_item_1 = require("../webgl/render-item");
|
|
|
12
12
|
var schema_1 = require("./schema");
|
|
13
13
|
var shader_code_1 = require("../shader-code");
|
|
14
14
|
var mol_util_1 = require("../../mol-util");
|
|
15
|
-
exports.TextureMeshSchema = tslib_1.__assign(tslib_1.__assign({}, schema_1.BaseSchema), { uGeoTexDim: (0, schema_1.UniformSpec)('v2', 'buffered'), tPosition: (0, schema_1.TextureSpec)('texture', 'rgb', 'float', 'nearest'), tGroup: (0, schema_1.TextureSpec)('texture', 'alpha', 'float', 'nearest'), tNormal: (0, schema_1.TextureSpec)('texture', 'rgb', 'float', 'nearest'), dFlatShaded: (0, schema_1.DefineSpec)('boolean'), uDoubleSided: (0, schema_1.UniformSpec)('b'), dFlipSided: (0, schema_1.DefineSpec)('boolean'), dIgnoreLight: (0, schema_1.DefineSpec)('boolean'), dXrayShaded: (0, schema_1.DefineSpec)('boolean'), uBumpFrequency: (0, schema_1.UniformSpec)('f'), uBumpAmplitude: (0, schema_1.UniformSpec)('f'), meta: (0, schema_1.ValueSpec)('unknown') });
|
|
15
|
+
exports.TextureMeshSchema = tslib_1.__assign(tslib_1.__assign({}, schema_1.BaseSchema), { uGeoTexDim: (0, schema_1.UniformSpec)('v2', 'buffered'), tPosition: (0, schema_1.TextureSpec)('texture', 'rgb', 'float', 'nearest'), tGroup: (0, schema_1.TextureSpec)('texture', 'alpha', 'float', 'nearest'), tNormal: (0, schema_1.TextureSpec)('texture', 'rgb', 'float', 'nearest'), dFlatShaded: (0, schema_1.DefineSpec)('boolean'), uDoubleSided: (0, schema_1.UniformSpec)('b'), dFlipSided: (0, schema_1.DefineSpec)('boolean'), dIgnoreLight: (0, schema_1.DefineSpec)('boolean'), dXrayShaded: (0, schema_1.DefineSpec)('boolean'), dOpaqueBackfaces: (0, schema_1.DefineSpec)('boolean'), uBumpFrequency: (0, schema_1.UniformSpec)('f'), uBumpAmplitude: (0, schema_1.UniformSpec)('f'), meta: (0, schema_1.ValueSpec)('unknown') });
|
|
16
16
|
function TextureMeshRenderable(ctx, id, values, state, materialId, variants) {
|
|
17
17
|
var schema = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, schema_1.GlobalUniformSchema), schema_1.GlobalTextureSchema), schema_1.InternalSchema), exports.TextureMeshSchema);
|
|
18
18
|
var internalValues = {
|
|
@@ -125,7 +125,8 @@ var Renderer;
|
|
|
125
125
|
};
|
|
126
126
|
var globalUniformList = Object.entries(globalUniforms);
|
|
127
127
|
var globalUniformsNeedUpdate = true;
|
|
128
|
-
var renderObject = function (r, variant) {
|
|
128
|
+
var renderObject = function (r, variant, flag) {
|
|
129
|
+
var _a, _b, _c;
|
|
129
130
|
if (r.state.disposed || !r.state.visible || (!r.state.pickable && variant === 'pick')) {
|
|
130
131
|
return;
|
|
131
132
|
}
|
|
@@ -160,6 +161,28 @@ var Renderer;
|
|
|
160
161
|
state.depthMask(false);
|
|
161
162
|
}
|
|
162
163
|
}
|
|
164
|
+
else if (flag === 1 /* BlendedFront */) {
|
|
165
|
+
state.enable(gl.CULL_FACE);
|
|
166
|
+
if ((_a = r.values.dFlipSided) === null || _a === void 0 ? void 0 : _a.ref.value) {
|
|
167
|
+
state.frontFace(gl.CW);
|
|
168
|
+
state.cullFace(gl.FRONT);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
state.frontFace(gl.CCW);
|
|
172
|
+
state.cullFace(gl.BACK);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
else if (flag === 2 /* BlendedBack */) {
|
|
176
|
+
state.enable(gl.CULL_FACE);
|
|
177
|
+
if ((_b = r.values.dFlipSided) === null || _b === void 0 ? void 0 : _b.ref.value) {
|
|
178
|
+
state.frontFace(gl.CW);
|
|
179
|
+
state.cullFace(gl.BACK);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
state.frontFace(gl.CCW);
|
|
183
|
+
state.cullFace(gl.FRONT);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
163
186
|
else {
|
|
164
187
|
if (r.values.uDoubleSided) {
|
|
165
188
|
if (r.values.uDoubleSided.ref.value || r.values.hasReflection.ref.value) {
|
|
@@ -173,15 +196,9 @@ var Renderer;
|
|
|
173
196
|
// webgl default
|
|
174
197
|
state.disable(gl.CULL_FACE);
|
|
175
198
|
}
|
|
176
|
-
if (r.values.dFlipSided) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
state.cullFace(gl.FRONT);
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
state.frontFace(gl.CCW);
|
|
183
|
-
state.cullFace(gl.BACK);
|
|
184
|
-
}
|
|
199
|
+
if ((_c = r.values.dFlipSided) === null || _c === void 0 ? void 0 : _c.ref.value) {
|
|
200
|
+
state.frontFace(gl.CW);
|
|
201
|
+
state.cullFace(gl.FRONT);
|
|
185
202
|
}
|
|
186
203
|
else {
|
|
187
204
|
// webgl default
|
|
@@ -232,7 +249,7 @@ var Renderer;
|
|
|
232
249
|
var renderables = group.renderables;
|
|
233
250
|
for (var i = 0, il = renderables.length; i < il; ++i) {
|
|
234
251
|
if (!renderables[i].state.colorOnly) {
|
|
235
|
-
renderObject(renderables[i], variant);
|
|
252
|
+
renderObject(renderables[i], variant, 0 /* None */);
|
|
236
253
|
}
|
|
237
254
|
}
|
|
238
255
|
};
|
|
@@ -243,7 +260,7 @@ var Renderer;
|
|
|
243
260
|
updateInternal(group, camera, depthTexture, false, false);
|
|
244
261
|
var renderables = group.renderables;
|
|
245
262
|
for (var i = 0, il = renderables.length; i < il; ++i) {
|
|
246
|
-
renderObject(renderables[i], 'depth');
|
|
263
|
+
renderObject(renderables[i], 'depth', 0 /* None */);
|
|
247
264
|
}
|
|
248
265
|
};
|
|
249
266
|
var renderMarkingDepth = function (group, camera, depthTexture) {
|
|
@@ -256,7 +273,7 @@ var Renderer;
|
|
|
256
273
|
for (var i = 0, il = renderables.length; i < il; ++i) {
|
|
257
274
|
var r = renderables[i];
|
|
258
275
|
if (r.values.markerAverage.ref.value !== 1) {
|
|
259
|
-
renderObject(renderables[i], 'marking');
|
|
276
|
+
renderObject(renderables[i], 'marking', 0 /* None */);
|
|
260
277
|
}
|
|
261
278
|
}
|
|
262
279
|
};
|
|
@@ -270,7 +287,7 @@ var Renderer;
|
|
|
270
287
|
for (var i = 0, il = renderables.length; i < il; ++i) {
|
|
271
288
|
var r = renderables[i];
|
|
272
289
|
if (r.values.markerAverage.ref.value > 0) {
|
|
273
|
-
renderObject(renderables[i], 'marking');
|
|
290
|
+
renderObject(renderables[i], 'marking', 0 /* None */);
|
|
274
291
|
}
|
|
275
292
|
}
|
|
276
293
|
};
|
|
@@ -279,6 +296,7 @@ var Renderer;
|
|
|
279
296
|
renderBlendedTransparent(group, camera, depthTexture);
|
|
280
297
|
};
|
|
281
298
|
var renderBlendedOpaque = function (group, camera, depthTexture) {
|
|
299
|
+
var _a, _b;
|
|
282
300
|
state.disable(gl.BLEND);
|
|
283
301
|
state.enable(gl.DEPTH_TEST);
|
|
284
302
|
state.depthMask(true);
|
|
@@ -287,11 +305,15 @@ var Renderer;
|
|
|
287
305
|
for (var i = 0, il = renderables.length; i < il; ++i) {
|
|
288
306
|
var r = renderables[i];
|
|
289
307
|
if (r.state.opaque) {
|
|
290
|
-
renderObject(r, 'colorBlended');
|
|
308
|
+
renderObject(r, 'colorBlended', 0 /* None */);
|
|
309
|
+
}
|
|
310
|
+
else if (((_a = r.values.uDoubleSided) === null || _a === void 0 ? void 0 : _a.ref.value) && ((_b = r.values.dOpaqueBackfaces) === null || _b === void 0 ? void 0 : _b.ref.value)) {
|
|
311
|
+
renderObject(r, 'colorBlended', 2 /* BlendedBack */);
|
|
291
312
|
}
|
|
292
313
|
}
|
|
293
314
|
};
|
|
294
315
|
var renderBlendedTransparent = function (group, camera, depthTexture) {
|
|
316
|
+
var _a, _b;
|
|
295
317
|
state.enable(gl.DEPTH_TEST);
|
|
296
318
|
updateInternal(group, camera, depthTexture, false, false);
|
|
297
319
|
var renderables = group.renderables;
|
|
@@ -306,14 +328,23 @@ var Renderer;
|
|
|
306
328
|
for (var i = 0, il = renderables.length; i < il; ++i) {
|
|
307
329
|
var r = renderables[i];
|
|
308
330
|
if (!r.state.opaque && r.state.writeDepth) {
|
|
309
|
-
renderObject(r, 'colorBlended');
|
|
331
|
+
renderObject(r, 'colorBlended', 0 /* None */);
|
|
310
332
|
}
|
|
311
333
|
}
|
|
312
334
|
state.depthMask(false);
|
|
313
335
|
for (var i = 0, il = renderables.length; i < il; ++i) {
|
|
314
336
|
var r = renderables[i];
|
|
315
337
|
if (!r.state.opaque && !r.state.writeDepth) {
|
|
316
|
-
|
|
338
|
+
if ((_a = r.values.uDoubleSided) === null || _a === void 0 ? void 0 : _a.ref.value) {
|
|
339
|
+
// render frontfaces and backfaces separately to avoid artefacts
|
|
340
|
+
if (!((_b = r.values.dOpaqueBackfaces) === null || _b === void 0 ? void 0 : _b.ref.value)) {
|
|
341
|
+
renderObject(r, 'colorBlended', 2 /* BlendedBack */);
|
|
342
|
+
}
|
|
343
|
+
renderObject(r, 'colorBlended', 1 /* BlendedFront */);
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
renderObject(r, 'colorBlended', 0 /* None */);
|
|
347
|
+
}
|
|
317
348
|
}
|
|
318
349
|
}
|
|
319
350
|
};
|
|
@@ -329,7 +360,7 @@ var Renderer;
|
|
|
329
360
|
// uAlpha is updated in "render" so we need to recompute it here
|
|
330
361
|
var alpha = (0, interpolate_1.clamp)(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
331
362
|
if (alpha === 1 && r.values.transparencyAverage.ref.value !== 1 && !((_a = r.values.dXrayShaded) === null || _a === void 0 ? void 0 : _a.ref.value)) {
|
|
332
|
-
renderObject(r, 'colorBlended');
|
|
363
|
+
renderObject(r, 'colorBlended', 0 /* None */);
|
|
333
364
|
}
|
|
334
365
|
}
|
|
335
366
|
};
|
|
@@ -345,12 +376,12 @@ var Renderer;
|
|
|
345
376
|
// uAlpha is updated in "render" so we need to recompute it here
|
|
346
377
|
var alpha = (0, interpolate_1.clamp)(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
347
378
|
if (alpha < 1 || r.values.transparencyAverage.ref.value > 0 || ((_a = r.values.dXrayShaded) === null || _a === void 0 ? void 0 : _a.ref.value)) {
|
|
348
|
-
renderObject(r, 'colorBlended');
|
|
379
|
+
renderObject(r, 'colorBlended', 0 /* None */);
|
|
349
380
|
}
|
|
350
381
|
}
|
|
351
382
|
};
|
|
352
383
|
var renderWboitOpaque = function (group, camera, depthTexture) {
|
|
353
|
-
var _a, _b;
|
|
384
|
+
var _a, _b, _c;
|
|
354
385
|
state.disable(gl.BLEND);
|
|
355
386
|
state.enable(gl.DEPTH_TEST);
|
|
356
387
|
state.depthMask(true);
|
|
@@ -361,8 +392,8 @@ var Renderer;
|
|
|
361
392
|
// TODO: simplify, handle in renderable.state???
|
|
362
393
|
// uAlpha is updated in "render" so we need to recompute it here
|
|
363
394
|
var alpha = (0, interpolate_1.clamp)(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
364
|
-
if (alpha === 1 && r.values.transparencyAverage.ref.value !== 1 && r.values.dGeometryType.ref.value !== 'directVolume' && ((_a = r.values.dPointStyle) === null || _a === void 0 ? void 0 : _a.ref.value) !== 'fuzzy' && !((_b = r.values.dXrayShaded) === null || _b === void 0 ? void 0 : _b.ref.value)) {
|
|
365
|
-
renderObject(r, 'colorWboit');
|
|
395
|
+
if ((alpha === 1 && r.values.transparencyAverage.ref.value !== 1 && r.values.dGeometryType.ref.value !== 'directVolume' && ((_a = r.values.dPointStyle) === null || _a === void 0 ? void 0 : _a.ref.value) !== 'fuzzy' && !((_b = r.values.dXrayShaded) === null || _b === void 0 ? void 0 : _b.ref.value)) || ((_c = r.values.dOpaqueBackfaces) === null || _c === void 0 ? void 0 : _c.ref.value)) {
|
|
396
|
+
renderObject(r, 'colorWboit', 0 /* None */);
|
|
366
397
|
}
|
|
367
398
|
}
|
|
368
399
|
};
|
|
@@ -376,7 +407,7 @@ var Renderer;
|
|
|
376
407
|
// uAlpha is updated in "render" so we need to recompute it here
|
|
377
408
|
var alpha = (0, interpolate_1.clamp)(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
378
409
|
if (alpha < 1 || r.values.transparencyAverage.ref.value > 0 || r.values.dGeometryType.ref.value === 'directVolume' || ((_a = r.values.dPointStyle) === null || _a === void 0 ? void 0 : _a.ref.value) === 'fuzzy' || !!r.values.uBackgroundColor || ((_b = r.values.dXrayShaded) === null || _b === void 0 ? void 0 : _b.ref.value)) {
|
|
379
|
-
renderObject(r, 'colorWboit');
|
|
410
|
+
renderObject(r, 'colorWboit', 0 /* None */);
|
|
380
411
|
}
|
|
381
412
|
}
|
|
382
413
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const apply_interior_color = "\nif (interior) {\n if (uInteriorColorFlag) {\n gl_FragColor.rgb = uInteriorColor;\n } else {\n gl_FragColor.rgb *= 1.0 - uInteriorDarkening;\n }\n}\n";
|
|
1
|
+
export declare const apply_interior_color = "\nif (interior) {\n if (uInteriorColorFlag) {\n gl_FragColor.rgb = uInteriorColor;\n } else {\n gl_FragColor.rgb *= 1.0 - uInteriorDarkening;\n }\n\n #ifdef dOpaqueBackfaces\n gl_FragColor.a = 1.0;\n #endif\n}\n";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.apply_interior_color = void 0;
|
|
4
|
-
exports.apply_interior_color = "\nif (interior) {\n if (uInteriorColorFlag) {\n gl_FragColor.rgb = uInteriorColor;\n } else {\n gl_FragColor.rgb *= 1.0 - uInteriorDarkening;\n }\n}\n";
|
|
4
|
+
exports.apply_interior_color = "\nif (interior) {\n if (uInteriorColorFlag) {\n gl_FragColor.rgb = uInteriorColor;\n } else {\n gl_FragColor.rgb *= 1.0 - uInteriorDarkening;\n }\n\n #ifdef dOpaqueBackfaces\n gl_FragColor.a = 1.0;\n #endif\n}\n";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const check_picking_alpha = "\nfloat viewZ = depthToViewZ(uIsOrtho, fragmentDepth, uNear, uFar);\nfloat fogFactor = smoothstep(uFogNear, uFogFar, abs(viewZ));\nfloat alpha = (1.0 - fogFactor) * uAlpha;\nif (uAlpha < uPickingAlphaThreshold || alpha < 0.1)\n
|
|
1
|
+
export declare const check_picking_alpha = "\nfloat viewZ = depthToViewZ(uIsOrtho, fragmentDepth, uNear, uFar);\nfloat fogFactor = smoothstep(uFogNear, uFogFar, abs(viewZ));\nfloat alpha = (1.0 - fogFactor) * uAlpha;\n// if not opaque enough ignore so the element below can be picked\nif (uAlpha < uPickingAlphaThreshold || alpha < 0.1) {\n #ifdef dOpaqueBackfaces\n if (!interior) discard;\n #else\n discard;\n #endif\n}\n";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.check_picking_alpha = void 0;
|
|
4
|
-
exports.check_picking_alpha = "\nfloat viewZ = depthToViewZ(uIsOrtho, fragmentDepth, uNear, uFar);\nfloat fogFactor = smoothstep(uFogNear, uFogFar, abs(viewZ));\nfloat alpha = (1.0 - fogFactor) * uAlpha;\nif (uAlpha < uPickingAlphaThreshold || alpha < 0.1)\n
|
|
4
|
+
exports.check_picking_alpha = "\nfloat viewZ = depthToViewZ(uIsOrtho, fragmentDepth, uNear, uFar);\nfloat fogFactor = smoothstep(uFogNear, uFogFar, abs(viewZ));\nfloat alpha = (1.0 - fogFactor) * uAlpha;\n// if not opaque enough ignore so the element below can be picked\nif (uAlpha < uPickingAlphaThreshold || alpha < 0.1) {\n #ifdef dOpaqueBackfaces\n if (!interior) discard;\n #else\n discard;\n #endif\n}\n";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const color_vert_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_attribute)\n varying vec4 vColor;\n attribute vec3 aColor;\n #elif defined(dColorType_texture)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform sampler2D tColor;\n #elif defined(dColorType_grid)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform vec3 uColorGridDim;\n uniform vec4 uColorGridTransform;\n uniform sampler2D tColorGrid;\n #endif\n\n #ifdef dUsePalette\n varying float vPaletteV;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance) || defined(dOverpaintType_vertexInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform sampler2D tOverpaint;\n #elif defined(dOverpaintType_volumeInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform vec3 uOverpaintGridDim;\n uniform vec4 uOverpaintGridTransform;\n uniform sampler2D tOverpaintGrid;\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance) || defined(dSubstanceType_vertexInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform sampler2D tSubstance;\n #elif defined(dSubstanceType_volumeInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform vec3 uSubstanceGridDim;\n uniform vec4 uSubstanceGridTransform;\n uniform sampler2D tSubstanceGrid;\n #endif\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat out vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n #if defined(dTransparencyType_groupInstance) || defined(dTransparencyType_vertexInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform sampler2D tTransparency;\n #elif defined(dTransparencyType_volumeInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform vec3 uTransparencyGridDim;\n uniform vec4 uTransparencyGridTransform;\n uniform sampler2D tTransparencyGrid;\n #endif\n#endif\n";
|
|
1
|
+
export declare const color_vert_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_attribute)\n varying vec4 vColor;\n attribute vec3 aColor;\n #elif defined(dColorType_texture)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform sampler2D tColor;\n #elif defined(dColorType_grid)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform vec3 uColorGridDim;\n uniform vec4 uColorGridTransform;\n uniform sampler2D tColorGrid;\n #elif defined(dColorType_direct)\n varying vec4 vColor;\n #endif\n\n #ifdef dUsePalette\n varying float vPaletteV;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance) || defined(dOverpaintType_vertexInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform sampler2D tOverpaint;\n #elif defined(dOverpaintType_volumeInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform vec3 uOverpaintGridDim;\n uniform vec4 uOverpaintGridTransform;\n uniform sampler2D tOverpaintGrid;\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance) || defined(dSubstanceType_vertexInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform sampler2D tSubstance;\n #elif defined(dSubstanceType_volumeInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform vec3 uSubstanceGridDim;\n uniform vec4 uSubstanceGridTransform;\n uniform sampler2D tSubstanceGrid;\n #endif\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat out vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n #if defined(dTransparencyType_groupInstance) || defined(dTransparencyType_vertexInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform sampler2D tTransparency;\n #elif defined(dTransparencyType_volumeInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform vec3 uTransparencyGridDim;\n uniform vec4 uTransparencyGridTransform;\n uniform sampler2D tTransparencyGrid;\n #endif\n#endif\n";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.color_vert_params = void 0;
|
|
4
|
-
exports.color_vert_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_attribute)\n varying vec4 vColor;\n attribute vec3 aColor;\n #elif defined(dColorType_texture)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform sampler2D tColor;\n #elif defined(dColorType_grid)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform vec3 uColorGridDim;\n uniform vec4 uColorGridTransform;\n uniform sampler2D tColorGrid;\n #endif\n\n #ifdef dUsePalette\n varying float vPaletteV;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance) || defined(dOverpaintType_vertexInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform sampler2D tOverpaint;\n #elif defined(dOverpaintType_volumeInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform vec3 uOverpaintGridDim;\n uniform vec4 uOverpaintGridTransform;\n uniform sampler2D tOverpaintGrid;\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance) || defined(dSubstanceType_vertexInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform sampler2D tSubstance;\n #elif defined(dSubstanceType_volumeInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform vec3 uSubstanceGridDim;\n uniform vec4 uSubstanceGridTransform;\n uniform sampler2D tSubstanceGrid;\n #endif\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat out vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n #if defined(dTransparencyType_groupInstance) || defined(dTransparencyType_vertexInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform sampler2D tTransparency;\n #elif defined(dTransparencyType_volumeInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform vec3 uTransparencyGridDim;\n uniform vec4 uTransparencyGridTransform;\n uniform sampler2D tTransparencyGrid;\n #endif\n#endif\n";
|
|
4
|
+
exports.color_vert_params = "\nuniform float uMetalness;\nuniform float uRoughness;\nuniform float uBumpiness;\n\n#if defined(dRenderVariant_color)\n #if defined(dColorType_uniform)\n uniform vec3 uColor;\n #elif defined(dColorType_attribute)\n varying vec4 vColor;\n attribute vec3 aColor;\n #elif defined(dColorType_texture)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform sampler2D tColor;\n #elif defined(dColorType_grid)\n varying vec4 vColor;\n uniform vec2 uColorTexDim;\n uniform vec3 uColorGridDim;\n uniform vec4 uColorGridTransform;\n uniform sampler2D tColorGrid;\n #elif defined(dColorType_direct)\n varying vec4 vColor;\n #endif\n\n #ifdef dUsePalette\n varying float vPaletteV;\n #endif\n\n #ifdef dOverpaint\n #if defined(dOverpaintType_groupInstance) || defined(dOverpaintType_vertexInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform sampler2D tOverpaint;\n #elif defined(dOverpaintType_volumeInstance)\n varying vec4 vOverpaint;\n uniform vec2 uOverpaintTexDim;\n uniform vec3 uOverpaintGridDim;\n uniform vec4 uOverpaintGridTransform;\n uniform sampler2D tOverpaintGrid;\n #endif\n #endif\n\n #ifdef dSubstance\n #if defined(dSubstanceType_groupInstance) || defined(dSubstanceType_vertexInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform sampler2D tSubstance;\n #elif defined(dSubstanceType_volumeInstance)\n varying vec4 vSubstance;\n uniform vec2 uSubstanceTexDim;\n uniform vec3 uSubstanceGridDim;\n uniform vec4 uSubstanceGridTransform;\n uniform sampler2D tSubstanceGrid;\n #endif\n #endif\n#elif defined(dRenderVariant_pick)\n #if __VERSION__ == 100\n varying vec4 vColor;\n #else\n flat out vec4 vColor;\n #endif\n#endif\n\n#ifdef dTransparency\n varying float vGroup;\n #if defined(dTransparencyType_groupInstance) || defined(dTransparencyType_vertexInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform sampler2D tTransparency;\n #elif defined(dTransparencyType_volumeInstance)\n varying float vTransparency;\n uniform vec2 uTransparencyTexDim;\n uniform vec3 uTransparencyGridDim;\n uniform vec4 uTransparencyGridTransform;\n uniform sampler2D tTransparencyGrid;\n #endif\n#endif\n";
|
|
@@ -8,11 +8,12 @@ import { Writer } from './writer';
|
|
|
8
8
|
import { Encoder, Category } from './cif/encoder';
|
|
9
9
|
import { ComponentAtom } from '../../mol-model-formats/structure/property/atoms/chem_comp';
|
|
10
10
|
import { ComponentBond } from '../../mol-model-formats/structure/property/bonds/chem_comp';
|
|
11
|
+
import { ElementSymbol } from '../../mol-model/structure/model/types';
|
|
11
12
|
interface Atom {
|
|
12
13
|
Cartn_x: number;
|
|
13
14
|
Cartn_y: number;
|
|
14
15
|
Cartn_z: number;
|
|
15
|
-
type_symbol:
|
|
16
|
+
type_symbol: ElementSymbol;
|
|
16
17
|
index: number;
|
|
17
18
|
}
|
|
18
19
|
declare function Atom(partial: any): Atom;
|
|
@@ -39,7 +40,8 @@ export declare abstract class LigandEncoder implements Encoder<string> {
|
|
|
39
40
|
getData(): string;
|
|
40
41
|
protected getAtoms<Ctx>(instance: Category.Instance<Ctx>, source: any): Map<string, Atom>;
|
|
41
42
|
private _getAtoms;
|
|
42
|
-
protected skipHydrogen(type_symbol:
|
|
43
|
+
protected skipHydrogen(type_symbol: ElementSymbol): boolean;
|
|
44
|
+
protected isHydrogen(type_symbol: ElementSymbol): boolean;
|
|
43
45
|
private getSortedFields;
|
|
44
46
|
private getField;
|
|
45
47
|
protected getName<Ctx>(instance: Category.Instance<Ctx>, source: any): string;
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.LigandEncoder = void 0;
|
|
9
9
|
var tslib_1 = require("tslib");
|
|
10
10
|
var mol_util_1 = require("../../mol-util");
|
|
11
|
+
var common_1 = require("../../mol-model/structure/structure/unit/bonds/common");
|
|
11
12
|
function Atom(partial) {
|
|
12
13
|
return tslib_1.__assign({}, partial);
|
|
13
14
|
}
|
|
@@ -80,11 +81,12 @@ var LigandEncoder = /** @class */ (function () {
|
|
|
80
81
|
while (it_1.hasNext) {
|
|
81
82
|
var key = it_1.move();
|
|
82
83
|
var lai = label_atom_id.value(key, data, index);
|
|
84
|
+
// ignore all alternate locations after the first
|
|
85
|
+
if (atoms.has(lai))
|
|
86
|
+
continue;
|
|
83
87
|
var ts = type_symbol.value(key, data, index);
|
|
84
|
-
if (this.skipHydrogen(ts))
|
|
85
|
-
index++;
|
|
88
|
+
if (this.skipHydrogen(ts))
|
|
86
89
|
continue;
|
|
87
|
-
}
|
|
88
90
|
var a = {};
|
|
89
91
|
for (var _f = 0, _fl = fields.length; _f < _fl; _f++) {
|
|
90
92
|
var f = fields[_f];
|
|
@@ -102,7 +104,10 @@ var LigandEncoder = /** @class */ (function () {
|
|
|
102
104
|
if (this.hydrogens) {
|
|
103
105
|
return false;
|
|
104
106
|
}
|
|
105
|
-
return type_symbol
|
|
107
|
+
return this.isHydrogen(type_symbol);
|
|
108
|
+
};
|
|
109
|
+
LigandEncoder.prototype.isHydrogen = function (type_symbol) {
|
|
110
|
+
return (0, common_1.isHydrogen)((0, common_1.getElementIdx)(type_symbol));
|
|
106
111
|
};
|
|
107
112
|
LigandEncoder.prototype.getSortedFields = function (instance, names) {
|
|
108
113
|
var _this = this;
|
|
@@ -36,13 +36,25 @@ var MolEncoder = /** @class */ (function (_super) {
|
|
|
36
36
|
mol_util_1.StringBuilder.writeSafe(this.builder, "".concat(name, "\n ").concat(this.encoder, "\n\n"));
|
|
37
37
|
var atomMap = this.componentAtomData.entries.get(name);
|
|
38
38
|
var bondMap = this.componentBondData.entries.get(name);
|
|
39
|
+
// happens for the unknown ligands (UNL)
|
|
40
|
+
if (!atomMap)
|
|
41
|
+
throw Error("The Chemical Component Dictionary doesn't hold any atom data for ".concat(name));
|
|
39
42
|
var bondCount = 0;
|
|
40
43
|
var chiral = false;
|
|
41
44
|
// traverse once to determine all actually present atoms
|
|
42
45
|
var atoms = this.getAtoms(instance, source);
|
|
43
46
|
atoms.forEach(function (atom1, label_atom_id1) {
|
|
44
|
-
var i1 = atom1.index;
|
|
45
|
-
var
|
|
47
|
+
var i1 = atom1.index, type_symbol1 = atom1.type_symbol;
|
|
48
|
+
var atomMapData1 = atomMap.map.get(label_atom_id1);
|
|
49
|
+
if (!atomMapData1) {
|
|
50
|
+
if (_this.isHydrogen(type_symbol1)) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
throw Error("Unknown atom ".concat(label_atom_id1, " for component ").concat(name));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
var charge = atomMapData1.charge, stereo_config = atomMapData1.stereo_config;
|
|
46
58
|
mol_util_1.StringBuilder.writePadLeft(ctab, atom1.Cartn_x.toFixed(4), 10);
|
|
47
59
|
mol_util_1.StringBuilder.writePadLeft(ctab, atom1.Cartn_y.toFixed(4), 10);
|
|
48
60
|
mol_util_1.StringBuilder.writePadLeft(ctab, atom1.Cartn_z.toFixed(4), 10);
|
|
@@ -60,8 +72,8 @@ var MolEncoder = /** @class */ (function (_super) {
|
|
|
60
72
|
var atom2 = atoms.get(label_atom_id2);
|
|
61
73
|
if (!atom2)
|
|
62
74
|
return;
|
|
63
|
-
var i2 = atom2.index
|
|
64
|
-
if (i1 < i2
|
|
75
|
+
var i2 = atom2.index;
|
|
76
|
+
if (i1 < i2) {
|
|
65
77
|
var order = bond.order;
|
|
66
78
|
mol_util_1.StringBuilder.writeIntegerPadLeft(bonds, i1 + 1, 3);
|
|
67
79
|
mol_util_1.StringBuilder.writeIntegerPadLeft(bonds, i2 + 1, 3);
|
|
@@ -30,20 +30,33 @@ var Mol2Encoder = /** @class */ (function (_super) {
|
|
|
30
30
|
// write header
|
|
31
31
|
var name = this.getName(instance, source);
|
|
32
32
|
mol_util_1.StringBuilder.writeSafe(this.builder, "# Name: ".concat(name, "\n# Created by ").concat(this.encoder, "\n\n"));
|
|
33
|
+
var atomMap = this.componentAtomData.entries.get(name);
|
|
33
34
|
var bondMap = this.componentBondData.entries.get(name);
|
|
35
|
+
// happens for the unknown ligands (UNL)
|
|
36
|
+
if (!atomMap)
|
|
37
|
+
throw Error("The Chemical Component Dictionary doesn't hold any atom data for ".concat(name));
|
|
34
38
|
var bondCount = 0;
|
|
35
39
|
var atoms = this.getAtoms(instance, source);
|
|
36
40
|
mol_util_1.StringBuilder.writeSafe(a, '@<TRIPOS>ATOM\n');
|
|
37
41
|
mol_util_1.StringBuilder.writeSafe(b, '@<TRIPOS>BOND\n');
|
|
38
42
|
atoms.forEach(function (atom1, label_atom_id1) {
|
|
39
|
-
var i1 = atom1.index;
|
|
43
|
+
var i1 = atom1.index, type_symbol1 = atom1.type_symbol;
|
|
44
|
+
var atomMapData1 = atomMap.map.get(label_atom_id1);
|
|
45
|
+
if (!atomMapData1) {
|
|
46
|
+
if (_this.isHydrogen(type_symbol1)) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
throw Error("Unknown atom ".concat(label_atom_id1, " for component ").concat(name));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
40
53
|
if (bondMap === null || bondMap === void 0 ? void 0 : bondMap.map) {
|
|
41
54
|
bondMap.map.get(label_atom_id1).forEach(function (bond, label_atom_id2) {
|
|
42
55
|
var atom2 = atoms.get(label_atom_id2);
|
|
43
56
|
if (!atom2)
|
|
44
57
|
return;
|
|
45
|
-
var i2 = atom2.index
|
|
46
|
-
if (i1 < i2
|
|
58
|
+
var i2 = atom2.index;
|
|
59
|
+
if (i1 < i2) {
|
|
47
60
|
var order = bond.order, flags = bond.flags;
|
|
48
61
|
var ar = types_1.BondType.is(16 /* Aromatic */, flags);
|
|
49
62
|
mol_util_1.StringBuilder.writeSafe(b, "".concat(++bondCount, " ").concat(i1 + 1, " ").concat(i2 + 1, " ").concat(ar ? 'ar' : order));
|
|
@@ -51,7 +64,7 @@ var Mol2Encoder = /** @class */ (function (_super) {
|
|
|
51
64
|
}
|
|
52
65
|
});
|
|
53
66
|
}
|
|
54
|
-
var sybyl = (bondMap === null || bondMap === void 0 ? void 0 : bondMap.map) ? _this.mapToSybyl(label_atom_id1,
|
|
67
|
+
var sybyl = (bondMap === null || bondMap === void 0 ? void 0 : bondMap.map) ? _this.mapToSybyl(label_atom_id1, type_symbol1, bondMap) : type_symbol1;
|
|
55
68
|
mol_util_1.StringBuilder.writeSafe(a, "".concat(i1 + 1, " ").concat(label_atom_id1, " ").concat(atom1.Cartn_x.toFixed(3), " ").concat(atom1.Cartn_y.toFixed(3), " ").concat(atom1.Cartn_z.toFixed(3), " ").concat(sybyl, " 1 ").concat(name, " 0.000\n"));
|
|
56
69
|
});
|
|
57
70
|
// could write something like 'SMALL\nNO_CHARGES', for now let's write **** indicating non-optional, yet missing, string values
|
|
@@ -30,7 +30,7 @@ export declare const PlyShapeParams: {
|
|
|
30
30
|
flatShaded: PD.BooleanParam;
|
|
31
31
|
ignoreLight: PD.BooleanParam;
|
|
32
32
|
xrayShaded: PD.BooleanParam;
|
|
33
|
-
|
|
33
|
+
transparentBackfaces: PD.Select<string>;
|
|
34
34
|
bumpFrequency: PD.Numeric;
|
|
35
35
|
bumpAmplitude: PD.Numeric;
|
|
36
36
|
alpha: PD.Numeric;
|
|
@@ -72,7 +72,7 @@ export declare function shapeFromPly(source: PlyFile, params?: {}): Task<ShapePr
|
|
|
72
72
|
flatShaded: PD.BooleanParam;
|
|
73
73
|
ignoreLight: PD.BooleanParam;
|
|
74
74
|
xrayShaded: PD.BooleanParam;
|
|
75
|
-
|
|
75
|
+
transparentBackfaces: PD.Select<string>;
|
|
76
76
|
bumpFrequency: PD.Numeric;
|
|
77
77
|
bumpAmplitude: PD.Numeric;
|
|
78
78
|
alpha: PD.Numeric;
|
package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare const InteractionsInterUnitParams: {
|
|
|
25
25
|
flatShaded: PD.BooleanParam;
|
|
26
26
|
ignoreLight: PD.BooleanParam;
|
|
27
27
|
xrayShaded: PD.BooleanParam;
|
|
28
|
-
|
|
28
|
+
transparentBackfaces: PD.Select<string>;
|
|
29
29
|
bumpFrequency: PD.Numeric;
|
|
30
30
|
bumpAmplitude: PD.Numeric;
|
|
31
31
|
alpha: PD.Numeric;
|
package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare const InteractionsIntraUnitParams: {
|
|
|
25
25
|
flatShaded: PD.BooleanParam;
|
|
26
26
|
ignoreLight: PD.BooleanParam;
|
|
27
27
|
xrayShaded: PD.BooleanParam;
|
|
28
|
-
|
|
28
|
+
transparentBackfaces: PD.Select<string>;
|
|
29
29
|
bumpFrequency: PD.Numeric;
|
|
30
30
|
bumpAmplitude: PD.Numeric;
|
|
31
31
|
alpha: PD.Numeric;
|
|
@@ -29,7 +29,7 @@ export declare const InteractionsParams: {
|
|
|
29
29
|
flatShaded: PD.BooleanParam;
|
|
30
30
|
ignoreLight: PD.BooleanParam;
|
|
31
31
|
xrayShaded: PD.BooleanParam;
|
|
32
|
-
|
|
32
|
+
transparentBackfaces: PD.Select<string>;
|
|
33
33
|
bumpFrequency: PD.Numeric;
|
|
34
34
|
bumpAmplitude: PD.Numeric;
|
|
35
35
|
alpha: PD.Numeric;
|
|
@@ -72,7 +72,7 @@ export declare function getInteractionParams(ctx: ThemeRegistryContext, structur
|
|
|
72
72
|
flatShaded: PD.BooleanParam;
|
|
73
73
|
ignoreLight: PD.BooleanParam;
|
|
74
74
|
xrayShaded: PD.BooleanParam;
|
|
75
|
-
|
|
75
|
+
transparentBackfaces: PD.Select<string>;
|
|
76
76
|
bumpFrequency: PD.Numeric;
|
|
77
77
|
bumpAmplitude: PD.Numeric;
|
|
78
78
|
alpha: PD.Numeric;
|
|
@@ -116,7 +116,7 @@ export declare const InteractionsRepresentationProvider: StructureRepresentation
|
|
|
116
116
|
flatShaded: PD.BooleanParam;
|
|
117
117
|
ignoreLight: PD.BooleanParam;
|
|
118
118
|
xrayShaded: PD.BooleanParam;
|
|
119
|
-
|
|
119
|
+
transparentBackfaces: PD.Select<string>;
|
|
120
120
|
bumpFrequency: PD.Numeric;
|
|
121
121
|
bumpAmplitude: PD.Numeric;
|
|
122
122
|
alpha: PD.Numeric;
|
|
@@ -30,7 +30,7 @@ export declare const CrossLinkRestraintCylinderParams: {
|
|
|
30
30
|
flatShaded: PD.BooleanParam;
|
|
31
31
|
ignoreLight: PD.BooleanParam;
|
|
32
32
|
xrayShaded: PD.BooleanParam;
|
|
33
|
-
|
|
33
|
+
transparentBackfaces: PD.Select<string>;
|
|
34
34
|
bumpFrequency: PD.Numeric;
|
|
35
35
|
bumpAmplitude: PD.Numeric;
|
|
36
36
|
alpha: PD.Numeric;
|
|
@@ -73,7 +73,7 @@ export declare const CrossLinkRestraintParams: {
|
|
|
73
73
|
flatShaded: PD.BooleanParam;
|
|
74
74
|
ignoreLight: PD.BooleanParam;
|
|
75
75
|
xrayShaded: PD.BooleanParam;
|
|
76
|
-
|
|
76
|
+
transparentBackfaces: PD.Select<string>;
|
|
77
77
|
bumpFrequency: PD.Numeric;
|
|
78
78
|
bumpAmplitude: PD.Numeric;
|
|
79
79
|
alpha: PD.Numeric;
|
|
@@ -115,7 +115,7 @@ export declare function getCrossLinkRestraintParams(ctx: ThemeRegistryContext, s
|
|
|
115
115
|
flatShaded: PD.BooleanParam;
|
|
116
116
|
ignoreLight: PD.BooleanParam;
|
|
117
117
|
xrayShaded: PD.BooleanParam;
|
|
118
|
-
|
|
118
|
+
transparentBackfaces: PD.Select<string>;
|
|
119
119
|
bumpFrequency: PD.Numeric;
|
|
120
120
|
bumpAmplitude: PD.Numeric;
|
|
121
121
|
alpha: PD.Numeric;
|
|
@@ -158,7 +158,7 @@ export declare const CrossLinkRestraintRepresentationProvider: StructureRepresen
|
|
|
158
158
|
flatShaded: PD.BooleanParam;
|
|
159
159
|
ignoreLight: PD.BooleanParam;
|
|
160
160
|
xrayShaded: PD.BooleanParam;
|
|
161
|
-
|
|
161
|
+
transparentBackfaces: PD.Select<string>;
|
|
162
162
|
bumpFrequency: PD.Numeric;
|
|
163
163
|
bumpAmplitude: PD.Numeric;
|
|
164
164
|
alpha: PD.Numeric;
|
|
@@ -37,7 +37,7 @@ declare class ViewportScreenshotHelper extends PluginComponent {
|
|
|
37
37
|
flipSided: boolean;
|
|
38
38
|
flatShaded: boolean;
|
|
39
39
|
xrayShaded: boolean;
|
|
40
|
-
|
|
40
|
+
transparentBackfaces: string;
|
|
41
41
|
bumpFrequency: number;
|
|
42
42
|
bumpAmplitude: number;
|
|
43
43
|
quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest";
|
|
@@ -70,7 +70,7 @@ declare class ViewportScreenshotHelper extends PluginComponent {
|
|
|
70
70
|
flipSided: boolean;
|
|
71
71
|
flatShaded: boolean;
|
|
72
72
|
xrayShaded: boolean;
|
|
73
|
-
|
|
73
|
+
transparentBackfaces: string;
|
|
74
74
|
bumpFrequency: number;
|
|
75
75
|
bumpAmplitude: number;
|
|
76
76
|
quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest";
|
|
@@ -111,7 +111,7 @@ declare class ViewportScreenshotHelper extends PluginComponent {
|
|
|
111
111
|
flipSided: boolean;
|
|
112
112
|
flatShaded: boolean;
|
|
113
113
|
xrayShaded: boolean;
|
|
114
|
-
|
|
114
|
+
transparentBackfaces: string;
|
|
115
115
|
bumpFrequency: number;
|
|
116
116
|
bumpAmplitude: number;
|
|
117
117
|
quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest";
|