From 06780bf31079c9135294031b3fb3258b7b183583 Mon Sep 17 00:00:00 2001
From: David Sehnal <david.sehnal@gmail.com>
Date: Thu, 26 Oct 2017 14:07:09 +0200
Subject: [PATCH] move column to "mol-base"

---
 .../reader/common => mol-base/collections}/column.ts   |  0
 src/mol-data/conformation.ts                           | 10 ++++++++++
 src/mol-data/model.ts                                  |  6 ------
 src/mol-data/model/{common.ts => formats.ts}           |  0
 src/mol-data/model/formats/mmcif.ts                    |  7 +++++++
 src/mol-data/model/interfaces/common.ts                |  7 +++++++
 src/mol-data/model/interfaces/mmcif.ts                 |  7 +++++++
 src/mol-data/{model/mmcif.ts => selection.ts}          |  0
 src/mol-data/structure.ts                              |  3 +++
 src/mol-io/reader/_spec/column.spec.ts                 |  2 +-
 src/mol-io/reader/cif/binary/field.ts                  |  2 +-
 src/mol-io/reader/cif/data-model.ts                    |  2 +-
 src/mol-io/reader/cif/schema.ts                        |  2 +-
 src/mol-io/reader/cif/text/field.ts                    |  2 +-
 src/mol-io/reader/common/text/column/fixed.ts          |  2 +-
 src/mol-io/reader/common/text/column/token.ts          |  2 +-
 src/mol-io/reader/gro/parser.ts                        |  2 +-
 src/mol-io/reader/gro/schema.d.ts                      |  2 +-
 src/mol-io/reader/mol2/schema.d.ts                     |  2 +-
 19 files changed, 44 insertions(+), 16 deletions(-)
 rename src/{mol-io/reader/common => mol-base/collections}/column.ts (100%)
 create mode 100644 src/mol-data/conformation.ts
 rename src/mol-data/model/{common.ts => formats.ts} (100%)
 create mode 100644 src/mol-data/model/formats/mmcif.ts
 create mode 100644 src/mol-data/model/interfaces/common.ts
 create mode 100644 src/mol-data/model/interfaces/mmcif.ts
 rename src/mol-data/{model/mmcif.ts => selection.ts} (100%)

diff --git a/src/mol-io/reader/common/column.ts b/src/mol-base/collections/column.ts
similarity index 100%
rename from src/mol-io/reader/common/column.ts
rename to src/mol-base/collections/column.ts
diff --git a/src/mol-data/conformation.ts b/src/mol-data/conformation.ts
new file mode 100644
index 000000000..bffdc60c4
--- /dev/null
+++ b/src/mol-data/conformation.ts
@@ -0,0 +1,10 @@
+/**
+ * Copyright (c) 2017 molio contributors, licensed under MIT, See LICENSE file for more info.
+ *
+ * @author David Sehnal <david.sehnal@gmail.com>
+ */
+
+interface Conformation {
+}
+
+export default Conformation
diff --git a/src/mol-data/model.ts b/src/mol-data/model.ts
index b941373a3..af1d9e34b 100644
--- a/src/mol-data/model.ts
+++ b/src/mol-data/model.ts
@@ -7,12 +7,6 @@
 // TODO: define property accessor intefaces, graphs, spatial lookups and what have you.
 
 interface Model {
-
-    // Incremented when data changes
-    dataVersion: number,
-
-    // Incremented when the underlying conformation changes
-    conformationVersion: number,
 }
 
 export default Model
