-
Alexander Rose authoredAlexander Rose authored
render-lines.ts 1.49 KiB
/**
* Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import './index.html'
import { Canvas3D } from 'mol-canvas3d/canvas3d';
import { Mat4 } from 'mol-math/linear-algebra';
import { Representation } from 'mol-repr/representation';
import { Color } from 'mol-util/color';
import { createRenderObject } from 'mol-gl/render-object';
import { Lines } from 'mol-geo/geometry/lines/lines';
import { LinesBuilder } from 'mol-geo/geometry/lines/lines-builder';
import { DodecahedronCage } from 'mol-geo/primitive/dodecahedron';
const parent = document.getElementById('app')!
parent.style.width = '100%'
parent.style.height = '100%'
const canvas = document.createElement('canvas')
canvas.style.width = '100%'
canvas.style.height = '100%'
parent.appendChild(canvas)
const canvas3d = Canvas3D.create(canvas, parent)
canvas3d.animate()
function linesRepr() {
const linesBuilder = LinesBuilder.create()
const t = Mat4.identity()
const dodecahedronCage = DodecahedronCage()
linesBuilder.addCage(t, dodecahedronCage, 0)
const lines = linesBuilder.getLines()
const values = Lines.Utils.createValuesSimple(lines, {}, Color(0xFF0000), 3)
const state = Lines.Utils.createRenderableState({})
const renderObject = createRenderObject('lines', values, state)
const repr = Representation.fromRenderObject('cage-lines', renderObject)
return repr
}
canvas3d.add(linesRepr())
canvas3d.resetCamera()