Click or drag to resize
SoHeightFieldGeometry Class

Height field data node.

Inheritance Hierarchy

Namespace: OIV.VolumeViz.Nodes
Assembly: OIV.VolumeViz (in OIV.VolumeViz.dll) Version: 9.9.13.0 (9.9.13.0)
Syntax
public class SoHeightFieldGeometry : SoVolumeData

The SoHeightFieldGeometry type exposes the following members.

Constructors
  NameDescription
Public methodSoHeightFieldGeometry

Constructor.

Top
Methods
  NameDescription
Public methodAffectsState

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

(Inherited from SoNode.)
Public methodCallback
(Inherited from SoDataSet.)
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 methodDispose
Releases all resources used by SoDisposable.
(Inherited from SoDisposable.)
Public methodDistribute
(Inherited from SoNode.)
Public methodDoAction
(Inherited from SoVolumeData.)
Public methodDrawTiles Obsolete. (Inherited from SoDataSet.)
Public methodEditBoxes

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

(Inherited from SoVolumeData.)
Public methodEditSolidShape

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

(Inherited from SoVolumeData.)
Public methodEditSubVolume(SbBox3i32, SoBufferObject)

Replace the contents of a subvolume with the given data.

(Inherited from SoVolumeData.)
Public methodEditSubVolume(SbBox3i32, Double)

Replace the contents of a subvolume with the specified value.

(Inherited from SoVolumeData.)
Public methodEditSurfaceShape

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

(Inherited from SoVolumeData.)
Public methodEditTile(SoLDMTileID, SoBufferObject)

Replace the contents of a tile with the given data.

(Inherited from SoVolumeData.)
Public methodEditTile(SoLDMTileID, Double)

Replace the contents of a tile with the specified value.

(Inherited from SoVolumeData.)
Public methodEnableAutoSubSampling Obsolete.

Specifies if automatic subsampling is allowed.

(Inherited from SoVolumeData.)
Public methodEnableAutoUnSampling Obsolete.

Specifies if automatic unsampling is allowed.

(Inherited from SoVolumeData.)
Public methodEnableNotify

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

(Inherited from SoFieldContainer.)
Public methodEnableSubSampling Obsolete.

Specifies if automatic subsampling and unsampling is allowed.

(Inherited from SoVolumeData.)
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

Terminate an editing transaction.

(Inherited from SoVolumeData.)
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 methodGetAppropriateElement

a SoDataSet must return the LDMelt defining the weights of the representations that are going to use it.

(Inherited from SoVolumeData.)
Public methodGetBoundingBox
(Inherited from SoDataSet.)
Public methodGetCenterVolumeBox (Inherited from SoVolumeData.)
Public methodGetCoordinateType
(Inherited from SoVolumeData.)
Public methodGetDataSize

Returns the number of bytes per voxel in VolumeViz.

(Inherited from SoDataSet.)
Public methodGetDataType

Returns the data type.

(Inherited from SoDataSet.)
Public methodGetDatumSize

Returns the number of bytes per voxel.

(Inherited from SoDataSet.)
Public methodGetDimension Obsolete.

Obsoletesince Open Inventor 8000 Use getSize method on SoVolumeData.data.

(Inherited from SoVolumeData.)
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 methodGetHistogram
Returns the histogram of the volume data. Returns null reference if the requested data is not available.
(Inherited from SoVolumeData.)
Public methodGetLdmDataAccess

Returns a reference to the SoLDMDataAccess object.

(Inherited from SoDataSet.)
Public methodGetLdmManagerAccess
(Inherited from SoDataSet.)
Public methodGetLDMReader

Returns a pointer to the current data set reader object.

(Inherited from SoDataSet.)
Public methodGetLdmResourceParameter Obsolete.

Returns a reference to the LDMResourceParameter.

(Inherited from SoDataSet.)
Public methodGetMatrix
(Inherited from SoNode.)
Public methodGetMinMax(Double, Double)

Returns min and max values of the data set.

(Inherited from SoVolumeData.)
Public methodGetMinMax(Int32, Int32) Obsolete.

Returns min and max values of the volume data.

(Inherited from SoVolumeData.)
Public methodGetMinMax(Int64, Int64)

Returns min and max values of the data set data.

(Inherited from SoVolumeData.)
Public methodGetName

Returns the name of an instance.

(Inherited from SoBase.)
Public methodGetNodeFrontManager

Returns a pointer to the LDM node front manager.

(Inherited from SoDataSet.)
Public methodGetNumTimeSteps Obsolete.

