UNPKG

molstar

Version:

A comprehensive macromolecular library.

37 lines (36 loc) 1.54 kB
/** * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> * @author David Sehnal <david.sehnal@gmail.com> */ import { WebGLContext } from './webgl/context'; import { GraphicsRenderObject } from './render-object'; import { Object3D } from './object3d'; import { Sphere3D } from '../mol-math/geometry'; import { GraphicsRenderable } from './renderable'; interface Scene extends Object3D { readonly count: number; readonly renderables: ReadonlyArray<GraphicsRenderable>; readonly boundingSphere: Sphere3D; readonly boundingSphereVisible: Sphere3D; readonly primitives: Scene.Group; readonly volumes: Scene.Group; /** Returns `true` if some visibility has changed, `false` otherwise. */ syncVisibility: () => boolean; update: (objects: ArrayLike<GraphicsRenderObject> | undefined, keepBoundingSphere: boolean) => void; add: (o: GraphicsRenderObject) => void; remove: (o: GraphicsRenderObject) => void; commit: (maxTimeMs?: number) => boolean; readonly needsCommit: boolean; has: (o: GraphicsRenderObject) => boolean; clear: () => void; forEach: (callbackFn: (value: GraphicsRenderable, key: GraphicsRenderObject) => void) => void; } declare namespace Scene { interface Group extends Object3D { readonly renderables: ReadonlyArray<GraphicsRenderable>; } function create(ctx: WebGLContext): Scene; } export { Scene };