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

obj parser placeholder

parent 7d16daac
No related branches found
No related tags found
No related merge requests found
......@@ -8,6 +8,7 @@ import './index.html'
import Viewer from 'mol-view/viewer';
import CIF, { CifBlock } from 'mol-io/reader/cif'
import { parse as parseObj } from 'mol-io/reader/obj/parser'
import { readUrlAs } from 'mol-util/read'
import { Model, Format, Structure, StructureSymmetry } from 'mol-model/structure';
import { CartoonRepresentation } from 'mol-geo/representation/structure/representation/cartoon';
......@@ -48,6 +49,15 @@ viewer.input.move.subscribe(({x, y, inside, buttons}) => {
info.innerText = `${label}`
})
async function getObjFromUrl(url: string) {
const data = await readUrlAs(url, false) as string
const comp = parseObj(data)
const parsed = await comp.run()
if (parsed.isError) throw parsed
return parsed.result
}
async function getCifFromUrl(url: string) {
const data = await readUrlAs(url, false)
const comp = CIF.parse(data)
......@@ -108,6 +118,8 @@ async function init() {
const mesh = meshBuilder.getMesh()
// Mesh.computeNormalsImmediate(mesh)
// mesh = getObjFromUrl('mesh.obj')
// add representation from custom mesh
const customRepr = CustomRepresentation()
await customRepr.create(mesh, {
......
/**
* Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import Result from '../result'
import { Task, RuntimeContext } from 'mol-task'
import { Mesh } from 'mol-geo/shape/mesh';
async function parseInternal(data: string, ctx: RuntimeContext): Promise<Result<Mesh>> {
// TODO
const result: Mesh = Mesh.createEmpty();
return Result.success(result);
}
export function parse(data: string) {
return Task.create<Result<Mesh>>('Parse OBJ', async ctx => {
return await parseInternal(data, ctx);
});
}
export default parse;
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment