Skip to content
Snippets Groups Projects
Commit 0ec090a3 authored by Alexander Rose's avatar Alexander Rose
Browse files

renamed molecular surface/volume to gaussian surface/volume

parent 34c82b11
No related branches found
No related tags found
No related merge requests found
......@@ -8,8 +8,8 @@ import { Structure } from 'mol-model/structure';
import { RepresentationProvider, RepresentationRegistry } from '../representation';
import { CartoonRepresentationProvider } from './representation/cartoon';
import { BallAndStickRepresentationProvider } from './representation/ball-and-stick';
import { MolecularSurfaceRepresentationProvider } from './representation/molecular-surface';
import { MolecularVolumeRepresentationProvider } from './representation/molecular-volume';
import { GaussianSurfaceRepresentationProvider } from './representation/gaussian-surface';
import { GaussianVolumeRepresentationProvider } from './representation/gaussian-volume';
import { CarbohydrateRepresentationProvider } from './representation/carbohydrate';
import { SpacefillRepresentationProvider } from './representation/spacefill';
import { DistanceRestraintRepresentationProvider } from './representation/distance-restraint';
......@@ -32,8 +32,8 @@ export const BuiltInStructureRepresentations = {
'ball-and-stick': BallAndStickRepresentationProvider,
'carbohydrate': CarbohydrateRepresentationProvider,
'distance-restraint': DistanceRestraintRepresentationProvider,
'molecular-surface': MolecularSurfaceRepresentationProvider,
'molecular-volume': MolecularVolumeRepresentationProvider,
'gaussian-surface': GaussianSurfaceRepresentationProvider,
'gaussian-volume': GaussianVolumeRepresentationProvider,
'point': PointRepresentationProvider,
'putty': PuttyRepresentationProvider,
'spacefill': SpacefillRepresentationProvider,
......
......@@ -4,7 +4,7 @@
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { GaussianSurfaceMeshVisual, GaussianSurfaceTextureMeshVisual, GaussianSurfaceParams } from '../visual/gaussian-surface-mesh';
import { GaussianSurfaceMeshVisual, GaussianSurfaceTextureMeshVisual, GaussianSurfaceMeshParams } from '../visual/gaussian-surface-mesh';
import { UnitsRepresentation } from '../units-representation';
import { GaussianWireframeVisual, GaussianWireframeParams } from '../visual/gaussian-surface-wireframe';
import { ParamDefinition as PD } from 'mol-util/param-definition';
......@@ -13,35 +13,35 @@ import { Representation, RepresentationParamsGetter, RepresentationContext } fro
import { ThemeRegistryContext } from 'mol-theme/theme';
import { Structure } from 'mol-model/structure';
const MolecularSurfaceVisuals = {
'gaussian-surface-mesh': (ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, GaussianSurfaceParams>) => UnitsRepresentation('Gaussian surface', ctx, getParams, GaussianSurfaceMeshVisual),
'gaussian-surface-texture-mesh': (ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, GaussianSurfaceParams>) => UnitsRepresentation('Gaussian surface', ctx, getParams, GaussianSurfaceTextureMeshVisual),
const GaussianSurfaceVisuals = {
'gaussian-surface-mesh': (ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, GaussianSurfaceMeshParams>) => UnitsRepresentation('Gaussian surface', ctx, getParams, GaussianSurfaceMeshVisual),
'gaussian-surface-texture-mesh': (ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, GaussianSurfaceMeshParams>) => UnitsRepresentation('Gaussian surface', ctx, getParams, GaussianSurfaceTextureMeshVisual),
'gaussian-wireframe': (ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, GaussianWireframeParams>) => UnitsRepresentation('Gaussian wireframe', ctx, getParams, GaussianWireframeVisual),
}
type MolecularSurfaceVisualName = keyof typeof MolecularSurfaceVisuals
const MolecularSurfaceVisualOptions = Object.keys(MolecularSurfaceVisuals).map(name => [name, name] as [MolecularSurfaceVisualName, string])
type GaussianSurfaceVisualName = keyof typeof GaussianSurfaceVisuals
const GaussianSurfaceVisualOptions = Object.keys(GaussianSurfaceVisuals).map(name => [name, name] as [GaussianSurfaceVisualName, string])
export const MolecularSurfaceParams = {
...GaussianSurfaceParams,
export const GaussianSurfaceParams = {
...GaussianSurfaceMeshParams,
...GaussianWireframeParams,
visuals: PD.MultiSelect<MolecularSurfaceVisualName>(['gaussian-surface-mesh'], MolecularSurfaceVisualOptions),
visuals: PD.MultiSelect<GaussianSurfaceVisualName>(['gaussian-surface-mesh'], GaussianSurfaceVisualOptions),
}
export type MolecularSurfaceParams = typeof MolecularSurfaceParams
export function getMolecularSurfaceParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(MolecularSurfaceParams)
export type GaussianSurfaceParams = typeof GaussianSurfaceParams
export function getGaussianSurfaceParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(GaussianSurfaceParams)
}
export type MolecularSurfaceRepresentation = StructureRepresentation<MolecularSurfaceParams>
export function MolecularSurfaceRepresentation(ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, MolecularSurfaceParams>): MolecularSurfaceRepresentation {
return Representation.createMulti('Molecular Surface', ctx, getParams, StructureRepresentationStateBuilder, MolecularSurfaceVisuals as unknown as Representation.Def<Structure, MolecularSurfaceParams>)
export type GaussianSurfaceRepresentation = StructureRepresentation<GaussianSurfaceParams>
export function GaussianSurfaceRepresentation(ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, GaussianSurfaceParams>): GaussianSurfaceRepresentation {
return Representation.createMulti('Gaussian Surface', ctx, getParams, StructureRepresentationStateBuilder, GaussianSurfaceVisuals as unknown as Representation.Def<Structure, GaussianSurfaceParams>)
}
export const MolecularSurfaceRepresentationProvider: StructureRepresentationProvider<MolecularSurfaceParams> = {
label: 'Molecular Surface',
export const GaussianSurfaceRepresentationProvider: StructureRepresentationProvider<GaussianSurfaceParams> = {
label: 'Gaussian Surface',
description: 'Displays a gaussian molecular surface.',
factory: MolecularSurfaceRepresentation,
getParams: getMolecularSurfaceParams,
defaultValues: PD.getDefaultValues(MolecularSurfaceParams),
factory: GaussianSurfaceRepresentation,
getParams: getGaussianSurfaceParams,
defaultValues: PD.getDefaultValues(GaussianSurfaceParams),
defaultColorTheme: 'polymer-id',
defaultSizeTheme: 'uniform'
}
\ No newline at end of file
......@@ -11,29 +11,29 @@ import { Representation, RepresentationParamsGetter, RepresentationContext } fro
import { ThemeRegistryContext } from 'mol-theme/theme';
import { Structure } from 'mol-model/structure';
const MolecularVolumeVisuals = {
const GaussianVolumeVisuals = {
'gaussian-volume': (ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, GaussianDensityVolumeParams>) => ComplexRepresentation('Gaussian volume', ctx, getParams, GaussianDensityVolumeVisual)
}
export const MolecularVolumeParams = {
export const GaussianVolumeParams = {
...GaussianDensityVolumeParams,
}
export type MolecularVolumeParams = typeof MolecularVolumeParams
export function getMolecularVolumeParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(MolecularVolumeParams)
export type GaussianVolumeParams = typeof GaussianVolumeParams
export function getGaussianVolumeParams(ctx: ThemeRegistryContext, structure: Structure) {
return PD.clone(GaussianVolumeParams)
}
export type MolecularVolumeRepresentation = StructureRepresentation<MolecularVolumeParams>
export function MolecularVolumeRepresentation(ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, MolecularVolumeParams>): MolecularVolumeRepresentation {
return Representation.createMulti('Molecular Volume', ctx, getParams, StructureRepresentationStateBuilder, MolecularVolumeVisuals as unknown as Representation.Def<Structure, MolecularVolumeParams>)
export type GaussianVolumeRepresentation = StructureRepresentation<GaussianVolumeParams>
export function GaussianVolumeRepresentation(ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, GaussianVolumeParams>): GaussianVolumeRepresentation {
return Representation.createMulti('Gaussian Volume', ctx, getParams, StructureRepresentationStateBuilder, GaussianVolumeVisuals as unknown as Representation.Def<Structure, GaussianVolumeParams>)
}
export const MolecularVolumeRepresentationProvider: StructureRepresentationProvider<MolecularVolumeParams> = {
label: 'Molecular Volume',
export const GaussianVolumeRepresentationProvider: StructureRepresentationProvider<GaussianVolumeParams> = {
label: 'Gaussian Volume',
description: 'Displays a gaussian molecular density using direct volume rendering.',
factory: MolecularVolumeRepresentation,
getParams: getMolecularVolumeParams,
defaultValues: PD.getDefaultValues(MolecularVolumeParams),
factory: GaussianVolumeRepresentation,
getParams: getGaussianVolumeParams,
defaultValues: PD.getDefaultValues(GaussianVolumeParams),
defaultColorTheme: 'polymer-id',
defaultSizeTheme: 'uniform'
}
\ No newline at end of file
......@@ -22,12 +22,12 @@ import { createHistogramPyramid } from 'mol-gl/compute/histogram-pyramid/reducti
import { createIsosurfaceBuffers } from 'mol-gl/compute/marching-cubes/isosurface';
import { Sphere3D } from 'mol-math/geometry';
export const GaussianSurfaceParams = {
export const GaussianSurfaceMeshParams = {
...UnitsMeshParams,
...UnitsTextureMeshParams,
...GaussianDensityParams,
}
export type GaussianSurfaceParams = typeof GaussianSurfaceParams
export type GaussianSurfaceMeshParams = typeof GaussianSurfaceMeshParams
export function getGaussianSurfaceVisual(webgl?: WebGLContext) {
return webgl && webgl.extensions.drawBuffers ? GaussianSurfaceTextureMeshVisual : GaussianSurfaceMeshVisual
......@@ -53,14 +53,14 @@ async function createGaussianSurfaceMesh(ctx: VisualContext, unit: Unit, structu
return surface
}
export function GaussianSurfaceMeshVisual(materialId: number): UnitsVisual<GaussianSurfaceParams> {
return UnitsMeshVisual<GaussianSurfaceParams>({
defaultProps: PD.getDefaultValues(GaussianSurfaceParams),
export function GaussianSurfaceMeshVisual(materialId: number): UnitsVisual<GaussianSurfaceMeshParams> {
return UnitsMeshVisual<GaussianSurfaceMeshParams>({
defaultProps: PD.getDefaultValues(GaussianSurfaceMeshParams),
createGeometry: createGaussianSurfaceMesh,
createLocationIterator: StructureElementIterator.fromGroup,
getLoci: getElementLoci,
eachLocation: eachElement,
setUpdateState: (state: VisualUpdateState, newProps: PD.Values<GaussianSurfaceParams>, currentProps: PD.Values<GaussianSurfaceParams>) => {
setUpdateState: (state: VisualUpdateState, newProps: PD.Values<GaussianSurfaceMeshParams>, currentProps: PD.Values<GaussianSurfaceMeshParams>) => {
if (newProps.resolution !== currentProps.resolution) state.createGeometry = true
if (newProps.radiusOffset !== currentProps.radiusOffset) state.createGeometry = true
if (newProps.smoothness !== currentProps.smoothness) state.createGeometry = true
......@@ -98,14 +98,14 @@ async function createGaussianSurfaceTextureMesh(ctx: VisualContext, unit: Unit,
return surface
}
export function GaussianSurfaceTextureMeshVisual(materialId: number): UnitsVisual<GaussianSurfaceParams> {
return UnitsTextureMeshVisual<GaussianSurfaceParams>({
defaultProps: PD.getDefaultValues(GaussianSurfaceParams),
export function GaussianSurfaceTextureMeshVisual(materialId: number): UnitsVisual<GaussianSurfaceMeshParams> {
return UnitsTextureMeshVisual<GaussianSurfaceMeshParams>({
defaultProps: PD.getDefaultValues(GaussianSurfaceMeshParams),
createGeometry: createGaussianSurfaceTextureMesh,
createLocationIterator: StructureElementIterator.fromGroup,
getLoci: getElementLoci,
eachLocation: eachElement,
setUpdateState: (state: VisualUpdateState, newProps: PD.Values<GaussianSurfaceParams>, currentProps: PD.Values<GaussianSurfaceParams>) => {
setUpdateState: (state: VisualUpdateState, newProps: PD.Values<GaussianSurfaceMeshParams>, currentProps: PD.Values<GaussianSurfaceMeshParams>) => {
if (newProps.resolution !== currentProps.resolution) state.createGeometry = true
if (newProps.radiusOffset !== currentProps.radiusOffset) state.createGeometry = true
if (newProps.smoothness !== currentProps.smoothness) state.createGeometry = true
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment