diff --git a/src/mol-plugin/behavior/representation.ts b/src/mol-plugin/behavior/representation.ts index f2b1ddf54b886a5f9b57e5d03dd74c1caa425fcb..f2eac5aa9da549e3c1f483dca98e6cb2ca458313 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 e043e4d2fda7a24670b8c4091da40e6b051d1d89..cb2cf337c0014d2a58f957595bce61982c4b9b3b 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 cf00496b79efc1467fdb156b07f8efae072f1c5e..3dbb0a621f161399802b8184f55767f729aa3dc6 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; }); }