From: Robert H. <ha...@st...> - 2012-07-23 17:12:33
|
Yes, I see that, Alexander. Thanks for the PNGJ file - that is really a great way to send issues to me. I wish everyone would do that. I'll study this some. I really think it is an artifact of the poor resolution. Molecular surfaces are notoriously challenging to produce, and this one does just fine in a localized sense. But at that resolution -- even 2.0 -- you are seeing artifacts. I'm definitely interested in fixing this. On Sun, Jul 22, 2012 at 10:13 AM, Alexander Rose < ale...@we...> wrote: > Hi Bob > > using # Jmol state version 13.0.RC2 2012-07-21 19:52; > > > load =1u19; > > > > OK, here you have three isosurfaces. set 1 is the outer set, but there > > are two cavities, each of which is big enough to hold a molecule of > > water. > > there is something strange going on, I still get those fragments > > load =1u19; > isosurface resolution 2.0 solvent; > isosurface set 2; > > pngj: https://www.dropbox.com/s/o6q7dudwj48k4ht/1u19.png > > > By the way, you might want to use isosurface SOLVENT instead of > > MOLECULAR. Do you really want the surface around the water molecules? > > these were just minimal examples nothing I actually used, thanks though > > > # trying to get the isosurface into the state to trade a slightly > > bigger file size for faster loading > > > > > > use > > > > write xxx.jvxl > > > > then immediately replace the isosurface with that using > > > > isosurface delete > > isosurface "xxx.jvxl" > > > > then write the file as a PNGJ or JMOL. This should be very compact and > > very fast to load. > > yes that's ok but I did not mention that I want to use this in the applet > and make it as automatic as possible, without the detour to the file > system, which requires user interaction. > > The problem seems to be in > jmol.shapesurface.Isosurface.java::getMeshCommand() > > cmd = TextFormat.simpleReplace(cmd, ";#", "; #"); > int pt = cmd.indexOf("; #"); > if (pt >= 0) > cmd = cmd.substring(0, pt); > > We could look for " inline " in cmd? Ahh, thats not enough, as you can do > "isosurface ID inline inline @tmp". A regex perhaps: > > if( cmd.toLowerCase().indexOf("inline") >= 0 && > !cmd.matches("(?i)id\s*['\"]?\s*inline\s*['\"]?") ){ // not tested > cmd = TextFormat.simpleReplace(cmd, ";#", "; #"); > int pt = cmd.indexOf("; #"); > if (pt >= 0) > cmd = cmd.substring(0, pt); > } > > Well, not perfect, then we would not strip comments from the inline > command. How did one get these comments anyway? > > > Alex > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Jmol-users mailing list > Jmo...@li... > https://lists.sourceforge.net/lists/listinfo/jmol-users > -- Robert M. Hanson Larson-Anderson Professor of Chemistry Chair, Chemistry Department St. Olaf College Northfield, MN http://www.stolaf.edu/people/hansonr If nature does not answer first what we want, it is better to take what answer we get. -- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900 |