Browse Source

log tweaks

Alexander Rose 6 years ago
parent
commit
dafe8ca242

+ 5 - 0
src/apps/canvas/app.ts

@@ -11,6 +11,7 @@ import { BehaviorSubject } from 'rxjs';
 import { CifBlock } from 'mol-io/reader/cif';
 import { VolumeView } from './volume-view';
 import { Ccp4File } from 'mol-io/reader/ccp4/schema';
+import { Progress } from 'mol-task';
 
 export class App {
     canvas3d: Canvas3D
@@ -59,6 +60,10 @@ export class App {
         return result
     }
 
+    log(progress: Progress) {
+        console.log(Progress.format(progress))
+    }
+
     //
 
     async loadMmcif(cif: CifBlock, assemblyId?: string) {

+ 4 - 5
src/apps/canvas/component/representation.tsx

@@ -10,14 +10,13 @@ import { App } from '../app';
 import { Params } from 'mol-util/parameter';
 import { Representation } from 'mol-geo/representation';
 import { ParametersComponent } from 'mol-app/component/parameters';
-import { Progress } from 'mol-task';
 import { ColorTheme } from 'mol-theme/color';
 import { getColorThemeProps } from 'mol-geo/geometry/color-data';
 import { ColorThemeComponent } from 'mol-app/component/color-theme';
 
 export interface RepresentationComponentProps {
     app: App
-    viewer: Canvas3D
+    canvas3d: Canvas3D
     repr: Representation<Params>
 }
 
@@ -43,10 +42,10 @@ export class RepresentationComponent extends React.Component<RepresentationCompo
 
     async onChange(k: string, v: any) {
         await this.props.app.runTask(this.props.repr.createOrUpdate({ [k]: v }).run(
-            progress => console.log(Progress.format(progress))
+            progress => this.props.app.log(progress)
         ), 'Representation Update')
-        this.props.viewer.add(this.props.repr)
-        this.props.viewer.requestDraw(true)
+        this.props.canvas3d.add(this.props.repr)
+        this.props.canvas3d.requestDraw(true)
         this.setState(this.stateFromRepr(this.props.repr))
     }
 

+ 1 - 1
src/apps/canvas/component/structure-view.tsx

@@ -174,7 +174,7 @@ export class StructureViewComponent extends React.Component<StructureViewCompone
                             return <div key={i}>
                                 <RepresentationComponent
                                     repr={structureRepresentations[k] as Representation<any>}
-                                    viewer={structureView.viewer}
+                                    canvas3d={structureView.viewer}
                                     app={structureView.app}
                                 />
                             </div>

+ 1 - 1
src/apps/canvas/component/volume-view.tsx

@@ -89,7 +89,7 @@ export class VolumeViewComponent extends React.Component<VolumeViewComponentProp
                             return <div key={i}>
                                 <RepresentationComponent
                                     repr={volumeRepresentations[k] as Representation<any>}
-                                    viewer={volumeView.viewer}
+                                    canvas3d={volumeView.viewer}
                                     app={volumeView.app}
                                 />
                             </div>

+ 1 - 2
src/apps/canvas/structure-view.ts

@@ -26,7 +26,6 @@ import { SpacefillRepresentation } from 'mol-geo/representation/structure/repres
 import { DistanceRestraintRepresentation } from 'mol-geo/representation/structure/representation/distance-restraint';
 import { MolecularSurfaceRepresentation } from 'mol-geo/representation/structure/representation/molecular-surface';
 import { App } from './app';
-import { Progress } from 'mol-task';
 
 export interface StructureView {
     readonly app: App
@@ -211,7 +210,7 @@ export async function StructureView(app: App, viewer: Canvas3D, models: Readonly
                 if (active[k]) {
                     const p = { webgl: viewer.webgl }
                     await app.runTask(structureRepresentations[k].createOrUpdate(p, structure).run(
-                        progress => console.log(Progress.format(progress))
+                        progress => app.log(progress)
                     ), 'Create/update representation')
                     viewer.add(structureRepresentations[k])
                 } else {

+ 1 - 2
src/apps/canvas/volume-view.ts

@@ -7,7 +7,6 @@
 import Canvas3D from 'mol-canvas3d/canvas3d';
 import { BehaviorSubject } from 'rxjs';
 import { App } from './app';
-import { Progress } from 'mol-task';
 import { VolumeData } from 'mol-model/volume';
 import { VolumeRepresentation } from 'mol-geo/representation/volume';
 import { IsosurfaceRepresentation } from 'mol-geo/representation/volume/isosurface-mesh';
@@ -57,7 +56,7 @@ export async function VolumeView(app: App, viewer: Canvas3D, volume: VolumeData,
             if (active[k]) {
                 const p = { webgl: viewer.webgl }
                 await app.runTask(volumeRepresentations[k].createOrUpdate(p, volume).run(
-                    progress => console.log(Progress.format(progress))
+                    progress => app.log(progress)
                 ), 'Create/update representation')
                 viewer.add(volumeRepresentations[k])
             } else {

+ 8 - 9
src/mol-math/geometry/gaussian-density/gpu.ts

@@ -17,7 +17,7 @@ import { RenderableState, Renderable } from 'mol-gl/renderable'
 import { createRenderable, createGaussianDensityRenderObject } from 'mol-gl/render-object'
 import { WebGLContext, createContext, getGLContext } from 'mol-gl/webgl/context';
 import { createTexture, Texture } from 'mol-gl/webgl/texture';
-import { GLRenderingContext, isWebGL2 } from 'mol-gl/webgl/compat';
+import { GLRenderingContext } from 'mol-gl/webgl/compat';
 import { decodeIdRGB } from 'mol-geo/geometry/picking';
 
 /** name for shared framebuffer used for gpu gaussian surface operations */
@@ -27,9 +27,9 @@ export async function GaussianDensityGPU(ctx: RuntimeContext, position: Position
     const webgl = defaults(props.webgl, getWebGLContext())
     // always use texture2d when the gaussian density needs to be downloaded from the GPU,
     // it's faster than texture3d
-    console.time('GaussianDensityTexture2d')
+    // console.time('GaussianDensityTexture2d')
     const { scale, bbox, texture, dim } = await GaussianDensityTexture2d(ctx, webgl, position, box, radius, props)
-    console.timeEnd('GaussianDensityTexture2d')
+    // console.timeEnd('GaussianDensityTexture2d')
     const { field, idField } = await fieldFromTexture2d(webgl, texture, dim)
 
     const transform = Mat4.identity()
@@ -40,11 +40,11 @@ export async function GaussianDensityGPU(ctx: RuntimeContext, position: Position
 }
 
 export async function GaussianDensityTexture(ctx: RuntimeContext, webgl: WebGLContext, position: PositionData, box: Box3D, radius: (index: number) => number, props: GaussianDensityProps, oldTexture?: Texture): Promise<DensityTextureData> {
-    console.time(`GaussianDensityTexture, ${webgl.isWebGL2 ? '3d' : '2d'}`)
+    // console.time(`GaussianDensityTexture, ${webgl.isWebGL2 ? '3d' : '2d'}`)
     const { texture, scale, bbox, dim } = webgl.isWebGL2 ?
         await GaussianDensityTexture3d(ctx, webgl, position, box, radius, props, oldTexture) :
         await GaussianDensityTexture2d(ctx, webgl, position, box, radius, props, oldTexture)
-    console.timeEnd(`GaussianDensityTexture, ${webgl.isWebGL2 ? '3d' : '2d'}`)
+    // console.timeEnd(`GaussianDensityTexture, ${webgl.isWebGL2 ? '3d' : '2d'}`)
 
     const transform = Mat4.identity()
     Mat4.fromScaling(transform, scale)
@@ -215,7 +215,7 @@ async function prepareGaussianDensityData(ctx: RuntimeContext, position: Positio
     const delta = getDelta(expandedBox, resolution)
     const dim = Vec3.zero()
     Vec3.ceil(dim, Vec3.mul(dim, extent, delta))
-    console.log('grid dim gpu', dim)
+    // console.log('grid dim gpu', dim)
 
     return { drawCount: n, positions, radii, groups, delta, expandedBox, dim }
 }
@@ -309,8 +309,7 @@ function getTexture2dSize(maxTexSize: number, gridDim: Vec3) {
 }
 
 async function fieldFromTexture2d(ctx: WebGLContext, texture: Texture, dim: Vec3) {
-    console.log('isWebGL2', isWebGL2(ctx.gl))
-    console.time('fieldFromTexture2d')
+    // console.time('fieldFromTexture2d')
     const { framebufferCache } = ctx
     const [ dx, dy, dz ] = dim
     const { width, height } = texture
@@ -348,7 +347,7 @@ async function fieldFromTexture2d(ctx: WebGLContext, texture: Texture, dim: Vec3
         tmpCol++
     }
 
-    console.timeEnd('fieldFromTexture2d')
+    // console.timeEnd('fieldFromTexture2d')
 
     return { field, idField }
 }