SoDataSetId Class |
Property node that sets the current dataset id.
Namespace: OIV.LDM.Nodes
The SoDataSetId type exposes the following members.
Name | Description | |
---|---|---|
SoDataSetId | Constructor. |
Name | Description | |
---|---|---|
AffectsState | Returns true if a node has an effect on the state during traversal. | |
Callback | (Overrides SoNodeCallback(SoCallbackAction).) | |
Copy | Calls Copy(false). (Inherited from SoNode.) | |
Copy(Boolean) | Creates and returns an exact copy of the node. | |
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.) | |
Distribute | (Inherited from SoNode.) | |
DoAction | (Overrides SoNodeDoAction(SoAction).) | |
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. | |
GetAlternateRep | This method is called by actions to allow the node to provide an "alternate representation" when appropriate (typically depending on the action type). | |
GetBoundingBox | (Inherited from SoNode.) | |
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.) | |
GetMatrix | (Inherited from SoNode.) | |
GetName | Returns the name of an instance. | |
GetPrimitiveCount | (Inherited from SoNode.) | |
GetRenderEngineMode | Returns the supported Render engine mode. | |
GetRenderUnitID | (Inherited from SoNode.) | |
GetStringName | (Inherited from SoBase.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
GLRender | (Overrides SoNodeGLRender(SoGLRenderAction).) | |
GLRenderBelowPath | (Inherited from SoNode.) | |
GLRenderInPath | (Inherited from SoNode.) | |
GLRenderOffPath | (Inherited from SoNode.) | |
GrabEventsCleanup | (Inherited from SoNode.) | |
GrabEventsSetup | (Inherited from SoNode.) | |
HandleEvent | (Inherited from SoNode.) | |
HasDefaultValues | Returns true if all of the object's fields have their default values. | |
IsBoundingBoxIgnoring | 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. | |
IsNotifyEnabled | Notification is the process of telling interested objects that this object has changed. | |
IsOverride | Returns the state of the override flag. | |
IsSynchronizable | Gets the ScaleViz synchronizable state of this object. | |
Pick | (Inherited from SoNode.) | |
RayPick | (Inherited from SoNode.) | |
Search | (Overrides SoNodeSearch(SoSearchAction).) | |
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.) | |
SetOverride | Turns the override flag on or off. | |
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. | |
Write | (Inherited from SoNode.) |
Name | Description | |
---|---|---|
id | Data set id. | |
IsDisposable | ISafeDisposable interface implementation.
(Inherited from SoDisposable.) | |
UserData |
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.) |
When using multiple OIV.LDM.Nodes.SoDataSet nodes, the dataSet id uniquely identifies each data set used in the compositing. It also specifies the OpenGL texture unit in which the textures for each data set will be stored for use by GLSL shader programs when doing render compositing.
If an OIV.LDM.Nodes.SoDataSetId node is traversed before a data set node (OIV.LDM.Nodes.SoDataSet, OIV.VolumeViz.Nodes.SoVolumeData, etc), the data set node's dataSetId field is ignored and the id from the OIV.LDM.Nodes.SoDataSetId node is used.
In some cases we want to combine multiple data textures where each data texture comes from a different data set (OIV.VolumeViz.Nodes.SoVolumeData) node. In that case we could simply use each data set node's dataSetId field to assign each data texture a unique id. However it is also possible to create multiple data textures from a single data set using the OIV.VolumeViz.Nodes.SoVolumeTransform node. In this case the same data set node will be instanced in the scene graph multiple times (although its data will only be loaded in CPU memory once), but we still need to assign each data texture a unique id. This can be done using OIV.LDM.Nodes.SoDataSetId nodes to specify a different data set id for each instance of the data set node. For example:
SoDataSetId dataSetId1 = new SoDataSetId(); dataSetId1.id.Value = 1; SoDataSetId dataSetId2 = new SoDataSetId(); dataSetId2.id.Value = 2; SoMultiDataSeparator multiDataSep = new SoMultiDataSeparator(); multiDataSep.AddChild(volumeShader); // Shader to combine volumes multiDataSep.AddChild(volumeTransform1); multiDataSep.AddChild(dataSetId1); multiDataSep.AddChild(volumeData); multiDataSep.AddChild(volumeTransform2); multiDataSep.AddChild(dataSetId2); multiDataSep.AddChild(volumeData); // Same data node instanced again multiDataSep.AddChild(volumeRender); root.AddChild( multiDataSep );
OIV.LDM.Nodes.SoDataSetId {
id | 1 |
OIV.Inventor.Actions.SoGLRenderAction, OIV.Inventor.Actions.SoCallbackAction Sets the current dataset id