Click or drag to resize
SoDataSet Class

Data set node.

Inheritance Hierarchy

Namespace: OIV.LDM.Nodes
Assembly: OIV.LDM (in OIV.LDM.dll) Version: 2024.1.1.0 (2024.1.1)
Syntax
public class SoDataSet : SoNode

The SoDataSet type exposes the following members.

Methods
  NameDescription
Public methodAffectsState

Returns true if a node has an effect on the state during traversal.

(Inherited from SoNode.)
Public methodCallback
Public methodCopy
Calls Copy(false).
(Inherited from SoNode.)
Public methodCopy(Boolean)

Creates and returns an exact copy of the node.

(Inherited from SoNode.)
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 methodStatic memberDataSize

Returns the number of bytes per voxel of the specified data type.

Public methodDispose
Releases all resources used by SoDisposable.
(Inherited from SoDisposable.)
Public methodDistribute
(Inherited from SoNode.)
Public methodDoAction
Public methodEditBoxes

Replace all voxels in the region defined by a list of boxes with the specified value.

Public methodEditSolidShape

Replaces all voxels intersecting the given shape with the specified value.

Public methodEditSubVolume(SbBox3i32, SoBufferObject)

Replaces the contents of a subvolume with the given data.

Public methodEditSubVolume(SbBox3i32, Double)

Replaces the contents of a subvolume with the specified value.

Public methodEditSurfaceShape

Replaces all voxels intersecting the polygons or lines defined by the surfaceShape and given thickness with the specified value.

Public methodEditTile(SoLDMTileID, SoBufferObject)

Replaces the contents of a tile with the given data.

Public methodEditTile(SoLDMTileID, Double)

Replaces the contents of a tile with the specified value.

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 methodFinishEditing

Terminates an editing transaction.

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 methodGetAlternateRep

This method is called by actions to allow the node to provide an "alternate representation" when appropriate (typically depending on the action type).

(Inherited from SoNode.)
Public methodGetBoundingBox
Public methodGetDataSize

Returns the number of bytes per voxel in VolumeViz.

Public methodGetDataType

Returns the data type.

Public methodGetDatumSize

Returns the number of bytes per voxel.

Public methodGetDimension

Returns the data set dimension.

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 methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetLdmDataAccess

Returns a reference to the OIV.LDM.SoLDMDataAccess object.

Public methodGetLDMReader

Returns a pointer to the current data set reader object.

Public methodGetLDMTopoOctree

Returns the LDMTopoOctree used by this OIV.LDM.Nodes.SoDataSet.

Public methodGetMatrix
(Inherited from SoNode.)
Public methodStatic memberGetMaxNumDataSets

Returns the maximum number of data sets that can be render composited on the current hardware (essentially the number of texture units - 1).

Public methodGetMinMax(Double, Double)

Returns min and max values of the data set.

Public methodGetMinMax(Int64, Int64)

Returns min and max values of the data set data.

Public methodGetName

Returns the name of an instance.

(Inherited from SoBase.)
Public methodGetOverlapping Obsolete.
Public methodGetPrimitiveCount
(Inherited from SoNode.)
Public methodGetReader Obsolete.

Returns the current data set reader object.

Public methodGetRenderEngineMode

Returns the supported Render engine mode.

(Inherited from SoNode.)
Public methodGetRenderUnitID
(Inherited from SoNode.)
Public methodGetStringName (Inherited from SoBase.)
Public methodGetTileDimension

Returns the tile dimension.

Public methodGetTileIDInMemory

Debug purpose only.

Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGLRender
Public methodGLRenderBelowPath
(Inherited from SoNode.)
Public methodGLRenderInPath
(Inherited from SoNode.)
Public methodGLRenderOffPath
(Inherited from SoNode.)
Public methodGrabEventsCleanup
(Inherited from SoNode.)
Public methodGrabEventsSetup
(Inherited from SoNode.)
Public methodHandleEvent
Public methodHasDefaultValues

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

(Inherited from SoFieldContainer.)
Public methodHasEditedTile

Returns true if DataSet has edited tiles.

Public methodIsBoundingBoxIgnoring

This method is used by getBoundingBox action traversal to know if the current node must be traversed or not, ie the bounding should be ignored.

(Inherited from SoNode.)
Public methodStatic memberIsDataFloat

Returns true if the given data type is a float data type.

Public methodIsDataInMemory

Indicates whether the data attached to a tile is in main memory.

Public methodStatic memberIsDataSigned

Returns true if the given data type is a signed integer data type.

Public methodIsInMemory

Indicates whether a tile is in main memory.

Public methodIsNotifyEnabled

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

(Inherited from SoFieldContainer.)
Public methodIsOverride

Returns the state of the override flag.

(Inherited from SoNode.)
Public methodIsSynchronizable

Gets the ScaleViz synchronizable state of this object.

(Inherited from SoBase.)
Public methodNumSigBits

Returns the number of significant bits.

