SoVolumeWriter Class |
Abstract base class for volume data writer.
Namespace: OIV.LDM.Writers
The SoVolumeWriter type exposes the following members.
Name | Description | |
---|---|---|
CloseAllHandles | Close all ressources that are locked by the writer so that someone else can read or write to them. | |
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. | |
Finish | Finish writing the file, free ressources, ... | |
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. | |
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. | |
GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) | |
GetName | Returns the name of an instance. | |
GetStringName | (Inherited from SoBase.) | |
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. | |
Initialize | Initialize writer. | |
IsDataConverted | Returns true if the data is already organized in tiles for the LDM module. | |
IsNotifyEnabled | Notification is the process of telling interested objects that this object has changed. | |
IsSynchronizable | Gets the ScaleViz synchronizable state of this object. | |
RestoreAllHandles | Restore ressources that was closed by OIV.LDM.Writers.SoVolumeWriter.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. | |
SetName | (Inherited from SoBase.) | |
SetSynchronizable | Sets this to be a ScaleViz synchronizable object. | |
SetToDefaults | Sets all fields in this object to their default values. | |
ToString |
Converts this SoBase structure to a human readable string.
(Inherited from SoBase.) | |
Touch | Marks an instance as modified, simulating a change to it. | |
WriteSubSlice | Writes the data contained in the specified subslice. | |
WriteTile | Given a tileID, writes a tile if the data is organized in tiles (see OIV.LDM.SoLDMTileID). |
Name | Description | |
---|---|---|
dataType | Type of input data (that will be given in the writeXXX method) . | |
dimension | Dimension of dataset, in voxels. | |
extent | Extent of dataset. | |
IsDisposable | ISafeDisposable interface implementation.
(Inherited from SoDisposable.) | |
UserData |
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.) | |
wordFormat | Endianess of data. |
Base class used to write volume data. Data are generally organised by tiles (like in LDM) or by slices (like in DICOM).
The OIV.LDM.Writers.SoVolumeWriter.IsDataConverted() method must be reimplemented in derived classes and return true if the data is organized in tiles. In this case, the OIV.LDM.Writers.SoVolumeWriter.WriteTile(OIV.LDM.SoLDMTileID, OIV.Inventor.Devices.SoBufferObject) method MUST be implemented and will be used to write data.
If OIV.LDM.Writers.SoVolumeWriter.IsDataConverted() returns false, the OIV.LDM.Writers.SoVolumeWriter.WriteSubSlice(System.Int32, OIV.Inventor.SbBox2i32, OIV.Inventor.Devices.SoBufferObject) method MUST be implemented and will be used to write data.
SoVRLdmFileWriter writer = new SoVRLdmFileWriter(); writer.headerFilename.Value = "myFile.ldm"; writer.dimension.SetValue( 128, 128, 128 ); writer.extent.SetValue( -1,-1,-1, 1,1,1 ); writer.Initialize(); if ( writer.IsDataConverted() ) { SoLDMTileID tileID = 0; SoCpuBufferObject tileBuffer = new SoCpuBufferObject(); writer.WriteTile( tileID, tileBuffer ); } else { int sliceIndex = 0; SbBox2i32 subSlice = new SbBox2i32( 0,0, 128,128 ); SoCpuBufferObject sliceBuffer = new SoCpuBufferObject(); writer.WriteSubSlice( sliceIndex, subSlice, sliceBuffer ); } writer.Finish();