From 06f84e6ef14d29ca85ea2efc20209a69bf127325 Mon Sep 17 00:00:00 2001
From: Alexander Rose <alex.rose@rcsb.org>
Date: Fri, 21 Sep 2018 18:00:34 -0700
Subject: [PATCH] wip, lines

---
 src/mol-geo/geometry/geometry.ts                           | 2 +-
 src/mol-geo/geometry/lines/lines-builder.ts                | 7 ++-----
 .../representation/structure/representation/surface.ts     | 6 +++---
 src/mol-geo/representation/structure/units-visual.ts       | 2 +-
 .../representation/structure/visual/util/gaussian.ts       | 2 +-
 src/mol-gl/shader/lines.vert                               | 5 -----
 6 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/src/mol-geo/geometry/geometry.ts b/src/mol-geo/geometry/geometry.ts
index e5a5667b7..5f75fc6c9 100644
--- a/src/mol-geo/geometry/geometry.ts
+++ b/src/mol-geo/geometry/geometry.ts
@@ -25,7 +25,7 @@ export namespace Geometry {
         switch (geometry.kind) {
             case 'mesh': return geometry.triangleCount * 3
             case 'points': return geometry.pointCount
-            case 'lines': return geometry.lineCount
+            case 'lines': return geometry.lineCount * 2 * 3
         }
     }
 
diff --git a/src/mol-geo/geometry/lines/lines-builder.ts b/src/mol-geo/geometry/lines/lines-builder.ts
index 74a5fcadd..db6ae4b45 100644
--- a/src/mol-geo/geometry/lines/lines-builder.ts
+++ b/src/mol-geo/geometry/lines/lines-builder.ts
@@ -33,10 +33,8 @@ export namespace LinesBuilder {
                 ChunkedArray.add2(mappings, -1, -1);
                 ChunkedArray.add2(mappings, 1, 1);
                 ChunkedArray.add2(mappings, 1, -1);
-                // ChunkedArray.add3(indices, offset, offset + 1, offset + 2);
-                // ChunkedArray.add3(indices, offset + 1, offset + 3, offset + 2);
-                ChunkedArray.add3(indices, offset + 2, offset + 1, offset);
-                ChunkedArray.add3(indices, offset + 2, offset + 3, offset + 1);
+                ChunkedArray.add3(indices, offset, offset + 1, offset + 2);
+                ChunkedArray.add3(indices, offset + 1, offset + 3, offset + 2);
             },
             getLines: () => {
                 const mb = ChunkedArray.compact(mappings, true) as Float32Array
@@ -44,7 +42,6 @@ export namespace LinesBuilder {
                 const gb = ChunkedArray.compact(groups, true) as Float32Array
                 const sb = ChunkedArray.compact(starts, true) as Float32Array
                 const eb = ChunkedArray.compact(ends, true) as Float32Array
-                console.log(indices.elementCount, mappings.elementCount, groups.elementCount)
                 return {
                     kind: 'lines',
                     lineCount: indices.elementCount / 2,
diff --git a/src/mol-geo/representation/structure/representation/surface.ts b/src/mol-geo/representation/structure/representation/surface.ts
index 9842fbbf0..98c50c392 100644
--- a/src/mol-geo/representation/structure/representation/surface.ts
+++ b/src/mol-geo/representation/structure/representation/surface.ts
@@ -12,11 +12,11 @@ import { MarkerAction } from '../../../geometry/marker-data';
 import { Loci } from 'mol-model/loci';
 import { PickingId } from '../../../geometry/picking';
 import { Task } from 'mol-task';
-import { GaussianDensityPointVisual, DefaultGaussianDensityPointProps } from '../visual/gaussian-density-point';
+import { GaussianDensityPointVisual } from '../visual/gaussian-density-point';
 import { DefaultGaussianWireframeProps, GaussianWireframeVisual } from '../visual/gaussian-surface-wireframe';
 
 export const DefaultSurfaceProps = {
-    // ...DefaultGaussianSurfaceProps,
+    ...DefaultGaussianSurfaceProps,
     // ...DefaultGaussianDensityPointProps,
     ...DefaultGaussianWireframeProps,
 }
@@ -40,7 +40,7 @@ export function SurfaceRepresentation(): SurfaceRepresentation {
         createOrUpdate: (props: Partial<SurfaceProps> = {}, structure?: Structure) => {
             currentProps = Object.assign({}, DefaultSurfaceProps, currentProps, props)
             return Task.create('Creating SurfaceRepresentation', async ctx => {
-                // await gaussianSurfaceRepr.createOrUpdate(currentProps, structure).runInContext(ctx)
+                await gaussianSurfaceRepr.createOrUpdate(currentProps, structure).runInContext(ctx)
                 // await gaussianPointRepr.createOrUpdate(currentProps, structure).runInContext(ctx)
                 await gaussianWireframeRepr.createOrUpdate(currentProps, structure).runInContext(ctx)
             })
diff --git a/src/mol-geo/representation/structure/units-visual.ts b/src/mol-geo/representation/structure/units-visual.ts
index ae26180d3..bc669e87c 100644
--- a/src/mol-geo/representation/structure/units-visual.ts
+++ b/src/mol-geo/representation/structure/units-visual.ts
@@ -424,7 +424,7 @@ export function UnitsLinesVisual<P extends UnitsLinesProps>(builder: UnitsLinesV
             lines = newProps.unitKinds.includes(unit.kind)
                 ? await createLines(ctx, unit, currentStructure, newProps, lines)
                 : Lines.createEmpty(lines)
-            ValueCell.update(renderObject.values.drawCount, lines.lineCount)
+            ValueCell.update(renderObject.values.drawCount, lines.lineCount * 2 * 3)
             updateState.updateColor = true
         }
 
diff --git a/src/mol-geo/representation/structure/visual/util/gaussian.ts b/src/mol-geo/representation/structure/visual/util/gaussian.ts
index da5993c35..ce06f079d 100644
--- a/src/mol-geo/representation/structure/visual/util/gaussian.ts
+++ b/src/mol-geo/representation/structure/visual/util/gaussian.ts
@@ -11,7 +11,7 @@ import { Box3D } from 'mol-math/geometry';
 import { SizeTheme } from 'mol-view/theme/size';
 
 export const DefaultGaussianDensityProps = {
-    resolutionFactor: 4,
+    resolutionFactor: 6,
     radiusOffset: 0,
     smoothness: 1.5,
 }
diff --git a/src/mol-gl/shader/lines.vert b/src/mol-gl/shader/lines.vert
index 7e0b02eda..5aae3b718 100644
--- a/src/mol-gl/shader/lines.vert
+++ b/src/mol-gl/shader/lines.vert
@@ -119,9 +119,4 @@ void main(){
     offset *= clip.w;
     clip.xy += offset;
     gl_Position = clip;
-
-    // gl_Position = uProjection * (modelView * vec4(aEnd.x * 5.0 - 5.0, aMapping.y * 5.0, 2.0, 1.0));
-
-    // TODO
-    // vViewPosition = (projectionMatrixInverse * clip).xyz;
 }
\ No newline at end of file
-- 
GitLab