diff --git a/src/mol-data/model/common.ts b/src/mol-data/model/formats.ts
similarity index 100%
rename from src/mol-data/model/common.ts
rename to src/mol-data/model/formats.ts
diff --git a/src/mol-data/model/formats/mmcif.ts b/src/mol-data/model/formats/mmcif.ts
new file mode 100644
index 000000000..96788f75b
--- /dev/null
+++ b/src/mol-data/model/formats/mmcif.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) 2017 molio contributors, licensed under MIT, See LICENSE file for more info.
+ *
+ * @author David Sehnal <david.sehnal@gmail.com>
+ */
+
+// TODO: implement interfaces for mmCIF source data format
\ No newline at end of file
diff --git a/src/mol-data/model/interfaces/common.ts b/src/mol-data/model/interfaces/common.ts
new file mode 100644
index 000000000..36e049ca0
--- /dev/null
+++ b/src/mol-data/model/interfaces/common.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) 2017 molio contributors, licensed under MIT, See LICENSE file for more info.
+ *
+ * @author David Sehnal <david.sehnal@gmail.com>
+ */
+
+// TODO: define basic hierarchy, sec. structure. etc.
\ No newline at end of file
diff --git a/src/mol-data/model/interfaces/mmcif.ts b/src/mol-data/model/interfaces/mmcif.ts
new file mode 100644
index 000000000..3eae6edc1
--- /dev/null
+++ b/src/mol-data/model/interfaces/mmcif.ts
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) 2017 molio contributors, licensed under MIT, See LICENSE file for more info.
+ *
+ * @author David Sehnal <david.sehnal@gmail.com>
+ */
+
+// TODO: map parts of mmCIF schema to create interfaces
\ No newline at end of file
diff --git a/src/mol-data/model/mmcif.ts b/src/mol-data/selection.ts
similarity index 100%
rename from src/mol-data/model/mmcif.ts
rename to src/mol-data/selection.ts
diff --git a/src/mol-data/structure.ts b/src/mol-data/structure.ts
index 37727d249..e7ae5aa15 100644
--- a/src/mol-data/structure.ts
+++ b/src/mol-data/structure.ts
@@ -7,6 +7,7 @@
 import { Vec3, Mat4 } from '../mol-base/math/linear-algebra'
 import AtomSet from './atom-set'
 import Model from './model'
