int _transitionTime; //how much elapsed time between each snapshot #endregion Fields #region Constructors public SlotViewer(Trajectory trajectory, Scene scene) { ATOM_STACKS = (Options.GetInstance().AtomStacks); ATOM_SLICES = (Options.GetInstance().AtomSlices); _scene = scene; _trajectory = trajectory; _snapshotIndexA = 0; _snapshotIndexB = 1; Console.WriteLine(); if (_trajectory.CountSnapshots() == 0) throw new Exception("No snapshots to work with!"); else Console.WriteLine("Creating viewer for trajectory with {0} snapshots...", _trajectory.CountSnapshots()); var RENDER_MODE = Options.GetInstance().RenderMode; if (RENDER_MODE == RenderMode.BALL_N_STICK) { AddAllAtoms(); Console.WriteLine(); } AddAllBonds(); Console.WriteLine(); Console.WriteLine("... done creating SlotViewer."); }
public Trajectory Parse(bool filter = true) { Console.WriteLine("Parsing trajectory PyON... "); Console.Clear(); var top = ParseTopology(); Trajectory trajectory = new Trajectory(top); ParsePositions(trajectory); Console.WriteLine("... done parsing trajectory."); return trajectory; }
private void ParsePositions(Trajectory trajectory) { Console.WriteLine("Parsing all snapshots... "); Console.Clear(); string BEGIN = "PyON1positions\n[", END = "]\n---"; int index = _pyon.IndexOf(BEGIN, 0); while (index != -1) { var range = new Pair<int, int>(index, _pyon.Length); var snapshotRange = StringManip.Between(_pyon, range, BEGIN, END); var snap = ParseSnapshot(snapshotRange, trajectory.GetTopology()); trajectory.AddSnapshot(snap); index = _pyon.IndexOf(BEGIN, index + 1); } Console.WriteLine("... done parsing snapshots."); Console.Clear(); }