Browse Source

wip, clone params

Alexander Rose 6 years ago
parent
commit
9737f73dd2

+ 1 - 1
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>

+ 1 - 1
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>

+ 1 - 1
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> {

+ 1 - 1
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> {

+ 0 - 2
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>

+ 5 - 0
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)
+    }
 }