+import Conformation from './conformation'
 
 export interface Operator extends Readonly<{
     name: string,
@@ -29,6 +30,8 @@ export interface Unit extends Readonly<{
     // Provides access to the underlying data.
     model: Model,
 
+    conformation: Conformation,
+
     // Determines the operation applied to this unit.
     // The transform and and inverse are baked into the "getPosition" function
     operator: Operator
diff --git a/src/mol-io/reader/_spec/column.spec.ts b/src/mol-io/reader/_spec/column.spec.ts
index 1bd08dfdb..de51bde20 100644
--- a/src/mol-io/reader/_spec/column.spec.ts
+++ b/src/mol-io/reader/_spec/column.spec.ts
@@ -7,7 +7,7 @@
 
 import FixedColumn from '../common/text/column/fixed'
 import TokenColumn from '../common/text/column/token'
-import { ColumnType, typedArrayWindow } from '../common/column'
+import { ColumnType, typedArrayWindow } from '../../../mol-base/collections/column'
 
 const lines = [
     '1.123 abc',
diff --git a/src/mol-io/reader/cif/binary/field.ts b/src/mol-io/reader/cif/binary/field.ts
index 2c8821e68..d1d1c035a 100644
--- a/src/mol-io/reader/cif/binary/field.ts
+++ b/src/mol-io/reader/cif/binary/field.ts
@@ -4,7 +4,7 @@
  * @author David Sehnal <david.sehnal@gmail.com>
  */
 
-import * as Column from '../../common/column'
+import * as Column from '../../../../mol-base/collections/column'
 import * as Data from '../data-model'
 import { EncodedColumn } from './encoding'
 import decode from './decoder'
diff --git a/src/mol-io/reader/cif/data-model.ts b/src/mol-io/reader/cif/data-model.ts
index aa8a4d89c..e396f71b7 100644
--- a/src/mol-io/reader/cif/data-model.ts
+++ b/src/mol-io/reader/cif/data-model.ts
@@ -4,7 +4,7 @@
  * @author David Sehnal <david.sehnal@gmail.com>
  */
 
-import * as Column from '../common/column'
+import * as Column from '../../../mol-base/collections/column'
 
 export interface File {
     readonly name?: string,
diff --git a/src/mol-io/reader/cif/schema.ts b/src/mol-io/reader/cif/schema.ts
index 67f173f0b..b391d05b9 100644
--- a/src/mol-io/reader/cif/schema.ts
+++ b/src/mol-io/reader/cif/schema.ts
@@ -5,7 +5,7 @@
  */
 
 import * as Data from './data-model'
-import * as Column from '../common/column'
+import * as Column from '../../../mol-base/collections/column'
 import StringPool from '../../utils/short-string-pool'
 
 /**
diff --git a/src/mol-io/reader/cif/text/field.ts b/src/mol-io/reader/cif/text/field.ts
index 2e09cd1b0..338bc327d 100644
--- a/src/mol-io/reader/cif/text/field.ts
+++ b/src/mol-io/reader/cif/text/field.ts
@@ -4,7 +4,7 @@
  * @author David Sehnal <david.sehnal@gmail.com>
  */
 
-import * as Column from '../../common/column'
+import * as Column from '../../../../mol-base/collections/column'
 import * as TokenColumn from '../../common/text/column/token'
 import { Tokens } from '../../common/text/tokenizer'
 import * as Data from '../data-model'
diff --git a/src/mol-io/reader/common/text/column/fixed.ts b/src/mol-io/reader/common/text/column/fixed.ts
index f4b36de8d..0a384f8a4 100644
--- a/src/mol-io/reader/common/text/column/fixed.ts
+++ b/src/mol-io/reader/common/text/column/fixed.ts
@@ -4,7 +4,7 @@
  * @author David Sehnal <david.sehnal@gmail.com>
  */
 
-import { Column, ColumnType, createAndFillArray } from '../../column'
+import { Column, ColumnType, createAndFillArray } from '../../../../../mol-base/collections/column'
 import { trimStr, Tokens } from '../tokenizer'
 import { parseIntSkipLeadingWhitespace, parseFloatSkipLeadingWhitespace } from '../number-parser'
 import StringPool from '../../../../utils/short-string-pool'
diff --git a/src/mol-io/reader/common/text/column/token.ts b/src/mol-io/reader/common/text/column/token.ts
index ae203b1fa..0b8d732b9 100644
--- a/src/mol-io/reader/common/text/column/token.ts
+++ b/src/mol-io/reader/common/text/column/token.ts
@@ -4,7 +4,7 @@
  * @author David Sehnal <david.sehnal@gmail.com>
  */
 
-import { Column, ColumnType, createAndFillArray } from '../../column'
+import { Column, ColumnType, createAndFillArray } from '../../../../../mol-base/collections/column'
 import { Tokens } from '../tokenizer'
 import { parseInt as fastParseInt, parseFloat as fastParseFloat } from '../number-parser'
 import StringPool from '../../../../utils/short-string-pool'
diff --git a/src/mol-io/reader/gro/parser.ts b/src/mol-io/reader/gro/parser.ts
index 3c71b3adb..f4d28e4b0 100644
--- a/src/mol-io/reader/gro/parser.ts
+++ b/src/mol-io/reader/gro/parser.ts
@@ -7,7 +7,7 @@
 
 import Tokenizer from '../common/text/tokenizer'
 import FixedColumn from '../common/text/column/fixed'
-import { ColumnType, UndefinedColumn } from '../common/column'
+import { ColumnType, UndefinedColumn } from '../../../mol-base/collections/column'
 import * as Schema from './schema'
 import Result from '../result'
 import Computation from '../../../mol-base/computation'
diff --git a/src/mol-io/reader/gro/schema.d.ts b/src/mol-io/reader/gro/schema.d.ts
index 2ee9bc0ed..981d2906a 100644
--- a/src/mol-io/reader/gro/schema.d.ts
+++ b/src/mol-io/reader/gro/schema.d.ts
@@ -5,7 +5,7 @@
  * @author David Sehnal <david.sehnal@gmail.com>
  */
 
-import { Column } from '../common/column'
+import { Column } from '../../../mol-base/collections/column'
 
 export interface Header {
     title: string,
diff --git a/src/mol-io/reader/mol2/schema.d.ts b/src/mol-io/reader/mol2/schema.d.ts
index 7f1e73fb2..8284c6f05 100644
--- a/src/mol-io/reader/mol2/schema.d.ts
+++ b/src/mol-io/reader/mol2/schema.d.ts
@@ -4,7 +4,7 @@
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
  */
 
-import { Column } from '../common/column'
+import { Column } from '../../../mol-base/collections/column'
 
 // Full format http://chemyang.ccnu.edu.cn/ccb/server/AIMMS/mol2.pdf
 // there are many records but for now ignore (pass over) all but the following
-- 
GitLab