SoVRVolFileReader Class |
VOL file reader.
Namespace: OIV.VolumeViz.Readers
The SoVRVolFileReader type exposes the following members.
Name | Description | |
---|---|---|
SoVRVolFileReader | Constructor. |
Name | Description | |
---|---|---|
CloseAllHandles | Close all resources that are locked by the reader. | |
CopyFieldValues(SoFieldContainer) | Calls CopyFieldValues(fc, false). (Inherited from SoFieldContainer.) | |
CopyFieldValues(SoFieldContainer, Boolean) | Copies the contents of fc's fields into this object's fields. | |
Dispose |
Releases all resources used by SoDisposable.
(Inherited from SoDisposable.) | |
EnableNotify | Notification at this Field Container is enabled (if flag == true) or disabled (if flag == false). | |
Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
FieldsAreEqual | Returns true if this object's fields are exactly equal to fc's fields. | |
Get | Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string. | |
GetAllFields | Returns a list of fields, including the eventIn's and eventOut's. | |
GetBorderFlag | Obsolete. (Inherited from SoVolumeReader.) | |
GetConfiguredWriter | (Inherited from SoVolumeReader.) | |
GetCoordinateType | Returns coordinate type used by the data set. | |
GetDataChar | Gets the characteristics (file header) of the data volume. | |
GetDirectCoordSys | Return whether the coordinate system used is direct or not. | |
GetDirectCoordSysAutoDetection | Return automatic detection value. | |
GetEventIn | Returns a the eventIn with the given name. | |
GetEventOut | Returns the eventOut with the given name. | |
GetField | Returns a the field of this object whose name is fieldName. | |
GetFieldName | Returns the name of the given field in the fieldName argument. | |
GetFields | Appends references to all of this object's fields to resultList, and returns the number of fields appended. | |
GetFilename | Returns the path of the file. | |
GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) | |
GetHistogram(IListInt64) | Returns histogram if available. | |
GetHistogram(Queue) | Obsolete.
Returns histogram if stored in file.
(Inherited from SoVolumeReader.) | |
GetMinMax(Double, Double) | Returns min max for float data type, if available. | |
GetMinMax(Int32, Int32) | Obsolete. (Inherited from SoVolumeReader.) | |
GetMinMax(Int64, Int64) | Returns min and max for integer data type, if available. | |
GetName | Returns the name of an instance. | |
GetNumSignificantBits | This method is optional. | |
GetNumVoxels | Utility function provided by OIV.LDM.Readers.SoVolumeReader for subclass readers to call. | |
GetOriginalFilename | Returns original file name from which the data has been converted to LDM format if stored in file. | |
GetReaderType | Returns the reader type. | |
GetRectilinearCoordinates | Returns the coordinates for the specified axis. | |
GetSizeToAllocate | Utility function provided by OIV.LDM.Readers.SoVolumeReader for subclass readers to call. | |
GetStringName | (Inherited from SoBase.) | |
GetSubSlice(SbBox2i32, Int32, SoBufferObject) | Same as OIV.LDM.Readers.SoVolumeReader.GetSubSlice(OIV.Inventor.SbBox2i32, System.Int32, OIV.Inventor.Generic.SbNativeArray{{System.Byte}}) but using an OIV.Inventor.Devices.SoBufferObject as the target of the data. | |
GetSubSlice(SbBox2i32, Int32, SbNativeArrayByte) | Must copy the rectangular part defined by subSlice of the XY slice sliceNumber to the memory referenced by data. | |
GetTileMinMax | Returns the minimum and maximum data values for the given tile. | |
GetTileSize | Returns tile dimensions in voxels when using data stored in tiles. | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
HasDefaultValues | Returns true if all of the object's fields have their default values. | |
IsIgnoredFile | Should return true if at least one file has been ignored during reading. | |
IsNotifyEnabled | Notification is the process of telling interested objects that this object has changed. | |
IsSynchronizable | Gets the ScaleViz synchronizable state of this object. | |
ReadTile(Int32, SbBox3i32) | Given an index, reads a tile if the data is organized in tiles (for LDM). | |
ReadTile(Int32, SoBufferObject, SbBox3i32) | Obsolete. Same as OIV.LDM.Readers.SoVolumeReader.ReadTile(System.Int32, OIV.Inventor.Generic.SbNativeArray{{System.Byte}}, OIV.Inventor.SbBox3i32) but using an OIV.Inventor.Devices.SoBufferObject (allocated by LDM) as the target of the data. | |
ReadTile(Int32, SbNativeArrayByte, SbBox3i32) | Obsolete. Given an index, reads a tile if the data is organized in tiles (for LDM). | |
ReadXSliceInTile | Read directly from the data source, an orthoslice on the X axis (Zaxis == 0) inside a tile. | |
ReadXTraceInTile | Read directly from the data source, a trace inside a tile. | |
ReadYSliceInTile | Read directly from the data source, an orthoslice on the Y axis (Zaxis == 1) inside a tile. | |
ReadZSliceInTile | Read directly from the data source, an orthoslice on the Z axis (Zaxis == 2) inside a tile. | |
ReloadTileMinMax | (Inherited from SoVolumeReader.) | |
RestoreAllHandles | Restore resources that were closed by OIV.LDM.Readers.SoVolumeReader.CloseAllHandles(). | |
Set | Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. | |
SetDirectCoordSysAutoDetection | Sets whether or not the reader should automatically try to detect if the coordinate system used is direct or not. | |
SetDirectCoorSys | Specify if the coordinate system used is direct or not. | |
SetFilename | Specifies the path of the file. | |
SetInputDataRange | Requests that the input be converted from the specified range to the range depending on the output data type. | |
SetName | (Inherited from SoBase.) | |
SetOutputDataType | Sets the output data type. | |
SetRectilinearCoordinates | Sets rectilinear coordinates for the data set. | |
SetSynchronizable | Sets this to be a ScaleViz synchronizable object. | |
SetToDefaults | Sets all fields in this object to their default values. | |
SetUserData | Obsolete.
Stores the userData (for example the filename string) in the m_data protected variable.
(Inherited from SoVolumeReader.) | |
ToString |
Converts this SoBase structure to a human readable string.
(Inherited from SoBase.) | |
Touch | Marks an instance as modified, simulating a change to it. |
Name | Description | |
---|---|---|
DataConverted |
true if the data is already organized in tiles for the LDM module.
In other words, all drivers that directly support the GetTile() method should
set DataConverted to true.
If true, VolumeViz will use the ReadTile method and will NOT call GetSubSlice().
(Inherited from SoVolumeReader.) | |
IsDisposable | ISafeDisposable interface implementation.
(Inherited from SoDisposable.) | |
IsRGBA | Returns true if the data set contains RGBA color values. | |
IsThreadSafe | Should return true if the reader is thread safe. | |
UserData |
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.) |
VOL is a simple volume interchange format (see "Introduction to Volume Rendering", Lichtenbelt, Crane, Naqvi, 1998). The VolumeViz reader can load files containing 8- or 16-bit voxels.
The following is a slightly simplified description of the VOL file format.
All values in a VOL file are binary format, stored in "big-endian" order. In other words, values can used directly on most UNIX machines (SPARC, MIPS, PA-RISC, etc), but must be byte swapped on most Windows and Linux (X86) machines.
A VOL file consists of a variable length header followed by data values. The VolumeViz reader looks at the first seven or ten header values (depending on the value of magicNumber). All values in the header are 4 bytes long and are 32 bit integer or float as listed below. The header contains the total length of the header in bytes and the data values begin at this offset in the file. Data values are either 1 or 2 bytes long (8- or 16- bit integers). Data values are stored as a stack of images, in other words Z slices (X increasing fastest, then Y, then Z).
The header consists of:
magicNumber (int) should be 192837465 or 192837466
headerSize (int) in bytes
width (int) in voxels
height (int) in voxels
depth (int) in voxels
bitsPerVoxel (int) either 8 or 16 are valid
indexBits (int) not used
If "magicNumber" equals 192837466 (decimal) then header also contains three scale factors used to define nonuniform voxel spacing:
scaleX (float)
scaleY (float)
scaleZ (float)