diff --git a/src/mol-repr/structure/representation/ball-and-stick.ts b/src/mol-repr/structure/representation/ball-and-stick.ts index ef30a9e51da49e9f67008be2c9f2886541c7e0f1..3cd9a158bdd22ec41c11bc7b5d7e87154aadc186 100644 --- a/src/mol-repr/structure/representation/ball-and-stick.ts +++ b/src/mol-repr/structure/representation/ball-and-stick.ts @@ -38,7 +38,7 @@ export const BallAndStickParams = { } export type BallAndStickParams = typeof BallAndStickParams export function getBallAndStickParams(ctx: ThemeRegistryContext, structure: Structure) { - return BallAndStickParams // TODO return copy + return PD.clone(BallAndStickParams) } export type BallAndStickRepresentation = StructureRepresentation<BallAndStickParams> diff --git a/src/mol-repr/structure/representation/cartoon.ts b/src/mol-repr/structure/representation/cartoon.ts index 1d478f25db44e81303f34f522b579636509377d5..16beffdc93ccdd33a656b0c3b9794cce0a0e3057 100644 --- a/src/mol-repr/structure/representation/cartoon.ts +++ b/src/mol-repr/structure/representation/cartoon.ts @@ -38,7 +38,7 @@ export const CartoonParams = { } export type CartoonParams = typeof CartoonParams export function getCartoonParams(ctx: ThemeRegistryContext, structure: Structure) { - return CartoonParams // TODO return copy + return PD.clone(CartoonParams) } export type CartoonRepresentation = StructureRepresentation<CartoonParams> diff --git a/src/mol-repr/volume/direct-volume.ts b/src/mol-repr/volume/direct-volume.ts index 295c26fc21cda47fe759223d3f7a2c22cb3cac39..d3890e7e5e58554526cd1a76d20a1a093ccf5ca2 100644 --- a/src/mol-repr/volume/direct-volume.ts +++ b/src/mol-repr/volume/direct-volume.ts @@ -161,7 +161,7 @@ export const DirectVolumeParams = { } export type DirectVolumeParams = typeof DirectVolumeParams export function getDirectVolumeParams(ctx: ThemeRegistryContext, volume: VolumeData) { - return DirectVolumeParams // TODO return copy + return PD.clone(DirectVolumeParams) } export function DirectVolumeVisual(): VolumeVisual<DirectVolumeParams> { diff --git a/src/mol-repr/volume/isosurface-mesh.ts b/src/mol-repr/volume/isosurface-mesh.ts index 8f3033dfe67e23c6496fa33db13b3feb17732de7..fd54afcefbdd4ac1f4370f124dd8361cfe18ef42 100644 --- a/src/mol-repr/volume/isosurface-mesh.ts +++ b/src/mol-repr/volume/isosurface-mesh.ts @@ -46,7 +46,7 @@ export const IsosurfaceParams = { } export type IsosurfaceParams = typeof IsosurfaceParams export function getIsosurfaceParams(ctx: ThemeRegistryContext, volume: VolumeData) { - return IsosurfaceParams // TODO return copy + return PD.clone(IsosurfaceParams) } export function IsosurfaceVisual(): VolumeVisual<IsosurfaceParams> { diff --git a/src/mol-repr/volume/representation.ts b/src/mol-repr/volume/representation.ts index b865c509fe23af2ea2c717c3541f79263402edb0..c4fa484d7c5ed69fbb53f8a84a90d9f33cd76964 100644 --- a/src/mol-repr/volume/representation.ts +++ b/src/mol-repr/volume/representation.ts @@ -145,8 +145,6 @@ export const VolumeParams = { isoValueRelative: PD.Range('Iso Value Relative', '', 2, -10, 10, 0.1), } export type VolumeParams = typeof VolumeParams -// export const DefaultVolumeProps = PD.getDefaultValues(VolumeParams) -// export type VolumeProps = typeof DefaultVolumeProps export function VolumeRepresentation<P extends VolumeParams>(label: string, getParams: RepresentationParamsGetter<VolumeData, P>, visualCtor: (volume: VolumeData) => VolumeVisual<P>): VolumeRepresentation<P> { let visual: VolumeVisual<P> diff --git a/src/mol-util/param-definition.ts b/src/mol-util/param-definition.ts index 2b7804bc7a4fbbf6f6780749ceb55f5d2cf8649a..3a7c8818a16148067098e6e45e2e751d2bc189b0 100644 --- a/src/mol-util/param-definition.ts +++ b/src/mol-util/param-definition.ts @@ -6,6 +6,7 @@ */ import { Color as ColorData } from './color'; +import { shallowClone } from 'mol-util'; export namespace ParamDefinition { export interface Base<T> { @@ -98,4 +99,8 @@ export namespace ParamDefinition { Object.keys(params).forEach(k => d[k] = params[k].defaultValue) return d as DefaultValues<T> } + + export function clone<P extends Params>(params: P): P { + return shallowClone(params) + } } \ No newline at end of file