molstar
Version:
A comprehensive macromolecular library.
37 lines (36 loc) • 1.54 kB
TypeScript
/**
* 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 };