From: Marius W. <ma...@un...> - 2013-05-11 07:02:33
|
Robert, Angel, thanks for your quick responses! Apologies for my delay reply, in full-on deadline mode. I appreciate that Jmol is developed by volunteers and am all too aware of the challenges involved in writing and maintaing documentation.. Usually I rely on finding reference code on GitHub or similar, but this time my searches didn't turn up so much to work with. I have looked at Biojava' Structure + .gui classes as well as Spice, but again they don't quite cover the details I need. I wasn't aware of the "examples" code, I didn't use SVN to check out the code and I guess Sourceforge blocks Google from indexing the repo. Some of that code was helpful, but it still didn't help me understand how to access Jmol's internals. I do realize I'm doing something most Jmol users have no need to do. This is an art project and I'm doing a lot of unorthodox styling and animation that has little to do with Jmol's scientific purposes. It would be hard accomplish my goals within the scripting framework, so I'm using an external application framework (implemented in Processing http://processing.org). Responding to your feedback: > - Script status checking > > > Meaning? This would be via script callbacks. Are you using > JmolStatusListener? See examples.basic.org.jmol.Export.java I'm executing hundreds or thousands of commands for every frame, so knowing the state of the script execution is crucial. My problem was an exception being thrown inside a QueueThread and crashing the scripting engine, a condition I could neither detect nor rectify. set debugging and debugScript were not really helpful, I'm experimenting with ScriptContext but I'm still not sure how to restart the engine even if I could detect the error. Luckily my problem has been solved for now (knock on wood), I must have fixed whatever bug in my code that was causing it. The actual cause is still a mystery, though. My problem in general is accessing Jmol's internal state and mechanisms, most importantly the scripting engine, repaint mechanism as well as molecular data with associated styling. Initially I had hoped to bypass the scripting interface and manipulate structures and styles directly, but that's less essential and seems an unrealistic goal for now. Scripting does works for me most of the time, although I would preferred programmatic access through a DOM or similiar since I have to execute so many commands to produce a single frame of animation. Just constructing the needed String objects could be a a performance hit, I'm using StringBuffers wherever possible but I still need to create a ton of object instances. I've pored over Viewer.java and its associated classes in detail, but without demo code or javadoc it's a pretty big puzzle. I'm sure there are callbacks and API mechanisms I should be using that I'm not aware of. Don't mistake my questions for criticisms, I'll be the first to admit to being an ignorant Jmol noob as well as a coder of limited skills. In short: Any tips on sample code or good practices would be welcome. -marius On 08-May-13 07:53, Angel Herráez wrote: > Hi Marius > > That looks terrific! A great demonstration of Jmol abilities. > > I will let others (Bob) reply to your technical questions. > > >> - Error handling > Probably by using debug levels and callbacks > http://chemapps.stolaf.edu/jmol/docs/#setdebugging > http://chemapps.stolaf.edu/jmol/docs/#setcallback > > >> - Script status checking > Callbacks > > >> - Precise repaint control so that repaint will wait for scripts that I >> executed every frame to produce animation > See > http://chemapps.stolaf.edu/jmol/docs/#refresh > (not what you want) > And maybe also "set repaintWaitMs n", look for it under > http://chemapps.stolaf.edu/jmol/docs/#setmisc > > >> Confounded by the lack of documentation > http://chemapps.stolaf.edu/jmol/docs/ > > I know it is not very friendly, but there's a lot of information > there. The wiki is more friendly, but far from exhaustive. > We have many users, not so many developers and documenters. > Volunteers are always welcome tro contribute. > > > Finally, I think it would be great to share your production. Would > you mind that we link to your Flickr page? I could add a link to the > presentation mode in the Wiki, maybe in Home page > About Jmol > Jmol > Art -- is that a suitable term? > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today!http://p.sf.net/sfu/neotech_d2d_may > _______________________________________________ > Jmol-users mailing list > Jmo...@li... > https://lists.sourceforge.net/lists/listinfo/jmol-users > -- ////////////////////////////////////////////////// Marius Watz New web site:http://mariuswatz.com Silk screen prints:http://randomnumber.nu/?cat=21 ////////////////////////////////////////////////// http://twitter.com/mariuswatz http://twitter.com/generatorx http://flickr.com/photos/watz |