From: John A. S. <ale...@cr...> - 2009-12-29 09:42:15
|
Robert; > As I remember it, calling Java classes from script nodes was broken > or dropped with the parser change. At the time, I asked if that > was ever coming back the answer was "probably not" - and I never > otherwise. When I got the "probably not" reply, I just archived > the bits I had and dropped it. Sorry that we could not accommodate you. There is a bit of a story behind this. One day I got an email from someone saying something like "when freewrl eventually loads my worlds, it renders fine, it is just really slow in loading. Like, 20 minutes to load one of my simple models". (his models were visualizations of mathematical equations consisting of many, many vertices) I responded something like: "yes, the parser is the last bit of Perl code; some day I'd really like to rewrite it in C" So, next thing I know, I have one incredible piece of C code, which is probably the fastest "classic vrml" parser out there. Which is very, very good, except that the fellow who wrote it (Daniel Kraft) turns out was of pre-university age, and represented Austria in a world-wide "Informatics Olympiad" that year. He ended up coming something like 400th of 800 students world-wide. Good for Daniel - I know from emails with him that he was worried about the competition. Ok - the parser Daniel wrote was -how do I put it - very dependent on use of Macros, so he asked me to provide tables to him consisting of information (like, fields in a Node, etc) and, during FreeWRL compilation, these macros take these tables and spit out a parser in "C". With a bit of helper code on the side. Daniel's Parser is very well done. It has taken me a while to totally understand what went on with it; I'll admit that my knowledge of nested Macro expansion in C has improved immensely as I went through and understood this code. There were some issues with the code, mainly from the point of view of incorrect VRML input; error handling was a weak point, and the PROTO handling was difficult. So Robert, at the time I had not only my research work here to complete, I had one large bit of code given to FreeWRL that needed digesting. That digesting continues; the XML-formatted parser now uses Daniel's code for field-value parsing; many internal tables now use Daniel's Vector code, and so on. So, while it is most likely too late for you and your projects; FreeWRL is now in the state whereby re-adding Java to the Script node is possible. ----------------------------------------------------------- John A. Stewart Team Leader: Networked Virtual and Augmented Reality ale...@cr... Network Systems and Technologies - Systemes et technologies des reseaux Communications Research Centre Canada | Centre de recherches sur les communications Canada 3701 Carling Ave. | 3701, avenue Carling PO Box 11490, Station H | CP 11490, succursale H Ottawa ON K2H 8S2 | Ottawa (Ontario) K2H 8S2 http://www.crc.ca |