UNPKG

molstar

Version:

A comprehensive macromolecular library.

65 lines (64 loc) 2.81 kB
/** * Copyright (c) 2021-2024 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> */ import { MeshValues } from '../../../mol-gl/renderable/mesh'; import { TextureImage } from '../../../mol-gl/renderable/util'; import { WebGLContext } from '../../../mol-gl/webgl/context'; import { Texture } from '../../../mol-gl/webgl/texture'; import { Sphere3D } from '../../../mol-math/geometry'; import { Vec2, Vec3, Vec4 } from '../../../mol-math/linear-algebra'; interface ColorSmoothingInput { vertexCount: number; instanceCount: number; groupCount: number; transformBuffer: Float32Array; instanceBuffer: Float32Array; positionBuffer: Float32Array; groupBuffer: Float32Array; colorData: TextureImage<Uint8Array>; colorType: 'group' | 'groupInstance'; boundingSphere: Sphere3D; invariantBoundingSphere: Sphere3D; itemSize: 4 | 3 | 1; } export declare function calcMeshColorSmoothing(input: ColorSmoothingInput, resolution: number, stride: number, webgl?: WebGLContext, texture?: Texture): { kind: "volume"; texture: Texture; gridTexDim: Vec2; gridDim: Vec3; gridTransform: Vec4; type: "volume" | "volumeInstance"; texDim?: undefined; } | { kind: "vertex"; texture: TextureImage<Uint8Array<ArrayBufferLike>>; texDim: Vec2; type: string; gridTexDim?: undefined; gridDim?: undefined; gridTransform?: undefined; }; interface ColorInterpolationInput { vertexCount: number; instanceCount: number; transformBuffer: Float32Array; positionBuffer: Float32Array; colorType: 'volumeInstance' | 'volume'; grid: Uint8Array; gridTexDim: Vec2; gridDim: Vec3; gridTransform: Vec4; vertexStride: 3 | 4; colorStride: 1 | 3 | 4; outputStride: 1 | 3 | 4; itemOffset?: 0 | 1 | 2 | 3; } export declare function getTrilinearlyInterpolated(input: ColorInterpolationInput): TextureImage<Uint8Array>; export declare function applyMeshColorSmoothing(values: MeshValues, resolution: number, stride: number, webgl?: WebGLContext, colorTexture?: Texture): void; export declare function applyMeshOverpaintSmoothing(values: MeshValues, resolution: number, stride: number, webgl?: WebGLContext, colorTexture?: Texture): void; export declare function applyMeshTransparencySmoothing(values: MeshValues, resolution: number, stride: number, webgl?: WebGLContext, colorTexture?: Texture): void; export declare function applyMeshEmissiveSmoothing(values: MeshValues, resolution: number, stride: number, webgl?: WebGLContext, colorTexture?: Texture): void; export declare function applyMeshSubstanceSmoothing(values: MeshValues, resolution: number, stride: number, webgl?: WebGLContext, colorTexture?: Texture): void; export {};