JVerge Features List
IMHO, JVerge is a very powerful set of classes. There are many things you
can do with them.
- Complete implementation of all VRML 2.0 nodes including Script nodes.
PROTO and EXTERNPROTO node structures are not supported. The libraries
are independent of the browser used and it's implementation of the Java interface.
If you wish to have them display in the browser then you must supply an
instance of the browser reference.
- Independance from the environment that you are working in. JVerge implements
the identical interface for both the internal Java script interface as well
as the External Application Interface. If you do not wish to work with the
browser then a generic browser/VRML free implementation is also included.
- Complete faithfullness to the
VRML 2.0 specification.
Nodes can only have
field access during construction. ExposedField
and EventOut values can be queried for their current value - direct from the
browser. Now including the Collision node's proxy field.
Correct VRML syntax is implemented by using
Java class mechanisms to enforce correctness
at compile time.
- Complete Scene graph output capability to whatever stream you want. One call
to the
writeToFile method with your required PrintStream and the
output is dumped for the scene graph under that node. Very handy for debugging
and also creating VRML editors. For example you could open a streamed source
like a TCP Socket to a remote host and directly dump your VRML output.
- DEF/USE automatically supported in the output. If you pass the one node
reference to multiple places in the scenegraph, JVerge will detect this
and automatically DEF the first node instance and then provide
corresponding USE statements for the rest of the output.
- Enforces the scoping rules applied by the VRML node structure. You cannot
add the wrong childtype node to another node. It follows the VRML 2.0 spec
to the letter. You can, for example, add a WorldInfo node as a child of a
Transform.
- Full deep clone support. A single call to clone of a node will produce and
identical scenegraph as a new entity. Ideal for implementing cut and paste
operations on the scene graph.
VRML File reader
With this beta of JVerge I am now introducing a VRML parser that reads your
VRML files and turns them into JVerge classes for you to use. The core of the
parser is based on the LGPL'd parser from IICM's
VRWave
VRML 97 browser. This forms the core of the reader and basic parsing onto
which I have built the JVerge extras.
The core of the VRML file traverser classes are included with the JVerge
classes in the standard distribution. You can find them in the various util
directories for each version of JVerge.
However, for them to function correctly, you will also need to download the
PW classes. These I did not include with the standard distribution because of
the file size bloat. The zip version is now hovering around 1.5MB!
Do not use the classes that come from VRwave with JVerge. It will not
work correctly, as I had to make a number of changes and bug fixes. For the
moment you will need to download the modified version from The Virtual Light
Company's site. The files can be found at
http://www.vlc.com.au/VermelGen/
Changes from Beta 3
A couple of big structural changes took place. Full clone support is now implemented and
scripting is properly implemented. You can write values to and from a script node with
your application now.
The other major change is the restructuring of all the printing operations. You now
only need to specify the PrintStream in the base VrmlObject class and this will be
used for any printing. Set and forget. Much of the basic printing functionality
has been moved to the VrmlObject class too, allowing for consistent and tight VRML
output.
Of course there are a huge number of bugs removed. Take a look at the
Bugs page
for a list of the bugs that have so far been removed, and any known it the current
version.
[
The Virtual Light Company
] [
Justin Couch
] [
Bug Report
] [
VermelGen
]