UNPKG

molstar

Version:

A comprehensive macromolecular library.

36 lines 2.05 kB
/** * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> */ import { idFactory } from '../mol-util/id-factory'; import { DirectVolumeRenderable } from './renderable/direct-volume'; import { MeshRenderable } from './renderable/mesh'; import { PointsRenderable } from './renderable/points'; import { LinesRenderable } from './renderable/lines'; import { SpheresRenderable } from './renderable/spheres'; import { TextRenderable } from './renderable/text'; import { TextureMeshRenderable } from './renderable/texture-mesh'; import { ImageRenderable } from './renderable/image'; import { CylindersRenderable } from './renderable/cylinders'; var getNextId = idFactory(0, 0x7FFFFFFF); export var getNextMaterialId = idFactory(0, 0x7FFFFFFF); // export function createRenderObject(type, values, state, materialId) { return { id: getNextId(), type: type, values: values, state: state, materialId: materialId }; } export function createRenderable(ctx, o) { switch (o.type) { case 'mesh': return MeshRenderable(ctx, o.id, o.values, o.state, o.materialId); case 'points': return PointsRenderable(ctx, o.id, o.values, o.state, o.materialId); case 'spheres': return SpheresRenderable(ctx, o.id, o.values, o.state, o.materialId); case 'cylinders': return CylindersRenderable(ctx, o.id, o.values, o.state, o.materialId); case 'text': return TextRenderable(ctx, o.id, o.values, o.state, o.materialId); case 'lines': return LinesRenderable(ctx, o.id, o.values, o.state, o.materialId); case 'direct-volume': return DirectVolumeRenderable(ctx, o.id, o.values, o.state, o.materialId); case 'image': return ImageRenderable(ctx, o.id, o.values, o.state, o.materialId); case 'texture-mesh': return TextureMeshRenderable(ctx, o.id, o.values, o.state, o.materialId); } throw new Error('unsupported type'); } //# sourceMappingURL=render-object.js.map