Re: VRML + JAVA + C to access position Variables

From: P. Flavin (animator_at_rochester.rr.com)
Date: 12/18/03


Date: Thu, 18 Dec 2003 22:03:09 GMT


Java does 3d animation and can connect to devices
  ---------------------- and to machines directly
  with JNI ( through one programing interface )
  or with networked computers with standard
  Internet Protocols including Client / Server
  connections on multiple machines, or on one.

  For creating 3d objects, worlds, or animations
  that must connect to controlling devices such
  as head mounted displays and game controlers
  and other more serious applications __ Java3d __
  might be a better solution than the using the
  old style VRML plug-in viewers which have many
  problems of security and portability.

  Nasa uses Java3d for their Mars Rover controller and
  3d simulation program ( the WITS program )

  and it uses ____ VRML ____

  and it's a networked application
  you can get and use, for free ( see the URL below ).

   Patrick wrote:
>
> I have a tracking device which has functions in C
> to access position, rotation ... and I want to
> have these values in VRML to move an object in
> the same way as in reality.
>
> Everything works fine but the big
> problem is now that when I load my VRML
> file I can't access my dll file I created
> with the JNI interface from JAVA.
>
> I think the problem is that the applet has
> not the rights to access the file.
>
> If I try to sign the file as a jar file
> I can't access it from VRML because you
> can only call class files with the "url"
> command.
>
> So what I want to know is what can
> I do to solve this problem or does anybody
> has experience with this.
>
> I appreciate any hints.
>
> Thanks Patrick
>

   More details please ...

    Java3d can animate VRML in a browser as applet,
    ----------------------------------------------
   and you can ( and I have ) controlled 3d objects
   using Java3d in an applet using a simple client /
   server connection, and you could solve your problem
   that way, using the built in networking capabilities
   of Java: just create and open a Socket and read and
   write through the pipe.

   This neatly divides your problem into two distinct,
   smaller ( and simpler ) problems which is a good
   programing methodology.

   Use your device, C interface, JNI, and create a
  simple Client / Server pair : get that working,
  then add that Client connection capability
  to your Java 3d client applet.

   If running it as an application ( not in a browser )
  is an option ( and desired ): it's even simpler.

   What's your model ?

   What's your controlling device ?

   Java3d has native support for things like
  Head Mounted Displays ( HUD s ) and code has
been written for some other controller devices.

  Don't re-invent the wheel, re-use pre-written,
  pre-tested code: it is the pre-ferred solution.

  Herbert Stocker wrote:
|
| With BS Contact VRML you can load a DLL
| directly into a Script node.
|
| To be more precisely, in the Script node you
| can specify the class ID of a COM object,
| which is located in a DLL.
|
| ( If loading COM objects from VRML
| sounds unsafe to somebody:
| BS Contact loads a DLL only if the
| DLL has registered itself
|
| with BS Contact using the registry.)
|
| You can also write an extension for the
| DeviceSensor node, which is a Sensor node
| for arbitrary input and output devices.
|
| Herbert
| Herbert Stocker www.bitmanagement.de
|

  Well, using DLLs implies using Microsoft Windows
  and using Microsoft Windows sounds unsafe. ;^)

  VRML Scripts are limiting and inferior to Java.

  The old-style VRML plug-ins are less portable,
less safe, less capable in many important respects,
and less desirable.

  Look at the Nasa WITS program: it uses Java3d & VRML.

  Nasa evaluated and compared Java3d & the old plug-ins

  Java3d was chosen because
  ----------------- it was the better tool for the task.

   Nasa's Patti Koenig writes about using Java3d & VRML:
  |
  | You can check out FastScript3D which
  | runs entirely in a browser and provides
  | JavaScript extensions to Java3D.
  |
  | You can load static ___ vrml ___
  | components into FastScript3D using the vrml97
  | loader [ created by Sun Microsystems Inc. ]
  | and hook them up / interconnect them as
  | you desire and then use a set of simple animation
  | commands to articulate and manipulate your objects ....
  |
  http://groups.google.com/groups?th=e7470a56a6fd677e

  Nasa uses Java3d & VRML for Mars Rover WITS program
  ---------------------------------------------------
  http://www.frontiernet.net/~imaging/Nasa_3d_animation.html

   Get it: It's free. Get a clue: Use Java & Java3d.

  -- Paul, Java Developer & Web Animator
  --------------------------------------
  Imaging the Imagined: Modeling with Math & a Keyboard



Relevant Pages

  • RE: Remoting and serialization
    ... if you use MarshalByRefObject for all of your "shared" objects (not ... use of interfaces and serialization. ... The decision to use Java versus .NET isn't so much about technology as it is ... you need the ENTIRE class graph for that object on your client. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: What multi-tier components to use
    ... Enterprise Java Beans. ... > with every change in the parameter list, you could make your new server ... But surely if you have an old client and the interfaces are still valid on ...
    (borland.public.delphi.thirdpartytools.general)
  • Java J2EE Openings in Phoenix, AZ, Client Will Relocate
    ... My name is Mike Vaughan and I am a recruiter for Apple Berry ... We have mutiple openings with a client of ours ... They are looking for Java, ... Duties to include preliminary and detailed design architecture, ...
    (comp.lang.java.programmer)
  • Re: yahoo chat security
    ... That said is your current Java version current? ... some buffer overrun capabilities in earlier versions. ... These are not uncommon in the Yahoo ... audio function and the video function of the current client. ...
    (alt.computer.security)
  • Re: Open Office Cocoa
    ... noi attualmente usiamo Flash per il playback dei Google Video ... lato client di Internet" usiamo piu` che altro ... AJAX e mi sembra che ci abbiamo fatto delle belle cosine, ... Quanto a Java client-side, non credo che Google al momento ne abbia ...
    (it.comp.macintosh)