From 424121fe99b5d7c199b7df1f5fdc5cb9c1402515 Mon Sep 17 00:00:00 2001
From: David Sehnal <david.sehnal@gmail.com>
Date: Wed, 25 Oct 2017 01:14:57 +0200
Subject: [PATCH] operator

---
 src/mol-data/structure.ts | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/mol-data/structure.ts b/src/mol-data/structure.ts
index 5902cd55b..16b0d72f0 100644
--- a/src/mol-data/structure.ts
+++ b/src/mol-data/structure.ts
@@ -8,15 +8,13 @@ import { Vec3, Mat4 } from '../mol-base/math/linear-algebra'
 import AtomSet from './atom-set'
 import Model from './model'
 
-export type Operator =
-    | { kind: Operator.Kind.Identity }
-    | { kind: Operator.Kind.Symmetry, hkl: number[], index: number, name: string, transform: Mat4, inverse: Mat4 }
-    | { kind: Operator.Kind.Assembly, assemblyName: string, index: number, transform: Mat4, inverse: Mat4 }
-    | { kind: Operator.Kind.Custom, name: string, transform: Mat4, inverse: Mat4 }
-
-export namespace Operator {
-    export enum Kind { Identity, Symmetry, Assembly, Custom }
-}
+export interface Operator extends Readonly<{
+    name: string,
+    hkl: number[], // defaults to [0, 0, 0] where not appropriate
+    transform: Mat4,
+    inverse: Mat4,
+    isIdentity: boolean
+}> { }
 
 export interface Unit extends Readonly<{
     // Structure-level unique identifier of the unit.
-- 
GitLab