UNPKG

speck-renderer

Version:

Browser-based WebGL molecule renderer with the goal of producing figures that are as attractive as they are practical.

23 lines (22 loc) 728 B
"use strict"; module.exports = function (data) { var lines = data.split('\n'); var natoms = parseInt(lines[0]); var nframes = Math.floor(lines.length / (natoms + 2)); var trajectory = []; for (var i = 0; i < nframes; i++) { var atoms = []; for (var j = 0; j < natoms; j++) { var line = lines[i * (natoms + 2) + j + 2].split(/\s+/); var atom = {}; var k = 0; while (line[k] == "") { k++; }atom.symbol = line[k++]; atom.position = [parseFloat(line[k++]), parseFloat(line[k++]), parseFloat(line[k++])]; atoms.push(atom); } trajectory.push(atoms); } return trajectory; };