Returns the number of time steps.

(Inherited from SoDataSet.)
Public methodGetOverlapping Obsolete.

Returns the tile border (overlap) in voxels.

(Inherited from SoDataSet.)
Public methodGetPageSize Obsolete.
(Inherited from SoVolumeData.)
Public methodGetPrimitiveCount
(Inherited from SoNode.)
Public methodGetReader Obsolete.

Returns the current data set reader object.

(Inherited from SoDataSet.)
Public methodGetRectilinearCoordinates

Returns a vector describing mapping from uniform space to rectilinear space.

(Inherited from SoVolumeData.)
Public methodGetRenderUnitID
(Inherited from SoVolumeData.)
Public methodGetSizeVolumeBox (Inherited from SoVolumeData.)
Public methodGetStringName (Inherited from SoBase.)
Public methodGetSubSamplingLevel(SbVec3i32, SbVec3i32) Obsolete.

Returns values used to subsample at given values even when automatic subsampling is disabled.

(Inherited from SoVolumeData.)
Public methodGetSubSamplingLevel(SbVec3s, SbVec3s) Obsolete.

Use getSubSamplingLevel(SbVec3i32 &, SbVec3i32 &).

(Inherited from SoVolumeData.)
Public methodGetTexMemorySize Obsolete.

Returns the maximum texture memory size to use in mega texels.

(Inherited from SoVolumeData.)
Public methodGetTileDimension

Returns the tile dimension.

(Inherited from SoDataSet.)
Public methodGetTileManager

Returns a pointer to the LDM tile manager.

(Inherited from SoDataSet.)
Public methodGetTileVisitor Obsolete.

Returns the current LDM tile visitor.

