SoVolumeMask Class |
Volume mask.
Namespace: OIV.VolumeViz.Nodes
The SoVolumeMask type exposes the following members.
Name | Description | |
---|---|---|
![]() | SoVolumeMask | Constructor. |
Name | Description | |
---|---|---|
![]() | AffectsState | Returns true if a node has an effect on the state during traversal. |
![]() | Callback | (Inherited from SoDataSet.) |
![]() | 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 | (Inherited from SoVolumeData.) |
![]() | DrawTiles | Obsolete. (Inherited from SoDataSet.) |
![]() | EditBoxes | Replace all voxels in the region defined by a list of boxes with the specified value. |
![]() | EditSolidShape | Replace all voxels inside the given shape with the specified value. |
![]() | EditSubVolume(SbBox3i32, SoBufferObject) | Replace the contents of a subvolume with the given data. |
![]() | EditSubVolume(SbBox3i32, Double) | Replace the contents of a subvolume with the specified value. |
![]() | EditSurfaceShape | Replace all voxels intersecting the polygons or lines defined by the surfaceShape and given thickness with the specified value. |
![]() | EditTile(SoLDMTileID, SoBufferObject) | Replace the contents of a tile with the given data. |
![]() | EditTile(SoLDMTileID, Double) | Replace the contents of a tile with the specified value. |
![]() | EnableAutoSubSampling | Obsolete. Specifies if automatic subsampling is allowed. |
![]() | EnableAutoUnSampling | Obsolete. Specifies if automatic unsampling is allowed. |
![]() | EnableNotify | Notification at this Field Container is enabled (if flag == true) or disabled (if flag == false). |
![]() | EnableSubSampling | Obsolete. Specifies if automatic subsampling and unsampling is allowed. |
![]() | Equals | (Inherited from Object.) |
![]() | FieldsAreEqual | Returns true if this object's fields are exactly equal to fc's fields. |
![]() | FinishEditing | Terminate an editing transaction. |
![]() | 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). |
![]() | GetAppropriateElement | a SoDataSet must return the LDMelt defining the weights of the representations that are going to use it. |
![]() | GetBoundingBox | (Inherited from SoDataSet.) |
![]() | GetCenterVolumeBox | (Inherited from SoVolumeData.) |
![]() | GetCoordinateType | (Inherited from SoVolumeData.) |
![]() | GetDataSize | Returns the number of bytes per voxel in VolumeViz. |
![]() | GetDataType | Returns the data type. |
![]() | GetDatumSize | Returns the number of bytes per voxel. |
![]() | GetDefaultValue | Returns default value of the volume mask. |
![]() | GetDimension | Obsolete. Obsoletesince Open Inventor 8000 Use getSize method on SoVolumeData.data. |
![]() | 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.) |
![]() | GetHistogram |
Returns the histogram of the volume data.
Returns null reference if the requested data is not available.
(Inherited from SoVolumeData.) |
![]() | GetLdmDataAccess | Returns a reference to the SoLDMDataAccess object. |
![]() | GetLdmManagerAccess | (Inherited from SoDataSet.) |
![]() | GetLDMReader | Returns a pointer to the current data set reader object. |
![]() | GetLdmResourceParameter | Obsolete. Returns a reference to the LDMResourceParameter. |
![]() | GetMatrix | (Inherited from SoNode.) |
![]() | GetMinMax(Double, Double) | Returns min and max values of the data set. |
![]() | GetMinMax(Int32, Int32) | Obsolete. Returns min and max values of the volume data. |
![]() | GetMinMax(Int64, Int64) | Returns min and max values of the data set data. |
![]() | GetName | Returns the name of an instance. |
![]() | GetNodeFrontManager | Returns a pointer to the LDM node front manager. |
![]() | GetNumTimeSteps | Obsolete. Returns the number of time steps. |
![]() | GetOverlapping | Obsolete. Returns the tile border (overlap) in voxels. |
![]() | GetPageSize | Obsolete. (Inherited from SoVolumeData.) |
![]() | GetPrimitiveCount | (Inherited from SoNode.) |
![]() | GetReader | Obsolete. Returns the current data set reader object. |
![]() | GetRectilinearCoordinates | Returns a vector describing mapping from uniform space to rectilinear space. |
![]() | GetRenderUnitID | (Inherited from SoVolumeData.) |
![]() | GetSizeVolumeBox | (Inherited from SoVolumeData.) |
![]() | GetStringName | (Inherited from SoBase.) |
![]() | GetSubSamplingLevel(SbVec3i32, SbVec3i32) | Obsolete. Returns values used to subsample at given values even when automatic subsampling is disabled. |
![]() | GetSubSamplingLevel(SbVec3s, SbVec3s) | Obsolete. Use getSubSamplingLevel(SbVec3i32 &, SbVec3i32 &). |
![]() | GetTexMemorySize | Obsolete. Returns the maximum texture memory size to use in mega texels. |
![]() | GetTileDimension | Returns the tile dimension. |
![]() | GetTileManager | Returns a pointer to the LDM tile manager. |
![]() | GetTileVisitor | Obsolete. Returns the current LDM tile visitor. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | GetVolumeBox | (Inherited from SoVolumeData.) |
![]() | GetVolumeData | |
![]() | GetVolumeSize | Obsolete. Obsoletesince Open Inventor 7000 Use getValue() method on SoVolumeData.extent instead. |
![]() | GetVVizGeometry | Obsolete. Returns a pointer to the LDM geometry object. |
![]() | GLRender | (Overrides SoVolumeDataGLRender(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. |
![]() | HasEditedTile | Returns true if DataSet has edited tiles. |
![]() | IsAutoSubSamplingEnabled | Obsolete. Returns true if automatic subsampling is allowed. |
![]() | IsAutoUnSamplingEnabled | Obsolete. Returns true if automatic unsampling is allowed. |
![]() | 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. |
![]() | IsPaging | Obsolete. Returns true if paging is on, false if off. |
![]() | IsSubSamplingEnabled | Obsolete. Returns true if automatic subsampling is allowed. |
![]() | IsSynchronizable | Gets the ScaleViz synchronizable state of this object. |
![]() | IsTimeDependent | Obsolete. (Inherited from SoDataSet.) |
![]() | LoadRegions(SbBox3i32, SoState, SoTransferFunction) | Obsolete. This function will load all bricks into system memory that are wholly or partially contained within each of the specified regions. |
![]() | LoadRegions(SbBox3s, SoState, SoTransferFunction) | Obsolete. Use loadRegions( const SbBox3i32*, int, SoState*, SoTransferFunction* ). |
![]() | NumSigBits | Returns the number of significant bits. |
![]() | Pick | (Inherited from SoDataSet.) |
![]() | RayPick | (Inherited from SoNode.) |
![]() | ReadTile(SoBufferObject, SoLDMTileID, Boolean) | Copies the specified tile into the provided buffer. |
![]() | ReadTile(SoLDMTileID, SoBufferObject, Boolean) | Copies the specified tile into the provided buffer. |
![]() | ReadTile(SoLDMTileID, Byte, Boolean) | Obsolete. (Inherited from SoDataSet.) |
![]() | ReadTileLong | Obsolete. Copies the specified tile into the provided buffer. |
![]() | RedoEditing | Redo all modifications associated with the specified transaction id. |
![]() | ReSampling(SbVec3i32, SoVolumeDataSubMethods) | Obsolete. Calls ReSampling(dimension, subMethod, OIV.VolumeViz.Nodes.SoVolumeData.OverMethods( .SoVolumeData.NONE )). (Inherited from SoVolumeData.) |
![]() | ReSampling(SbVec3i32, SoVolumeDataSubMethods, SoVolumeDataOverMethods) | Obsolete. Re-samples the volume down to or up to the given dimension using the sub-sampling method SubMethod() and the over-sampling method OverMethod(). |
![]() | ResetReader | reset previously set custom reader setup by setReader call. |
![]() | SaveEditing |
Save modifications to a file.
(Inherited from SoDataSet.) |
![]() | SaveEditing(Boolean) |
Save modifications to a file.
(Inherited from SoDataSet.) |
![]() | SaveEditing(Boolean, IListString) |
Save modifications to a file.
(Inherited from SoDataSet.) |
![]() | Search | (Inherited from SoNode.) |
![]() | 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. |
![]() | SetDefaultValue | Set default value of the volume mask. |
![]() | SetIsReadChar | |
![]() | SetLDM | Obsolete. Enable or disable LDM mode. |
![]() | SetLDMDataTransformCB(SoDataSetLDMDataTransformCB) | Obsolete.
Use LDMDataTransformCallback property instead.
If set, the user-defined delegate is invoked after each tile is loaded.
This allows you to modify the original data (for example, attribute
calculation) before it's displayed.
(Inherited from SoDataSet.) |
![]() | SetLDMDataTransformCB(SoDataSetLDMDataTransformUserDataCB, Object) | Obsolete.
Use LDMDataTransformCallback property instead.
(Inherited from SoDataSet.) |
![]() | SetLDMReader | Sets the LDM volume reader object to use. |
![]() | SetName | (Inherited from SoBase.) |
![]() | SetOverride | Turns the override flag on or off. |
![]() | SetPageSize(Int32) | Obsolete. Specifies page size in X, Y, and Z direction (uniform). |
![]() | SetPageSize(SbVec3i32) | Obsolete. Specifies page size in X, Y, and Z direction. |
![]() | SetPageSize(SbVec3s) | Obsolete. Specifies page size in X, Y, and Z direction. |
![]() | SetPaging | Obsolete. (Inherited from SoVolumeData.) |
![]() | SetProperties | |
![]() | SetReader(SoVolumeReader) | Obsolete. Calls SetReader(reader, false). (Inherited from SoDataSet.) |
![]() | SetReader(SoVolumeReader, Boolean) | Obsolete. This method allows the data to be read directly from the disk using the specified subclass of SoVolumeReader. |
![]() | SetRGBAData | Force data to be considered as RGBA values. |
![]() | SetSubSamplingLevel(SbVec3i32, SbVec3i32) | Obsolete. Forces VolumeViz to subsample at given values even if automatic subsampling is disabled. |
![]() | SetSubSamplingLevel(SbVec3s, SbVec3s) | Obsolete. Use setSubSamplingLevel(const SbVec3i32&, const SbVec3i32&). |
![]() | SetSubSamplingMethod | Obsolete. Specifies the subsampling method used when automatic subsampling is activated. |
![]() | SetSynchronizable | Sets this to be a ScaleViz synchronizable object. |
![]() | SetTexMemorySize | Obsolete. Specifies the maximum texture memory size to use in mega texels. |
![]() | SetTileVisitor | Obsolete. Sets a custom LDM tile visitor. |
![]() | SetToDefaults | Sets all fields in this object to their default values. |
![]() | SetVolumeData(SbVec3i32, SbNativeArrayByte) | Obsolete. Calls SetVolumeData(dimension, data, OIV.LDM.Nodes.SoDataSet.DataTypes( .SoDataSet.UNSIGNED_BYTE ), System.Int32(0)). (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3i32, SbNativeArray) | Obsolete. Calls SetVolumeData(dimension, data, OIV.LDM.Nodes.SoDataSet.DataTypes( .SoDataSet.UNSIGNED_BYTE ), System.Int32(0)). (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3s, SbNativeArrayByte) | Obsolete. Calls SetVolumeData(dimension, data, OIV.LDM.Nodes.SoDataSet.DataTypes( .SoDataSet.UNSIGNED_BYTE ), System.Int32(0)). (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3s, SbNativeArray) | Obsolete. Calls SetVolumeData(dimension, data, OIV.LDM.Nodes.SoDataSet.DataTypes( .SoDataSet.UNSIGNED_BYTE ), System.Int32(0)). (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3i32, SbNativeArrayByte, SoDataSetDataTypes) | Obsolete. Calls SetVolumeData(dimension, data, type, System.Int32(0)). (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3i32, SbNativeArray, SoDataSetDataTypes) | Obsolete. Calls SetVolumeData(dimension, data, type, System.Int32(0)). (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3s, SbNativeArrayByte, SoDataSetDataTypes) | Obsolete. Calls SetVolumeData(dimension, data, type, System.Int32(0)). (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3s, SbNativeArray, SoDataSetDataTypes) | Obsolete. Calls SetVolumeData(dimension, data, type, System.Int32(0)). (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3i32, SbNativeArrayByte, SoDataSetDataTypes, Int32) | Obsolete. (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3i32, SbNativeArray, SoDataSetDataTypes, Int32) | Obsolete. (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3s, SbNativeArrayByte, SoDataSetDataTypes, Int32) | Obsolete. (Inherited from SoVolumeData.) |
![]() | SetVolumeData(SbVec3s, SbNativeArray, SoDataSetDataTypes, Int32) | Obsolete. (Inherited from SoVolumeData.) |
![]() | SetVolumeSize | Obsolete. Obsoletesince Open Inventor 7000 Use setValue(size) method on SoVolumeData.extent instead. |
![]() | StartEditing | Initiate an editing transaction. |
![]() | SubSetting(SbBox3i32) | Obsolete. Extracts the data volume defined by region. |
![]() | SubSetting(SbBox3s) | Obsolete. (Inherited from SoVolumeData.) |
![]() | ToString |
Converts this SoBase structure to a human readable string.
(Inherited from SoBase.) |
![]() | Touch | Marks an instance as modified, simulating a change to it. |
![]() | UndoEditing | Undo all modifications associated with the specified transaction id. |
![]() | UnSample | Obsolete. Forces VolumeViz to unsample in order to get the best quality by using the maximum texture memory. |
![]() | UpdateRegions(SbBox3i32) | Updates regions of the volume that have been modified. |
![]() | UpdateRegions(SbBox3s) | Obsolete. (Inherited from SoVolumeData.) |
![]() | UpdateTilesInTextureMemory | Reloads textures corresponding to the given tile IDs. |
![]() | UseFakeData | Create fake data in buffer. |
![]() | VoxelToXYZ(SbBox3f) | Converts the specified box in voxel coordinates to geometric coordinates. |
![]() | VoxelToXYZ(SbVec3f) | Converts the specified point in voxel coordinates to geometric coordinates. |
![]() | Write | (Inherited from SoDataSet.) |
![]() | WriteTile | Write the specified tile using the specified writer. |
![]() | XYZToVoxel(SbBox3f) | Converts the specified box in geometric coordinates to voxel coordinates. |
![]() | XYZToVoxel(SbVec3f) | Converts the specified point in geometric coordinates to voxel coordinates. |
Name | Description | |
---|---|---|
![]() | allocateResourceOnRender | Indicates if resource allocation is done only on first render traversal or as soon as the node is created. |
![]() | data | Specifies the volume data, including dimensions, data type and number of significant bits. |
![]() | dataRGBA | Contains true if the volume contains RGBA values rather than scalar values. |
![]() | dataSetId | When using multiple SoDataSet nodes, the dataSetId field uniquely identifies each data set used in the compositing. |
![]() | dataTransform | If set to an appropriate SoLDMDataTransform object, the object's transformFunction method is called after each tile is loaded, but before it is stored in main memory. |
![]() | extent | The real size (extent) of the volume in modeling coordinates. |
![]() | fileName | Indicates the file location containing the data set. |
![]() | IsDisposable | ISafeDisposable interface implementation.
(Inherited from SoDisposable.) |
![]() | LDMDataTransformCallback | Obsolete. If set, the user-defined function is called after each tile is loaded, but before it is stored in main memory. |
![]() | ldmResourceParameters | Contains an SoLDMResourceParameters object which allows you to set LDM resource parameters. |
![]() | Reader | Returns the current data set reader object. |
![]() | storageHint | Obsolete. (Inherited from SoVolumeData.) |
![]() | texturePrecision | Specifies the color index texture storage size in bits. |
![]() | useCompressedTexture | Controls use of the OpenGL lossy texture compression extension (if available). |
![]() | useExtendedData | If true, VolumeViz stores an additional copy of each loaded tile. |
![]() | usePalettedTexture | For a volume containing scalar data values, controls whether scalar values (true) or RGBA values (false) are loaded on the GPU (the name is historical). |
![]() | UserData |
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.) |
![]() | useSharedPalettedTexture | Note: On graphics boards that support programmable shaders, this field is ignored (virtually all graphics boards support programmable shaders). |
![]() | volumeDataId | (Inherited from SoVolumeData.) |
This node specifies an arbitrary voxel-based region of a volume data set (SoVolumeData). A volume mask is itself a data volume consisting of binary values. Zero values are "false" and non-zero values are "true". A large number of masks may be defined simultaneously, using an SoVolumeMask node for each one, and mask regions may overlap if desired.
SoVolumeMask is derived from SoVolumeData. Like SoVolumeData it accesses its data through an SoVolumeReader class. I.e. the data may be in a file or in memory (or any data source using a custom volume reader). The mask volume can be any data type, but unsigned byte is currently the most memory efficient representation.
SoVolumeMask nodes must follow these rules:
Each mask volume must have exactly the same voxel dimensions and tile size value as the data volume it is applied to.
All SoVolumeMask nodes must be children of an SoVolumeMaskGroup node.
The SoVolumeData node and the SoVolumeMaskGroup nodes must be children of an SoMultiDataSeparator node.
The SoVolumeData and associated SoVolumeMask nodes must each have a different value assigned to their dataSetId field (see SoDataSet). Note that SoVolumeData and SoVolumeMask both have a default value of 1 for the dataSetId field, so some ids must be explicitly set.
Currently SoVolumeMask nodes only affect volume rendering (SoVolumeRender). They do not affect slice rendering or other VolumeViz primitives.
SoVolumeMask can be used to clip the data volume on a per-voxel basis. But the mask mechanism is much more powerful than that. Each region can have its own transfer function (color map) using SoTransferFunction nodes. Each region can also have its own draw style (volume rendering, isosurface or boundary) using SoVolumeDataDrawStyle nodes. Each region, including the original unmasked volume, is only visible if there exists a transfer function (SoTransferFunction) with the same id value.
Mask regions:
A single SoVolumeMask node effectively defines two regions:
False voxels (where the mask voxel = 0), and
True voxels (where is mask voxel != 0).
Because intersecting regions are allowed, two SoVolumeMask nodes define (up to) four regions:
False (where all masks are 0),
True only in mask 1,
True only in mask 2, and
True in more than one mask (intersection region).
Each additional mask defines one additional region (voxels that are true only in that mask).
In addition, if there exists a transfer function with the same id as the original volume (SoVolumeData node), the color value from that transfer function is combined with the color value from the mask region's transfer function.
Transfer functions:
A separate transfer function can be specified for each of these regions using SoTransferFunction nodes. The transfer function nodes may be placed under the SoVolumeMaskGroup node, but this is not required.
NOTE: It is not currently possible to specify a different data range for each mask.
A transfer function is associated with a specific mask (i.e. with the voxels that are true only in that mask), by setting the SoTransferFunction node's transferFunctionId equal to the mask's dataSetId . If there is no transfer function with the same id as the mask, then that mask is ignored.
A transfer function is associated with all "false" voxels (voxels that do not belong to any mask) by setting its transferFunctionId equal to zero. If there is no transfer function with id = 0, then "false" voxels are not rendered.
A transfer function is associated with all "intersection" voxels (voxels that belong to more than one mask) by setting its transferFunctionId equal to SoVolumeMaskGroup.TRANSFERFUNCTION_INTERSECTION_ID. If there is no transfer function with this id value, then intersection voxels (if any) are rendered using the default GRAY color map.
Draw Styles:
A separate draw style can be specified for each mask region and for the intersection voxels (but not for false voxels) using SoVolumeDataDrawStyle nodes:
Unlike transfer functions, a draw style is associated with a mask (voxels that are true only in that mask) by traversal order. In other words, each mask uses the draw style that is current when the mask is traversed. So you need to put SoVolumeDataDrawStyle nodes under the VolumeMaskGroup, alternating draw style, mask, draw style, mask.
A draw style is associated with all "intersection" voxels (voxels that belong to more than one mask) by placing it before the SoVolumeMaskGroup node in the scene graph.
Data Range:
SoVolumeMask currently does not support separate data ranges for each mask region. The same SoDataRange will be applied on all regions.
VolumeMask { }