|
Xj3D VRML/X3D Code API | ||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||||
See:
Description
| Interface Summary | |
| ExternalLoadManager | An abstract definition of managers for loading files that are external to the currently loading file eg Textures, inlines and protos. |
| SceneBuilder | Definition of a class that is used to build scenes from parsed content. |
| SceneBuilderFactory | Definition of a factory used to create new instances of the scene builder on demand. |
| ScriptLoader | Abstract representation of a class that can be used to provide script loading and initlisation facilities to the browser core. |
| ScriptLoadStatusListener | An internal listener to allow the ScriptLoader and ScriptManager to communicate load state for the scripts. |
| WorldLoader | Independent thread used to load a world from a list of URLs and then place it in the given node. |
| WorldLoaderManager | Independent thread used to load a world from a list of URLs and then place it in the given node. |
| Class Summary | |
| AbstractLoadManager | Common base implementation of a load manager. |
| ContentLoadQueue | Customised queue implementation specifically designed to handle the needs of X3D/VRML external content loading by compressing multi requests for the same URL into a single structure. |
| DefaultScriptLoader | A utility class who's sole job is to take a script node and load the contents and get the runtime items happening. |
| DefaultWorldLoaderManager | Independent thread used to load a world from a list of URLs and then place it in the given node. |
| LoaderThreadPool | A local singleton that manages all of the threads used to load content. |
| MemCacheLoadManager | A manager for loading files that are external to the currently loading file eg Textures, inlines and protos. |
| ScriptThreadPool | A local singleton that manages all of the threads used to load script content. |
| SimpleLoadManager | A simplistic manager for loading files that does no caching. |
Implementation of a load manager and cache for externally referenced file within a scene.
The load manager runs as a standalone handler for dealing with nodes in a VRML scene that define their contents outside of the current file. Standard implementation examples of this are Scripts, ImageTextures and Inlines.
The loader will produce a full cache and asynchronous loading mechanism for content. The loader may be interrupted to remove all the currently loading content of the scene. Caching is performed on the local machine if allowed. Most of the behaviour can be controlled to optimise it for a given machine and network connection.
To load all files, the handler makes use of Justin Couch's
URIlib Java library for loading
URNs and URLs. The standard java.net library is not used as it
does not provide support for URNs that the universal media library needs. This
package contains a number of system properties so make sure that you check
and set these as well in order for this to function correctly.
This package uses the following system properties to modify its behaviour.
org.web3d.vrml.nodes.loader.threads The number of concurrent
threads to be started to do loading.
org.web3d.vrml.nodes.loader.sort_order A space separated list
containing one or more of the words scripts,
inlines, textures, externprotos,
audio and others. The declaration order is the
sort order for values to be fetched within a given scene. Any values not
declared are placed at the end of the list in any arbitrary order.
Properties are used to configure the URI library about where to find handlers for different networking protocols and interpretation of content into Java objects. These allow you to turn raw bytes into something that the application understands. Sun includes a number of default implementations of these, but they are not particularly efficient or easy to use. We therefore allow you to provide your own, or use the ones that come with the URI library.
There are two properties to set:
uri.content.handler.pkgs and
uri.protocol.handler.pkgs. The first property defines the list
of packages that are used to locate content handlers for things like images
and HTML files. The second property locates the packages to look for when
dealing with network protocol handlers. The value of these are a list of
package names separated by the pipe character '|' and point to the root
package name rather than the acutual packages. See the java.net package
documentation or URIlib documentation for more details.
If you are lazy, then this is all you need to set.
System.setProperty("uri.content.handler.pkgs", "vlc.net.content");
System.setProperty("uri.protocol.handler.pkgs", "vlc.net.protocol");
Note that if you need to handle Inline nodes, you will probably also want to
use the various factories in the org.web3d.net.content package too.
|
Xj3D VRML/X3D Code API | ||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||||