|
@@ -14,7 +14,7 @@ import { BuiltInTrajectoryFormat } from 'molstar/lib/mol-plugin-state/formats/tr
|
|
|
import {TrajectoryHierarchyPresetProvider} from 'molstar/lib/mol-plugin-state/builder/structure/hierarchy-preset';
|
|
|
|
|
|
export class ModelLoader {
|
|
|
- async load<P>(load: LoadParams, props?: PresetProps, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider, params?: P) {
|
|
|
+ async load<P={}>(load: LoadParams, props?: PresetProps, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider<P>, params?: P) {
|
|
|
const { fileOrUrl, format, isBinary } = load;
|
|
|
|
|
|
const data = fileOrUrl instanceof File
|
|
@@ -23,13 +23,13 @@ export class ModelLoader {
|
|
|
await this.handleTrajectory<P>(data, format, props, matrix, reprProvider, params);
|
|
|
}
|
|
|
|
|
|
- async parse<P>(parse: ParseParams, props?: PresetProps & { dataLabel?: string }, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider, params?: P) {
|
|
|
+ async parse<P={}>(parse: ParseParams, props?: PresetProps & { dataLabel?: string }, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider<P>, params?: P) {
|
|
|
const { data, format } = parse;
|
|
|
const _data = await this.plugin.builders.data.rawData({ data, label: props?.dataLabel });
|
|
|
await this.handleTrajectory(_data, format, props, matrix, reprProvider, params);
|
|
|
}
|
|
|
|
|
|
- private async handleTrajectory<P>(data: any, format: BuiltInTrajectoryFormat, props?: PresetProps, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider, params?: P) {
|
|
|
+ private async handleTrajectory<P={}>(data: any, format: BuiltInTrajectoryFormat, props?: PresetProps, matrix?: Mat4, reprProvider?: TrajectoryHierarchyPresetProvider<P>, params?: P) {
|
|
|
const trajectory = await this.plugin.builders.structure.parseTrajectory(data, format);
|
|
|
if(reprProvider){
|
|
|
await this.plugin.builders.structure.hierarchy.applyPreset(trajectory, reprProvider, {...params});
|