Browse Source

tweaked quality props

Alexander Rose 6 years ago
parent
commit
fe43be7846
1 changed files with 14 additions and 4 deletions
  1. 14 4
      src/mol-geo/representation/structure/index.ts

+ 14 - 4
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)