Ver Fonte

renamed molecular surface/volume to gaussian surface/volume

Alexander Rose há 6 anos atrás
pai
commit
0ec090a300

+ 4 - 4
src/mol-repr/structure/registry.ts

@@ -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,

+ 47 - 0
src/mol-repr/structure/representation/gaussian-surface.ts

@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2018-2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
+ *
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
+ */
+
+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';
+import { StructureRepresentation, StructureRepresentationProvider, StructureRepresentationStateBuilder } from '../representation';
+import { Representation, RepresentationParamsGetter, RepresentationContext } from 'mol-repr/representation';
+import { ThemeRegistryContext } from 'mol-theme/theme';
+import { Structure } from 'mol-model/structure';
+
+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 GaussianSurfaceVisualName = keyof typeof GaussianSurfaceVisuals
+const GaussianSurfaceVisualOptions = Object.keys(GaussianSurfaceVisuals).map(name => [name, name] as [GaussianSurfaceVisualName, string])
+
+export const GaussianSurfaceParams = {
+    ...GaussianSurfaceMeshParams,
+    ...GaussianWireframeParams,
+    visuals: PD.MultiSelect<GaussianSurfaceVisualName>(['gaussian-surface-mesh'], GaussianSurfaceVisualOptions),
+}
+export type GaussianSurfaceParams = typeof GaussianSurfaceParams
+export function getGaussianSurfaceParams(ctx: ThemeRegistryContext, structure: Structure) {
+    return PD.clone(GaussianSurfaceParams)
+}
+
+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 GaussianSurfaceRepresentationProvider: StructureRepresentationProvider<GaussianSurfaceParams> = {
+    label: 'Gaussian Surface',
+    description: 'Displays a gaussian molecular surface.',
+    factory: GaussianSurfaceRepresentation,
+    getParams: getGaussianSurfaceParams,
+    defaultValues: PD.getDefaultValues(GaussianSurfaceParams),
+    defaultColorTheme: 'polymer-id',
+    defaultSizeTheme: 'uniform'
+}

+ 13 - 13
src/mol-repr/structure/representation/molecular-volume.ts → src/mol-repr/structure/representation/gaussian-volume.ts

@@ -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'
 }

+ 0 - 47
src/mol-repr/structure/representation/molecular-surface.ts

@@ -1,47 +0,0 @@
-/**
- * Copyright (c) 2018-2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
- *
- * @author Alexander Rose <alexander.rose@weirdbyte.de>
- */
-
-import { GaussianSurfaceMeshVisual, GaussianSurfaceTextureMeshVisual, GaussianSurfaceParams } 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';
-import { StructureRepresentation, StructureRepresentationProvider, StructureRepresentationStateBuilder } from '../representation';
-import { Representation, RepresentationParamsGetter, RepresentationContext } from 'mol-repr/representation';
-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),
-    '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])
-
-export const MolecularSurfaceParams = {
-    ...GaussianSurfaceParams,
-    ...GaussianWireframeParams,
-    visuals: PD.MultiSelect<MolecularSurfaceVisualName>(['gaussian-surface-mesh'], MolecularSurfaceVisualOptions),
-}
-export type MolecularSurfaceParams = typeof MolecularSurfaceParams
-export function getMolecularSurfaceParams(ctx: ThemeRegistryContext, structure: Structure) {
-    return PD.clone(MolecularSurfaceParams)
-}
-
-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 const MolecularSurfaceRepresentationProvider: StructureRepresentationProvider<MolecularSurfaceParams> = {
-    label: 'Molecular Surface',
-    description: 'Displays a gaussian molecular surface.',
-    factory: MolecularSurfaceRepresentation,
-    getParams: getMolecularSurfaceParams,
-    defaultValues: PD.getDefaultValues(MolecularSurfaceParams),
-    defaultColorTheme: 'polymer-id',
-    defaultSizeTheme: 'uniform'
-}

+ 10 - 10
src/mol-repr/structure/visual/gaussian-surface-mesh.ts

@@ -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