From: Joe G. <jmg@SeiraD.com> - 2009-11-04 16:54:13
|
Bob, I managed to get the data sets with multiple models to load inline. I had to increase the heap size. I am currently of the opinion however that loading files from arrays could be made more efficient. As you obviously know using the inline approach includes Convert the array of lines to a "really big string" with some form of line delimiters Pass this "really big string" to Jmol which then looks for the delimiters and breaks the string back into an array. All this is just to get the data back into the starting form. Is there a reason we can not just pass an array of data directly to Jmol? Thanks, Joe _____ From: Robert Hanson [mailto:ha...@st...] Sent: Monday, November 02, 2009 12:01 PM To: jmo...@li... Subject: Re: [Jmol-developers] inline clarification Joe, there shouldn't be any need to write a file - you are correct; you should be able to use those directly. The Java StringBuffer is a very efficient mechanism. Don't use String = String + line. Use StringBuffer sb = new StringBuffer(); int nLines = myArrayList.size(); for (int i = 0; i < nLines; i++) sb.append(myArrayList.get(nLines)).append('\n'); viewer.loadInline(sb.toString()); That should be equivalent to loading the multiple models as separate models -- it will automatically create a model for each MODEL statement. Bob |