Skip to content
Snippets Groups Projects
Commit 7d109716 authored by Alexander Rose's avatar Alexander Rose
Browse files

avoid cloning of structure repr params

parent 3d832115
No related branches found
No related tags found
No related merge requests found
Showing
with 29 additions and 25 deletions
......@@ -37,7 +37,7 @@ export const BallAndStickParams = {
};
export type BallAndStickParams = typeof BallAndStickParams
export function getBallAndStickParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(BallAndStickParams);
return BallAndStickParams;
}
export type BallAndStickRepresentation = StructureRepresentation<BallAndStickParams>
......
/**
* Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
......@@ -30,7 +30,7 @@ export const CarbohydrateParams = {
};
export type CarbohydrateParams = typeof CarbohydrateParams
export function getCarbohydrateParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(CarbohydrateParams);
return CarbohydrateParams;
}
export type CarbohydrateRepresentation = StructureRepresentation<CarbohydrateParams>
......
/**
* Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
* Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
......@@ -37,7 +37,7 @@ export const EllipsoidParams = {
};
export type EllipsoidParams = typeof EllipsoidParams
export function getEllipsoidParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(EllipsoidParams);
return EllipsoidParams;
}
export type EllipsoidRepresentation = StructureRepresentation<EllipsoidParams>
......
/**
* Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
......@@ -28,7 +28,7 @@ export const GaussianSurfaceParams = {
};
export type GaussianSurfaceParams = typeof GaussianSurfaceParams
export function getGaussianSurfaceParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(GaussianSurfaceParams);
return GaussianSurfaceParams;
}
export type GaussianSurfaceRepresentation = StructureRepresentation<GaussianSurfaceParams>
......
/**
* Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
......@@ -18,13 +18,12 @@ const GaussianVolumeVisuals = {
export const GaussianVolumeParams = {
...GaussianDensityVolumeParams,
jumpLength: PD.Numeric(4, { min: 0, max: 20, step: 0.1 }),
visuals: PD.MultiSelect(['gaussian-volume'], PD.objectToOptions(GaussianVolumeVisuals)),
};
export type GaussianVolumeParams = typeof GaussianVolumeParams
export function getGaussianVolumeParams(ctx: ThemeRegistryContext, structure: Structure) {
const p = PD.clone(GaussianVolumeParams);
p.jumpLength = PD.Numeric(4, { min: 0, max: 20, step: 0.1 });
return p;
return GaussianVolumeParams;
}
export type GaussianVolumeRepresentation = StructureRepresentation<GaussianVolumeParams>
......
/**
* Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
* Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
......@@ -22,7 +22,7 @@ export const LabelParams = {
};
export type LabelParams = typeof LabelParams
export function getLabelParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(LabelParams);
return LabelParams;
}
export type LabelRepresentation = StructureRepresentation<LabelParams>
......
......@@ -16,6 +16,7 @@ import { Structure } from '../../../mol-model/structure';
import { getUnitKindsParam } from '../params';
import { ElementPointParams, ElementPointVisual } from '../visual/element-point';
import { ElementCrossParams, ElementCrossVisual } from '../visual/element-cross';
import { Points } from '../../../mol-geo/geometry/points/points';
const LineVisuals = {
'intra-bond': (ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, IntraUnitBondLineParams>) => UnitsRepresentation('Intra-unit bond line', ctx, getParams, IntraUnitBondLineVisual),
......@@ -29,6 +30,7 @@ export const LineParams = {
...InterUnitBondLineParams,
...ElementPointParams,
...ElementCrossParams,
pointStyle: PD.Select('circle', PD.objectToOptions(Points.StyleTypes)),
multipleBonds: PD.Select('offset', PD.arrayToOptions(['off', 'symmetric', 'offset'] as const)),
includeParent: PD.Boolean(false),
sizeFactor: PD.Numeric(2, { min: 0.01, max: 10, step: 0.01 }),
......@@ -37,9 +39,7 @@ export const LineParams = {
};
export type LineParams = typeof LineParams
export function getLineParams(ctx: ThemeRegistryContext, structure: Structure) {
const params = PD.clone(LineParams);
params.pointStyle.defaultValue = 'circle';
return params;
return LineParams;
}
export type LineRepresentation = StructureRepresentation<LineParams>
......
......@@ -28,7 +28,7 @@ export const MolecularSurfaceParams = {
};
export type MolecularSurfaceParams = typeof MolecularSurfaceParams
export function getMolecularSurfaceParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(MolecularSurfaceParams);
return MolecularSurfaceParams;
}
export type MolecularSurfaceRepresentation = StructureRepresentation<MolecularSurfaceParams>
......
/**
* Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
* Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
......@@ -24,7 +24,7 @@ export const OrientationParams = {
};
export type OrientationParams = typeof OrientationParams
export function getOrientationParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(OrientationParams);
return OrientationParams;
}
export type OrientationRepresentation = StructureRepresentation<OrientationParams>
......
/**
* Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
......@@ -21,7 +21,7 @@ export const PointParams = {
};
export type PointParams = typeof PointParams
export function getPointParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(PointParams);
return PointParams;
}
export type PointRepresentation = StructureRepresentation<PointParams>
......
/**
* Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
* Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
......@@ -22,12 +22,17 @@ export const SpacefillParams = {
bumpFrequency: PD.Numeric(1, { min: 0, max: 10, step: 0.1 }, BaseGeometry.ShadingCategory),
};
export type SpacefillParams = typeof SpacefillParams
let CoarseGrainedSpacefillParams: SpacefillParams;
export function getSpacefillParams(ctx: ThemeRegistryContext, structure: Structure) {
const params = PD.clone(SpacefillParams);
if (structure.isCoarseGrained) {
params.sizeFactor.defaultValue = 2;
if (!CoarseGrainedSpacefillParams) {
CoarseGrainedSpacefillParams = PD.clone(SpacefillParams);
CoarseGrainedSpacefillParams.sizeFactor.defaultValue = 2;
}
return CoarseGrainedSpacefillParams;
}
return params;
return SpacefillParams;
}
export type SpacefillRepresentation = StructureRepresentation<SpacefillParams>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment