From: Russ K. <py...@ve...> - 2007-05-07 16:32:59
|
If you have 64 bit linux, getNode simply doesn't work -not implemented- yet. What does your java console say if you try to run some of the examples that use getNode? tc Russ Kinter -----Original Message----- From: fre...@cr... [mailto:fre...@cr...] On Behalf Of Dethe Elza Sent: Monday, May 07, 2007 2:17 PM To: FreeWRL VRML viewer and Shared Virtual World viewer Subject: [FreeWRL] EAI GETNODE problem Hi Sarah (and everyone), I'm writing test for my Python port of EAI, and trying to document the wire protocol. I'm running into a problem with the GETNODE call. When I use the value of SYSTEMROOTNODE (i.e. "_Sarah_this_is_the_FreeWRL_System_Root_Node"), then I get back a pointer that looks OK. But when I use a string that is the name of a DEF'd node in my x3d file, I get a "4504 Bus error". For instance, I have a variation of 1.x3d from the sample files that come with freewrl. Instead of creating the shape of the box directly, it is created outside the <Scene> as a direct child of <X3D> with DEF="the_box", then in the Scene I have a <Shape USE="the_box"/>. This works find in freewrl and the box shows up just like it did before, but when I try to get the node using EAI I get the bus error. Since I'm learning EAI as I go along (and not all that proficient with VRML/X3D yet), I'm probably just doing something wrong. I read in the EAI API spec that I can only access nodes that are DEF'd in the main file, but that is what I'm trying to do. Is there anything obvious that I'm missing here? Below I've included the output from the verbose library, so you can see what is happening inside of freewrl up until the bus error. Thanks! --Dethe ==================== OUTPUT ========================== newASCIIString for :: newASCIIString for :PLAIN: newASCIIString for :BEGIN: newASCIIString for :SERIF: newASCIIString for :MIDDLE: newASCIIString for :the_box: newASCIIString for :WALK: newASCIIString for :ANY: newASCIIString for :EXAMINE: newASCIIString for :WALK: newASCIIString for :FLY: newASCIIString for :ANY: EAISERVER:create_EAI called conEAIorCLASS - socket made EAISERVER: bound to socket 9877 EAISERVER: no client yet EAISERVER: conEAIorCLASS returning TRUE EAISERVER: no client yet readEAIsocket--, retval 1 read in from socket 12 bytes, max 4096 bfct 0 cmd <0 A the_box > handle_EAI-- Data is :0 A the_box : EAI_parse_commands:start of while loop, strlen 12 str :0 A the_box : command A ... 0 GETNODE the_box EAI_GetNode - getting the_box ==================== END OUTPUT ====================== -- As for intelligent machines taking over, a machine does not have to be intelligent to conquer the world; it merely has to be desireable. We've already lost a war to a synthetic species--the automobile--that has killed more than 15 million people; occupied all of our cities except Venice, Italy; and continues to exact crushing taxes in resources, wealth, and time from over half the planet--and everybody wants one. --Grant Thompson _______________________________________________ FreeWRL mailing list Fr...@cr... |