From fe43be7846dcb617c7e8140ac1d0aec473b7b70a Mon Sep 17 00:00:00 2001
From: Alexander Rose <alex.rose@rcsb.org>
Date: Fri, 22 Jun 2018 16:26:40 -0700
Subject: [PATCH] tweaked quality props

---
 src/mol-geo/representation/structure/index.ts | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/mol-geo/representation/structure/index.ts b/src/mol-geo/representation/structure/index.ts
index 37defba37..4ed40c07f 100644
--- a/src/mol-geo/representation/structure/index.ts
+++ b/src/mol-geo/representation/structure/index.ts
@@ -27,10 +27,23 @@ interface QualityProps {
 }
 
 function getQualityProps(props: Partial<QualityProps>, structure: Structure) {
-    const quality = defaults(props.quality, 'auto' as VisualQuality)
+    let quality = defaults(props.quality, 'auto' as VisualQuality)
     let detail = 1
     let radialSegments = 12
 
+    if (quality === 'auto') {
+        const score = structure.elementCount
+        if (score > 500_000) {
+            quality = 'lowest'
+        } else if (score > 100_000) {
+            quality = 'low'
+        } else if (score > 30_000) {
+            quality = 'medium'
+        } else {
+            quality = 'high'
+        }
+    }
+
     switch (quality) {
         case 'highest':
             detail = 3
@@ -52,9 +65,6 @@ function getQualityProps(props: Partial<QualityProps>, structure: Structure) {
             detail = 0
             radialSegments = 3
             break
-        case 'auto':
-            // TODO
-            break
         case 'custom':
             detail = defaults(props.detail, 1)
             radialSegments = defaults(props.radialSegments, 12)
-- 
GitLab