Class BaseLoader

java.lang.Object
org.xj3d.loaders.ogl.BaseLoader
All Implemented Interfaces:
org.j3d.renderer.aviatrix3d.loader.AVLoader
Direct Known Subclasses:
VRML97Loader, Web3DLoader, X3DLoader

public abstract class BaseLoader extends Object implements org.j3d.renderer.aviatrix3d.loader.AVLoader
Common base implementation Aviatrix3D file loader implementation for reading loading files and building a Aviatrix3D scene graph with them.

The loader considers sensor handling and routing to be behaviours. Some asynchronous loading of files for textures is performed. Sound file loading is performed if audio clips are asked for. For example, if behaviours are not requested then Inlines will not have their content loaded.

If the loader asks for no runtime, then we will still load nodes that need a runtime system to work, but will disable their use. For example, a LOD will still need to have all of the geometry loaded, just not shown or activated because the LOD's internal behavior is disabled. Scripts are considered to be behaviours, and they will not be loaded at all if runtime loading is disabled.

The implementation only makes use of two behaviours. One is a per-frame behaviour for the event model evaluation. The other is a handler for trapping user input events. If you disable behaviours, you loose both of these. For content other than static geometry, such as animations, turning off behaviours will result in no animations. However, every loaded scene will be attempting to do work like navigation. This will become quite CPU intensive because every model will be performing picking operations. To cut down on this CPU usage, the navigation processing is turned off by default. If you want the loaded code to also do the navigation of the viewpoints, then you can call the setNavigationEnable() method. The default setup for runtime activities is ListsRouterFactory and MemCacheLoadManager

Version:
$Revision: 1.8 $
Author:
Justin Couch