SoHeightFieldGeometry Class |
Height field data node.
Namespace: OIV.VolumeViz.Nodes
The SoHeightFieldGeometry type exposes the following members.
Name | Description | |
---|---|---|
![]() | SoHeightFieldGeometry | 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 intersecting 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. |
![]() | 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.) |
![]() | GetVolumeSize | Obsolete. Obsoletesince Open Inventor 7000 Use getValue() method on SoVolumeData.extent instead. |
![]() | GetVVizGeometry | Obsolete. Returns a pointer to the LDM geometry object. |
![]() | GLRender | (Inherited from SoVolumeData.) |
![]() | 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. |
![]() | 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.) |
![]() | 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. |
![]() | undefinedValue | Vertices with this value won't be rendered by the SoHeightFieldRender. |
![]() | 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.) |
SoHeightFieldGeometry defines a uniform grid in the XY plane whose vertices are height (Z) values stored in 2D LDM format (any LDM data set with the Z dimension equal to 1). Storing only height values is a very efficient way to represent a surface and LDM supports 8 and 16 bit integer data in addition to float (and other types). Adding the combination of LDM data management with advanced GPU features provides a way to handle extremely large surfaces. Just as with volume data, LDM uses tiles of data and multiple levels of resolution to enable interactive frame rates even for data sets that cannot fit in system memory.
SoHeightFieldGeometry is derived from SoVolumeData and serves a similar purpose in the scene graph, providing a reference to an LDM data set which will be loaded as needed by rendering nodes, specifically SoHeightFieldRender in this case. It also supports an "undefined" value which will be rendered as holes in the grid. The geometry is given by the inherited field fileName. The given file must be an LDM file built by the LDM converter (see SoConverter). For use with SoHeightFieldRender the data set must have a depth (Z dimension) of exactly 1. The undefined value can be specified with the -u option of the converter or explicitly by setting the undefinedValue field.
Data set values are converted to height values in 3D space in two ways depending on the data type:
Integer values are normalized between [0,1] ([-1,1] for signed types) based on the range of values for the specific data type. For example, for UNSIGNED BYTE values the range 0..255 is mapped to 0..1.
Floating point values are not normalized (are used "as is").
Extent in 3D space
A standard SoVolumeData node has no intrinsic "extent" in 3D. The extent of the volume is initially defined by the values returned from the volume reader (normally from the extent tag in the LDM file header). The extent field is initialized with these values from the reader and always contains the current extent values. The application can modify the extent of the volume by changing the values in the extent field. (Note that the actual bounding box of the volume in 3D is the volume extent modified by any transform nodes in the scene graph.)
SoHeightFieldGeometry only uses the X and Y parts of the extent field. The Z extent of the surface in 3D is completely defined by the values in the data set. So the X and Y values in the extent field are the actual extent, but the Z values are not meaningful and changing the Z values in the extent field has no effect. Note that you can always get the current bounding box (X, Y and Z) using an SoGetBoundingBoxAction and you can still control the bounding box using an SoTransform (or similar) node. To scale or offset the height values, put a transform node in the scene graph before the SoHeightFieldGeometry node. For example, to scale the height values by a factor of 2, you could use an SoScale node with the scaleFactor field set to (0,0,2).
HeightFieldGeometry {
allocateResourceOnRender | false |
data | NODATA 0 0 0 UBYTE 8 |
dataSetId | 1 |
dataTransform | NULL |
extent | -1 -1 -1 1 1 1 |
fileName | "" |
usePalettedTexture | true |
texturePrecision | 0 |
undefinedValue | NaN |
useCompressedTexture | true |
useExtendedData | false |
usePalettedTexture | true |
useSharedPalettedTexture | true |