Public methodPick
Public methodRayPick
(Inherited from SoNode.)
Public methodReadTile(SoBufferObject, SoLDMTileID, Boolean)

Copies the specified tile into the provided buffer.

Public methodReadTile(SoLDMTileID, SoBufferObject, Boolean)

Copies the specified tile into the provided buffer.

Public methodReadTile(SoLDMTileID, Byte, Boolean) Obsolete.
Public methodRedoEditing

Redo all modifications associated with the specified transaction id.

Public methodResetReader
Public methodSaveEditing
Save modifications to a file.
Public methodSaveEditing(Boolean)
Save modifications to a file.
Public methodSaveEditing(Boolean, IListString)
Save modifications to a file.
Public methodSearch
(Inherited from SoNode.)
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 methodSetLDMReader

Sets the LDM volume reader object to use.

Public methodSetName (Inherited from SoBase.)
Public methodSetOverride

Turns the override flag on or off.

(Inherited from SoNode.)
Public methodSetReader(SoVolumeReader) Obsolete.
Calls SetReader(reader, false).
Public methodSetReader(SoVolumeReader, Boolean) Obsolete.

This method allows the data to be read directly from the disk using the specified subclass of OIV.LDM.Readers.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 methodStartEditing

Initiate an editing transaction.

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 SoNode.)
Public methodUndoEditing

Undo all modifications associated with the specified transaction id.

Public methodUseFakeData

Creates fake data in buffer.

Public methodVoxelToXYZ(SbBox3f)

Converts the specified box in voxel coordinates (I,J,K) to geometric coordinates (X,Y,Z).

Public methodVoxelToXYZ(SbVec3f)

Converts the specified point in voxel coordinates (I,J,K) to geometric coordinates (X,Y,Z).

Public methodWrite
Public methodWriteTile

Write the specified tile using the specified writer.

Public methodXYZToVoxel(SbBox3f)

Converts the specified box in geometric coordinates to voxel coordinates.

Public methodXYZToVoxel(SbVec3f)

Converts the specified point in geometric coordinates (X,Y,Z) to voxel coordinates (I,J,K).

Top
Properties
  NameDescription
Public propertyallocateResourceOnRender

Indicates if resource allocation is done only on first render traversal or as soon as the node is created.

Public propertydataSetId

When using multiple OIV.LDM.Nodes.SoDataSet nodes, the OIV.LDM.Nodes.SoDataSet.dataSetId field uniquely identifies each data set used in the compositing.

Public propertydataTransform

If set to an appropriate OIV.LDM.Nodes.SoLDMDataTransform object, the object's transformFunction method is called after each tile is loaded, but before it is stored in main memory.

Public propertyextent

The real size (extent) of the volume in modeling coordinates.

Public propertyfileName

Indicates the file location containing the data set.

Public propertyIsDisposable
ISafeDisposable interface implementation.
(Inherited from SoDisposable.)
Public propertyLDMDataTransformCallback Obsolete.

If set, the user-defined function is called after each tile is loaded, but before it is stored in main memory.

Public propertyldmResourceParameters

Contains an OIV.LDM.Nodes.SoLDMResourceParameters object which allows you to set LDM resource parameters.

Public propertyReader

Returns the current data set reader object.

Public propertytexturePrecision

For scalar (non-RGBA) data, specifies the size of voxel values on the GPU in bits.

Public propertyundefinedValue

Data with this value won't be rendered.

Public propertyuseCompressedTexture

Controls use of OpenGL lossy texture compression for RGBA data (if available).

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

This class specifies a data set and its properties, and also provides utilities for extracting a subset of the data set and for resampling the data set. The data can be read directly from a file or can be accessed via a user-defined volume reader. This class is the parent class of the VolumeViz data nodes: OIV.VolumeViz.Nodes.SoVolumeData, OIV.VolumeViz.Nodes.SoHeightFieldGeometry, OIV.VolumeViz.Nodes.SoHeightFieldProperty, etc. Those nodes provide the data for VolumeViz rendering nodes: OIV.VolumeViz.Nodes.SoVolumeRender, OIV.VolumeViz.Nodes.SoOrthoSlice, OIV.VolumeViz.Nodes.SoObliqueSlice, etc. See OIV.VolumeViz.Nodes.SoVolumeData for more details about loading and managing volume data.

The data set can be specified by:

  • Setting the OIV.LDM.Nodes.SoDataSet.fileName field This implies that the data set is stored on disk, in one of the file formats for which LDM has a built-in reader. LDM will automatically select a reader based on the file extension, for example ".am" for the AmiraMesh file format.

  • Calling the OIV.LDM.Nodes.SoDataSet.SetReader(OIV.LDM.Readers.SoVolumeReader, System.Boolean) method This is the most general method because an application can specify one of the standard LDM readers or implement a customized subclass of OIV.LDM.Readers.SoVolumeReader. LDM will get the data set properties (dimensions, size, data type, etc) and access the data through the specified reader object. This allows the application to completely control how, and from where, the data is loaded.

See Also