public abstract class SoInputReader extends Inventor implements SafeDisposable
Input readers should be loaded and managed as plugins. Open Inventor automtically attempts to load all files that may be plugin libraries (files with the extension .dll or .so depending on the platform). Plugin libraries may also be explicitly loaded using SoDB.addPlugin()
. See more details on that page. The file name convention (not required) for readers is "Iv*Reader.dll (or .so)".
A plugin library must implement the initPlugin() and exitPlugin() C-formatted entry-points. The initPlugin() function is responsible for registering the new class (or classes) in the Open Inventor database through the standard SoType type creation mechanism. The exitPlugin() function is used to disable the use of the custom class(s) by removing the corresponding type(s) from the Open Inventor database.
When SoDB.readAll()
(for example) is called to create a scene graph from a file or buffer, Open Inventor first attempts to handle the data as .iv or VRML format. If that fails, Open Inventor will call the canConvert()
method for each loaded plugin class, that is derived from SoInputReader
, in the order they were loaded. The first reader plugin that returns true from this method will be used to handle the data.
See also:
SoInput
, SoDB.addPlugin()
SoDB.removePlugin()
SoDB.getPlugins() SoDB.addPluginsDirectory()
SoDB.removePluginsDirectory()
SoDB.getPluginsDirectories()
Inventor.ConstructorCommand
VERBOSE_LEVEL, ZeroHandle
Modifier and Type | Method and Description |
---|---|
boolean |
canConvert(SoInput in)
Returns true if the specified input source can be converted by this plugin.
|
SoSeparator |
convert(SoInput name_16437)
Returns the specified input source in the form of an Open Inventor scene graph.
|
boolean |
dispose()
Explicitly call this method to force object to dispose its unmanaged
resources.
|
boolean |
isDisposable()
Returns a boolean flag which indicates if it is safe to call
SafeDisposable.dispose() on the object. |
getAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads
public boolean isDisposable()
SafeDisposable
SafeDisposable.dispose()
on the object.isDisposable
in interface SafeDisposable
true
if the object can be disposed in a safe mannerpublic boolean dispose()
Inventor
dispose
in interface SafeDisposable
dispose
in class Inventor
true
if this object native resources were successfully
disposed; false
if it was already disposed or no
native resources has been registered for this object.public SoSeparator convert(SoInput name_16437)
SoInput
object) may be a file or a buffer (memory). This method should return NULL if the input source is a buffer and the reader does not support reading from a buffer. SoInput.getCurFile() returns NULL if the input source is a buffer.public boolean canConvert(SoInput in)
SoInput
object) may be a file or a buffer (memory). This method should return false if the input source is a buffer and the reader does not support reading from a buffer. SoInput.getCurFile() returns NULL if the input source is a buffer.Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com