# Parser of "DISP". # # First written by k-fleak # Time-stamp: <05/10/12> class DispData attr_accessor :position attr_accessor :atomIndex def initialize @position = Array.new end end class ParseDISP def initialize(filename) @input = open(filename, "r") @atomIndex, @dispPosition = readDISP end def getDispPos @dispPosition end def getAtomIndex @atomIndex end private def readDISP dispPosition = Array.new atomIndex = Array.new @input.each do |lines| dispData = DispData.new() lineArr = lines.gsub(/\"|\\/,"").strip.split(/\s+/) lineArr.size.times do |i| if i == 0 then dispData.atomIndex = lineArr[i].to_i else dispData.position[i-1] = lineArr[i].to_f end end atomIndex.push(dispData.atomIndex) dispPosition.push(dispData.position) end return atomIndex, dispPosition end end