From c2b4fd72f390e46903281b7979b12d1d824767fa Mon Sep 17 00:00:00 2001 From: David Sehnal <david.sehnal@gmail.com> Date: Wed, 7 Nov 2018 19:12:19 +0100 Subject: [PATCH] mol-plugin: tweak resp state obj --- src/mol-plugin/behavior/representation.ts | 14 +++++++------- src/mol-plugin/state/objects.ts | 6 +----- src/mol-plugin/state/transforms/visuals.ts | 4 ++-- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/mol-plugin/behavior/representation.ts b/src/mol-plugin/behavior/representation.ts index f2b1ddf54..f2eac5aa9 100644 --- a/src/mol-plugin/behavior/representation.ts +++ b/src/mol-plugin/behavior/representation.ts @@ -11,32 +11,32 @@ class _AddRepresentationToCanvas extends PluginBehavior.Handler { register(): void { this.subscribeObservable(this.ctx.events.state.data.object.created, o => { if (!SO.StructureRepresentation3D.is(o.obj)) return; - this.ctx.canvas3d.add(o.obj.data.repr); + this.ctx.canvas3d.add(o.obj.data); this.ctx.canvas3d.requestDraw(true); }); this.subscribeObservable(this.ctx.events.state.data.object.updated, o => { const oo = o.obj; if (!SO.StructureRepresentation3D.is(oo)) return; - this.ctx.canvas3d.add(oo.data.repr); + this.ctx.canvas3d.add(oo.data); this.ctx.canvas3d.requestDraw(true); }); this.subscribeObservable(this.ctx.events.state.data.object.removed, o => { const oo = o.obj; console.log('removed', o.ref, oo && oo.type); if (!SO.StructureRepresentation3D.is(oo)) return; - this.ctx.canvas3d.remove(oo.data.repr); + this.ctx.canvas3d.remove(oo.data); console.log('removed from canvas', o.ref); this.ctx.canvas3d.requestDraw(true); - oo.data.repr.destroy(); + oo.data.destroy(); }); this.subscribeObservable(this.ctx.events.state.data.object.replaced, o => { if (o.oldObj && SO.StructureRepresentation3D.is(o.oldObj)) { - this.ctx.canvas3d.remove(o.oldObj.data.repr); + this.ctx.canvas3d.remove(o.oldObj.data); this.ctx.canvas3d.requestDraw(true); - o.oldObj.data.repr.destroy(); + o.oldObj.data.destroy(); } if (o.newObj && SO.StructureRepresentation3D.is(o.newObj)) { - this.ctx.canvas3d.add(o.newObj.data.repr); + this.ctx.canvas3d.add(o.newObj.data); this.ctx.canvas3d.requestDraw(true); } }); diff --git a/src/mol-plugin/state/objects.ts b/src/mol-plugin/state/objects.ts index e043e4d2f..cb2cf337c 100644 --- a/src/mol-plugin/state/objects.ts +++ b/src/mol-plugin/state/objects.ts @@ -35,11 +35,7 @@ namespace PluginStateObjects { export class Structure extends _create<_Structure>({ name: 'Molecule Structure', typeClass: 'Object', shortName: 'M_S', description: 'A structure of a molecule.' }) { } - export class StructureRepresentation3D extends _create<{ - repr: StructureRepresentation<any>, - // TODO - // props - }>({ name: 'Molecule Structure Representation', typeClass: 'Representation', shortName: 'S_R', description: 'A representation of a molecular structure.' }) { } + export class StructureRepresentation3D extends _create<StructureRepresentation<any>>({ name: 'Molecule Structure Representation', typeClass: 'Representation', shortName: 'S_R', description: 'A representation of a molecular structure.' }) { } } export { PluginStateObjects } \ No newline at end of file diff --git a/src/mol-plugin/state/transforms/visuals.ts b/src/mol-plugin/state/transforms/visuals.ts index cf00496b7..3dbb0a621 100644 --- a/src/mol-plugin/state/transforms/visuals.ts +++ b/src/mol-plugin/state/transforms/visuals.ts @@ -23,12 +23,12 @@ const CreateStructureRepresentation = PluginStateTransform.Create<SO.Structure, return Task.create('Structure Representation', async ctx => { const repr = BallAndStickRepresentation(); // CartoonRepresentation(); await repr.createOrUpdate({ webgl: plugin.canvas3d.webgl }, DefaultBallAndStickProps, a.data).runInContext(ctx); - return new SO.StructureRepresentation3D({ label: 'Visual Repr.' }, { repr }); + return new SO.StructureRepresentation3D({ label: 'Visual Repr.' }, repr); }); }, update({ a, b }, plugin: PluginContext) { return Task.create('Structure Representation', async ctx => { - await b.data.repr.createOrUpdate({ webgl: plugin.canvas3d.webgl }, b.data.repr.props, a.data).runInContext(ctx); + await b.data.createOrUpdate({ webgl: plugin.canvas3d.webgl }, b.data.props, a.data).runInContext(ctx); return Transformer.UpdateResult.Updated; }); } -- GitLab