(Inherited from SoDataSet.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetVolumeBox (Inherited from SoVolumeData.)
Public methodGetVolumeSize Obsolete.

Obsoletesince Open Inventor 7000 Use getValue() method on SoVolumeData.extent instead.

(Inherited from SoVolumeData.)
Public methodGetVVizGeometry Obsolete.

Returns a pointer to the LDM geometry object.

(Inherited from SoDataSet.)
Public methodGLRender
(Inherited from SoVolumeData.)
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
(Inherited from SoNode.)
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.

(Inherited from SoDataSet.)
Public methodIsAutoSubSamplingEnabled Obsolete.

Returns true if automatic subsampling is allowed.

(Inherited from SoVolumeData.)
Public methodIsAutoUnSamplingEnabled Obsolete.

Returns true if automatic unsampling is allowed.

(Inherited from SoVolumeData.)
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 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 methodIsPaging Obsolete.

Returns true if paging is on, false if off.

(Inherited from SoVolumeData.)
Public methodIsSubSamplingEnabled Obsolete.

Returns true if automatic subsampling is allowed.

(Inherited from SoVolumeData.)
Public methodIsSynchronizable

Gets the ScaleViz synchronizable state of this object.

(Inherited from SoBase.)
Public methodIsTimeDependent Obsolete.
(Inherited from SoDataSet.)
Public methodLoadRegions(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.

(Inherited from SoVolumeData.)
Public methodLoadRegions(SbBox3s, SoState, SoTransferFunction) Obsolete.

Use loadRegions( const SbBox3i32*, int, SoState*, SoTransferFunction* ).

(Inherited from SoVolumeData.)
Public methodNumSigBits

Returns the number of significant bits.

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

Copies the specified tile into the provided buffer.

(Inherited from SoDataSet.)
Public methodReadTile(SoLDMTileID, SoBufferObject, Boolean)

Copies the specified tile into the provided buffer.

(Inherited from SoDataSet.)
Public methodReadTile(SoLDMTileID, Byte, Boolean) Obsolete.
(Inherited from SoDataSet.)
Public methodReadTileLong Obsolete.

Copies the specified tile into the provided buffer.

(Inherited from SoDataSet.)
Public methodRedoEditing

Redo all modifications associated with the specified transaction id.

(Inherited from SoVolumeData.)
Public methodReSampling(SbVec3i32, SoVolumeDataSubMethods) Obsolete.
Calls ReSampling(dimension, subMethod, OIV.VolumeViz.Nodes.SoVolumeData.OverMethods( .SoVolumeData.NONE )).
(Inherited from SoVolumeData.)
Public methodReSampling(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().

(Inherited from SoVolumeData.)
Public methodResetReader

reset previously set custom reader setup by setReader call.

(Inherited from SoDataSet.)
Public methodSaveEditing
Save modifications to a file.
(Inherited from SoDataSet.)
Public methodSaveEditing(Boolean)
Save modifications to a file.
(Inherited from SoDataSet.)
Public methodSaveEditing(Boolean, IListString)
Save modifications to a file.
(Inherited from SoDataSet.)
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 methodSetLDM Obsolete.

Enable or disable LDM mode.

(Inherited from SoDataSet.)
Public methodSetLDMDataTransformCB(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.)
Public methodSetLDMDataTransformCB(SoDataSetLDMDataTransformUserDataCB, Object) Obsolete.
Use LDMDataTransformCallback property instead.
(Inherited from SoDataSet.)
Public methodSetLDMReader

Sets the LDM volume reader object to use.

(Inherited from SoDataSet.)
Public methodSetName (Inherited from SoBase.)
Public methodSetOverride

Turns the override flag on or off.

(Inherited from SoNode.)
Public methodSetPageSize(Int32) Obsolete.

Specifies page size in X, Y, and Z direction (uniform).

(Inherited from SoVolumeData.)
Public methodSetPageSize(SbVec3i32) Obsolete.

Specifies page size in X, Y, and Z direction.

(Inherited from SoVolumeData.)
Public methodSetPageSize(SbVec3s) Obsolete.

Specifies page size in X, Y, and Z direction.

(Inherited from SoVolumeData.)
Public methodSetPaging Obsolete.
(Inherited from SoVolumeData.)
Public methodSetReader(SoVolumeReader) Obsolete.
Calls SetReader(reader, false).
(Inherited from SoDataSet.)
Public methodSetReader(SoVolumeReader, Boolean) Obsolete.

This method allows the data to be read directly from the disk using the specified subclass of SoVolumeReader.

(Inherited from SoDataSet.)
Public methodSetRGBAData

Force data to be considered as RGBA values.

(Inherited from SoVolumeData.)
Public methodSetSubSamplingLevel(SbVec3i32, SbVec3i32) Obsolete.

Forces VolumeViz to subsample at given values even if automatic subsampling is disabled.

(Inherited from SoVolumeData.)
Public methodSetSubSamplingLevel(SbVec3s, SbVec3s) Obsolete.

Use setSubSamplingLevel(const SbVec3i32&, const SbVec3i32&).

(Inherited from SoVolumeData.)
Public methodSetSubSamplingMethod Obsolete.

Specifies the subsampling method used when automatic subsampling is activated.

(Inherited from SoVolumeData.)
Public methodSetSynchronizable

Sets this to be a ScaleViz synchronizable object.

(Inherited from SoBase.)
Public methodSetTexMemorySize Obsolete.

Specifies the maximum texture memory size to use in mega texels.

(Inherited from SoVolumeData.)
Public methodSetTileVisitor Obsolete.

Sets a custom LDM tile visitor.

(Inherited from SoDataSet.)
Public methodSetToDefaults

Sets all fields in this object to their default values.

(Inherited from SoFieldContainer.)
Public methodSetVolumeData(SbVec3i32, SbNativeArrayByte) Obsolete.
Calls SetVolumeData(dimension, data, OIV.LDM.Nodes.SoDataSet.DataTypes( .SoDataSet.UNSIGNED_BYTE ), System.Int32(0)).
(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3i32, SbNativeArray) Obsolete.
Calls SetVolumeData(dimension, data, OIV.LDM.Nodes.SoDataSet.DataTypes( .SoDataSet.UNSIGNED_BYTE ), System.Int32(0)).
(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3s, SbNativeArrayByte) Obsolete.
Calls SetVolumeData(dimension, data, OIV.LDM.Nodes.SoDataSet.DataTypes( .SoDataSet.UNSIGNED_BYTE ), System.Int32(0)).
(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3s, SbNativeArray) Obsolete.
Calls SetVolumeData(dimension, data, OIV.LDM.Nodes.SoDataSet.DataTypes( .SoDataSet.UNSIGNED_BYTE ), System.Int32(0)).
(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3i32, SbNativeArrayByte, SoDataSetDataTypes) Obsolete.
Calls SetVolumeData(dimension, data, type, System.Int32(0)).
(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3i32, SbNativeArray, SoDataSetDataTypes) Obsolete.
Calls SetVolumeData(dimension, data, type, System.Int32(0)).
(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3s, SbNativeArrayByte, SoDataSetDataTypes) Obsolete.
Calls SetVolumeData(dimension, data, type, System.Int32(0)).
(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3s, SbNativeArray, SoDataSetDataTypes) Obsolete.
Calls SetVolumeData(dimension, data, type, System.Int32(0)).
(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3i32, SbNativeArrayByte, SoDataSetDataTypes, Int32) Obsolete.

(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3i32, SbNativeArray, SoDataSetDataTypes, Int32) Obsolete.

(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3s, SbNativeArrayByte, SoDataSetDataTypes, Int32) Obsolete.

(Inherited from SoVolumeData.)
Public methodSetVolumeData(SbVec3s, SbNativeArray, SoDataSetDataTypes, Int32) Obsolete.

(Inherited from SoVolumeData.)
Public methodSetVolumeSize Obsolete.

Obsoletesince Open Inventor 7000 Use setValue(size) method on SoVolumeData.extent instead.

(Inherited from SoVolumeData.)
Public methodStartEditing

Initiate an editing transaction.

(Inherited from SoVolumeData.)
Public methodSubSetting(SbBox3i32) Obsolete.

Extracts the data volume defined by region.

(Inherited from SoVolumeData.)
Public methodSubSetting(SbBox3s) Obsolete. (Inherited from SoVolumeData.)
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.

(Inherited from SoVolumeData.)
Public methodUnSample Obsolete.

Forces VolumeViz to unsample in order to get the best quality by using the maximum texture memory.

(Inherited from SoVolumeData.)
Public methodUpdateRegions(SbBox3i32)

Updates regions of the volume that have been modified.

(Inherited from SoVolumeData.)
Public methodUpdateRegions(SbBox3s) Obsolete. (Inherited from SoVolumeData.)
Public methodUpdateTilesInTextureMemory

Reloads textures corresponding to the given tile IDs.

(Inherited from SoVolumeData.)
Public methodUseFakeData

Create fake data in buffer.

(Inherited from SoVolumeData.)
Public methodVoxelToXYZ(SbBox3f)

Converts the specified box in voxel coordinates to geometric coordinates.

(Inherited from SoVolumeData.)
Public methodVoxelToXYZ(SbVec3f)

Converts the specified point in voxel coordinates to geometric coordinates.

(Inherited from SoVolumeData.)
Public methodWrite
(Inherited from SoDataSet.)
Public methodWriteTile

Write the specified tile using the specified writer.

(Inherited from SoDataSet.)
Public methodXYZToVoxel(SbBox3f)

Converts the specified box in geometric coordinates to voxel coordinates.

(Inherited from SoVolumeData.)
Public methodXYZToVoxel(SbVec3f)

Converts the specified point in geometric coordinates to voxel coordinates.

(Inherited from SoVolumeData.)
Top
Properties
  NameDescription
Public propertyallocateResourceOnRender

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

(Inherited from SoDataSet.)
Public propertydata

Specifies the volume data, including dimensions, data type and number of significant bits.

(Inherited from SoVolumeData.)
Public propertydataRGBA

Contains true if the volume contains RGBA values rather than scalar values.

(Inherited from SoVolumeData.)
Public propertydataSetId

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

(Inherited from SoDataSet.)
Public propertydataTransform

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.

(Inherited from SoDataSet.)
Public propertyextent

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

(Inherited from SoDataSet.)
Public propertyfileName

Indicates the file location containing the data set.

(Inherited from SoDataSet.)
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.

(Inherited from SoDataSet.)
Public propertyldmResourceParameters

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

(Inherited from SoDataSet.)
Public propertyReader

Returns the current data set reader object.

(Inherited from SoDataSet.)
Public propertystorageHint Obsolete.
(Inherited from SoVolumeData.)
Public propertytexturePrecision

Specifies the color index texture storage size in bits.

(Inherited from SoDataSet.)
Public propertyundefinedValue

Vertices with this value won't be rendered by the SoHeightFieldRender.

Public propertyuseCompressedTexture

Controls use of the OpenGL lossy texture compression extension (if available).

(Inherited from SoDataSet.)
Public propertyuseExtendedData

If true, VolumeViz stores an additional copy of each loaded tile.

(Inherited from SoVolumeData.)
Public propertyusePalettedTexture

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).

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

Note: On graphics boards that support programmable shaders, this field is ignored (virtually all graphics boards support programmable shaders).

(Inherited from SoVolumeData.)
Public propertyvolumeDataId
(Inherited from SoVolumeData.)
Top
Remarks

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).

FILE FORMAT/DEFAULT

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
}

See Also