Click or drag to resize
SoLDMReader Class

Base class for LDM data set readers.

Inheritance Hierarchy

Namespace: OIV.LDM.Readers
Assembly: OIV.LDM (in OIV.LDM.dll) Version: 2024.1.0.0 (2024.1.0)
Syntax
public class SoLDMReader : SoVolumeReader

The SoLDMReader type exposes the following members.

Constructors
  NameDescription
Public methodSoLDMReader

Constructor.

Top
Methods
  NameDescription
Public methodCloseAllHandles

Close all resources that are locked by the reader.

(Inherited from SoVolumeReader.)
Public methodCopyFieldValues(SoFieldContainer)
Calls CopyFieldValues(fc, false).
(Inherited from SoFieldContainer.)
Public methodCopyFieldValues(SoFieldContainer, Boolean)

Copies the contents of fc's fields into this object's fields.

(Inherited from SoFieldContainer.)
Public methodDispose
Releases all resources used by SoDisposable.
(Inherited from SoDisposable.)
Public methodEnableNotify

Notification at this Field Container is enabled (if flag == true) or disabled (if flag == false).

(Inherited from SoFieldContainer.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodFieldsAreEqual

Returns true if this object's fields are exactly equal to fc's fields.

(Inherited from SoFieldContainer.)
Public methodGet

Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string.

(Inherited from SoFieldContainer.)
Public methodGetAllFields

Returns a list of fields, including the eventIn's and eventOut's.

(Inherited from SoFieldContainer.)
Public methodGetBbox

Returns the bounding box of the data associated with the specified file ID.

Public methodGetBorderFlag Obsolete.

Returns the border flag.

(Overrides SoVolumeReaderGetBorderFlag.)
Public methodGetCenter

Returns the center of the data associated with the specified file ID.

Public methodGetConfiguredWriter (Overrides SoVolumeReaderGetConfiguredWriter.)
Public methodGetCoordinateType

Returns coordinate type used by the data set.

(Inherited from SoVolumeReader.)
Public methodGetDataChar

Gets the characteristics (file header) of the data volume.

(Overrides SoVolumeReaderGetDataChar(SbBox3f, SoDataSetDataTypes, SbVec3i32).)
Public methodGetDimension

Returns the dimension of the data.

Public methodGetDirectCoordSys

Return whether the coordinate system used is direct or not.

(Inherited from SoVolumeReader.)
Public methodGetDirectCoordSysAutoDetection

Return automatic detection value.

(Inherited from SoVolumeReader.)
Public methodGetEventIn

Returns a the eventIn with the given name.

(Inherited from SoFieldContainer.)
Public methodGetEventOut

Returns the eventOut with the given name.

(Inherited from SoFieldContainer.)
Public methodGetField

Returns a the field of this object whose name is fieldName.

(Inherited from SoFieldContainer.)
Public methodGetFieldName

Returns the name of the given field in the fieldName argument.

(Inherited from SoFieldContainer.)
Public methodGetFields

Appends references to all of this object's fields to resultList, and returns the number of fields appended.

(Inherited from SoFieldContainer.)
Public methodGetFilename

Returns the path of the file.

(Inherited from SoVolumeReader.)
Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetHistogram(IListInt64)

Returns the distribution of data values, i.e., the number of voxels per data value.

(Overrides SoVolumeReaderGetHistogram(IListInt64).)
Public methodGetHistogram(Queue) Obsolete.
Returns histogram if stored in file.
(Inherited from SoVolumeReader.)
Public methodGetMinMax(Double, Double)

Returns the minimum and maximum data values (for float values).

(Overrides SoVolumeReaderGetMinMax(Double, Double).)
Public methodGetMinMax(Int32, Int32) Obsolete.
Public methodGetMinMax(Int64, Int64)

Returns the minimum and maximum data values.

(Overrides SoVolumeReaderGetMinMax(Int64, Int64).)
Public methodGetName

Returns the name of an instance.

(Inherited from SoBase.)
Public methodGetNumSignificantBits

This method is optional.

(Inherited from SoVolumeReader.)
Public methodGetNumVoxels

Utility function provided by OIV.LDM.Readers.SoVolumeReader for subclass readers to call.

(Inherited from SoVolumeReader.)
Public methodGetOriginalFilename

Returns original file name from which the data has been converted to LDM format if stored in file.

(Overrides SoVolumeReaderGetOriginalFilename.)
Public methodGetReaderType

Returns the reader type.

(Overrides SoVolumeReaderGetReaderType.)
Public methodGetRectilinearCoordinates

Returns the coordinates for the specified axis.

(Inherited from SoVolumeReader.)
Public methodGetSize

Returns the bounding box of the total data in world coordinates.

Public methodGetSizeToAllocate

Utility function provided by OIV.LDM.Readers.SoVolumeReader for subclass readers to call.

(Inherited from SoVolumeReader.)
Public methodGetStringName (Inherited from SoBase.)
Public methodGetSubSlice(SbBox2i32, Int32, SbNativeArrayByte)

Note: OIV.LDM.Readers.SoLDMReader does not implement this method.

(Overrides SoVolumeReaderGetSubSlice(SbBox2i32, Int32, SbNativeArrayByte).)
Public methodGetSubSlice(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.

(Inherited from SoVolumeReader.)
Public methodGetTileMinMax

Returns the minimum and maximum data values for the given tile.

(Overrides SoVolumeReaderGetTileMinMax(Int32).)
Public methodGetTileSize

Returns the size of a data tile.

(Overrides SoVolumeReaderGetTileSize(SbVec3i32).)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetXmlTag

Gets the first occurrence of the XML element whose tag name is specified by tagName.

Public methodHasDefaultValues

Returns true if all of the object's fields have their default values.

(Inherited from SoFieldContainer.)
Public methodIsIgnoredFile

Should return true if at least one file has been ignored during reading.

(Inherited from SoVolumeReader.)
Public methodIsLittleEndian

Returns whether the bytes of the data are stored in big or little endian order.

Public methodIsNotifyEnabled

Notification is the process of telling interested objects that this object has changed.

(Inherited from SoFieldContainer.)
Public methodIsSynchronizable

Gets the ScaleViz synchronizable state of this object.

(Inherited from SoBase.)
Public methodReadTile(Int32, SbBox3i32)

Given an index, reads a tile if the data is organized in tiles (for LDM).

(Overrides SoVolumeReaderReadTile(Int32, SbBox3i32).)
Public methodReadTile(Int32, SbNativeArrayByte, SbBox3i32) Obsolete.
Public methodReadTile(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.

(Inherited from SoVolumeReader.)
Public methodReadXSliceInTile

Read directly from the LDM data source, an orthoslice on the X axis inside a tile.

(Overrides SoVolumeReaderReadXSliceInTile(Int32, SbNativeArrayByte, SbBox3i32, UInt32).)
Public methodReadXTraceInTile

Read directly from the LDM data source, a trace inside a tile.

(Overrides SoVolumeReaderReadXTraceInTile(Int32, SbNativeArrayByte, SbBox3i32, SbVec2i32).)
Public methodReadYSliceInTile

Read directly from the LDM data source, an orthoslice on the Y axis inside a tile.

(Overrides SoVolumeReaderReadYSliceInTile(Int32, SbNativeArrayByte, SbBox3i32, UInt32).)
Public methodReadZSliceInTile

Read directly from the LDM data source, an orthoslice on the Z axis inside a tile.

(Overrides SoVolumeReaderReadZSliceInTile(Int32, SbNativeArrayByte, SbBox3i32, UInt32).)
Public methodReloadTileMinMax
(Inherited from SoVolumeReader.)
Public methodRestoreAllHandles

Restore resources that were closed by OIV.LDM.Readers.SoVolumeReader.CloseAllHandles().

(Inherited from SoVolumeReader.)
Public methodSet

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.

(Inherited from SoFieldContainer.)
Public methodSetDirectCoordSysAutoDetection

Sets whether or not the reader should automatically try to detect if the coordinate system used is direct or not.

(Inherited from SoVolumeReader.)
Public methodSetDirectCoorSys

Specify if the coordinate system used is direct or not.

(Inherited from SoVolumeReader.)
Public methodSetFilename

Specifies the path of the file.

(Inherited from SoVolumeReader.)
Public methodSetInputDataRange

Requests that the input be converted from the specified range to the range depending on the output data type.

(Inherited from SoVolumeReader.)
Public methodSetName (Inherited from SoBase.)
Public methodSetOutputDataType

Sets the output data type.

(Inherited from SoVolumeReader.)
Public methodSetRectilinearCoordinates

Sets rectilinear coordinates for the data set.

(Inherited from SoVolumeReader.)
Public methodSetSynchronizable

Sets this to be a ScaleViz synchronizable object.

(Inherited from SoBase.)
Public methodSetToDefaults

Sets all fields in this object to their default values.

(Inherited from SoFieldContainer.)
Public methodSetUserData Obsolete.
Stores the userData (for example the filename string) in the m_data protected variable.
(Inherited from SoVolumeReader.)
Public methodToString
Converts this SoBase structure to a human readable string.
(Inherited from SoBase.)
Public methodTouch

Marks an instance as modified, simulating a change to it.

(Inherited from SoBase.)
Top
Properties
  NameDescription
Public propertyDataConverted
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.)
Public propertyIsDisposable
ISafeDisposable interface implementation.
(Inherited from SoDisposable.)
Public propertyIsRGBA

Returns true if the data set contains RGBA color values.

(Inherited from SoVolumeReader.)
Public propertyIsThreadSafe

Return true as this reader is thread safe.

(Overrides SoVolumeReaderIsThreadSafe.)
Public propertyUserData
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.)
Top
Remarks

This is the base class for specific LDM readers.

See OIV.LDM.Readers.SoVRLdmFileReader for a specific implementation.

This class retrieves the XML tags from an LDM header file (usually a .ldm file) that are general to all LDM files, i.e. the tags that are interpreted by VolumeViz.

Custom tags for classes derived from OIV.LDM.Readers.SoLDMReader can be retrieved by overriding the () method.

General tags common for all LDM Readers are:

<?xml version="1.0" encoding="utf-8" ?>
<VolumeInformation>
 <OriginalFile>3dhead.vol</OriginalFile>
 <Size> //or dimension//
   <U>256</U>
   <V>256</V>
   <W>109</W>
 </Size>
 <TileSize>
   <U>64</U>
   <V>64</V>
   <W>64</W>
 </TileSize>
 <DataType>
    <Type>n</Type><Num>m</Num>
    ...
 <DataType>
 <DataFilename>3DHEAD.dat</DataFilename>//separate datafile//
 <WordFormat>1</WordFormat>//data stored in little/big endian//
 <CompletionFilename>3dhead.fcp</CompletionFilename>//if the conversion was interrupted, refer to this file

 <RectilinearMapping>
  <mapping axis="U">
   <map>-180</map>
   <map>-160</map>
   ... one entry per voxel on U axis
  </mapping>
   ... repeat for V, W axis
 </RectilinearMapping>
Note that the minimum tags that MUST be in the LDM header are <Size> or <Dimension> and <TileSize>. Otherwise the reader will throw a "tag missing" exception.

See Also