Range of data values to be mapped to the color map. More...
#include <LDM/nodes/SoDataRange.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
Returns the type identifier for this specific instance. | |
SoDataRange () | |
Constructor. | |
Public Member Functions inherited from SoNode | |
virtual void | setOverride (const SbBool state) |
Turns the override flag on or off. | |
virtual SbBool | isOverride () const |
Returns the state of the override flag. | |
virtual SoNode * | copy (SbBool copyConnections=FALSE) const |
Creates and returns an exact copy of the node. | |
virtual SbBool | affectsState () const |
Returns TRUE if a node has an effect on the state during traversal. | |
virtual void | touch () |
Marks an instance as modified, simulating a change to it. | |
Public Member Functions inherited from SoFieldContainer | |
void | setToDefaults () |
Sets all fields in this object to their default values. | |
SbBool | hasDefaultValues () const |
Returns TRUE if all of the object's fields have their default values. | |
SbBool | fieldsAreEqual (const SoFieldContainer *fc) const |
Returns TRUE if this object's fields are exactly equal to fc's fields. | |
void | copyFieldValues (const SoFieldContainer *fc, SbBool copyConnections=FALSE) |
Copies the contents of fc's fields into this object's fields. | |
SoNONUNICODE SbBool | set (const char *fieldDataString) |
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. | |
SbBool | set (const SbString &fieldDataString) |
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. | |
void | get (SbString &fieldDataString) |
Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string. | |
virtual int | getFields (SoFieldList &list) const |
Appends references to all of this object's fields to resultList, and returns the number of fields appended. | |
virtual int | getAllFields (SoFieldList &list) const |
Returns a list of fields, including the eventIn's and eventOut's. | |
virtual SoField * | getField (const SbName &fieldName) const |
Returns a the field of this object whose name is fieldName. | |
virtual SoField * | getEventIn (const SbName &fieldName) const |
Returns a the eventIn with the given name. | |
virtual SoField * | getEventOut (const SbName &fieldName) const |
Returns the eventOut with the given name. | |
SbBool | getFieldName (const SoField *field, SbName &fieldName) const |
Returns the name of the given field in the fieldName argument. | |
SbBool | enableNotify (SbBool flag) |
Notification at this Field Container is enabled (if flag == TRUE) or disabled (if flag == FALSE). | |
SbBool | isNotifyEnabled () const |
Notification is the process of telling interested objects that this object has changed. | |
virtual void | setUserData (void *data) |
Sets application data. | |
void * | getUserData (void) const |
Gets user application data. | |
Public Member Functions inherited from SoBase | |
virtual SbName | getName () const |
Returns the name of an instance. | |
virtual void | setName (const SbName &name) |
Sets the name of an instance. | |
void | setSynchronizable (const bool b) |
Sets this to be a ScaleViz synchronizable object. | |
bool | isSynchronizable () const |
Gets the ScaleViz synchronizable state of this object. | |
Public Member Functions inherited from SoRefCounter | |
void | ref () const |
Adds a reference to an instance. | |
void | unref () const |
Removes a reference from an instance. | |
void | unrefNoDelete () const |
unrefNoDelete() should be called when it is desired to decrement the reference count, but not delete the instance if this brings the reference count to zero. | |
int | getRefCount () const |
Returns current reference count. | |
void | lock () const |
lock this instance. | |
void | unlock () const |
unlock this instance. | |
Public Member Functions inherited from SoTypedObject | |
SbBool | isOfType (const SoType &type) const |
Returns TRUE if this object is of the type specified in type or is derived from that type. | |
template<typename TypedObjectClass > | |
SbBool | isOfType () const |
Returns TRUE if this object is of the type of class TypedObjectClass or is derived from that class. | |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
Static Public Member Functions inherited from SoNode | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
static SoNode * | getByName (const SbName &name) |
A node's name can be set using SoBase::setName(). | |
static int | getByName (const SbName &name, SoNodeList &list) |
A node's name can be set using SoBase::setName(). | |
Static Public Member Functions inherited from SoFieldContainer | |
static SoType | getClassTypeId () |
Returns the type of this class. | |
Static Public Member Functions inherited from SoBase | |
static SoType | getClassTypeId () |
Returns type identifier for this class. | |
Static Public Member Functions inherited from SoTypedObject | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
Public Attributes | |
SoSFInt32 | dataRangeId |
This field allows the use of multiple data ranges for the same shape. | |
SoSFDouble | min |
Minimum data value of the data range. | |
SoSFDouble | max |
Maximum data value of the data range. | |
SoSFBool | mapOnFullColorRange |
Specifies how to map data values that are outside of the data range. | |
Range of data values to be mapped to the color map.
This node allows you to specify the range of scalar data values in a data set (SoDataSet or SoVolumeData) that will be mapped into the color map (SoTransferFunction). When the volume data type is larger than the data type on the GPU, for example float data scaled to byte data, it also specifies the range of scalar data values that will be scaled to fit in the GPU data type.
By default VolumeViz maps the entire range of the voxel's data type (e.g. 0..65535 for unsigned short) into the colormap. This is often correct for byte (8 bit) voxels, but seldom correct for 16 bit voxels and never correct for floating point voxels. Use an SoDataRange node to specify the actual (or desired) range of data values to be mapped. For example, a typical initial data range for DICOM data calibrated in Hounsfield units might be -1000 to 3000.
Data characteristics:
When using multiple volumes (see SoMultiDataSeparator), a single SoDataRange node can be used to specify the data range for all volumes or each volume can have its own independent data range. In the second case, create one SoDataRange node for each volume and set the dataRangeId equal to the SoDataSet::dataSetId of the corresponding volume.
Note that the meaning of the min and max fields in SoDataRange is quite different than the meaning of the minValue and maxValue fields in SoTransferFunction. The fields in SoDataRange specify the range of voxel values that will be mapped into the full color map. The fields in SoTransferFunction specify the range of indices in the color map that will actually be used to store the color map. The visual effect changing these fields can be quite similar, but there are trade-offs to be aware of. Changing the SoTransferFunction fields is generally much faster and can be a useful approximation of changing the data range, but the resolution of the color map (the ratio of data values to color map entries) is reduced.
NOTE: Setting the min value greater than or equal to the max value will cause this node to be ignored.
Brightness and contrast:
Performance:
If the data set contains explicit RGBA values (SoVolumeData dataRGBA field is true), then SoDataRange and SoTransferFunction have no effect on rendering.
dataRangeId | 1 |
min | 0 |
max | 0 |
mapOnFullColorRange | TRUE |
Definition at line 181 of file SoDataRange.h.
SoDataRange::SoDataRange | ( | ) |
Constructor.
|
static |
Returns the type identifier for this class.
|
virtual |
Returns the type identifier for this specific instance.
Reimplemented from SoNode.
SoSFInt32 SoDataRange::dataRangeId |
This field allows the use of multiple data ranges for the same shape.
By default all data range nodes are initialized to a data range id of 1. If you want to use multiple data ranges, different data range ids must be assigned. The data range id is only used in a render compositing scheme (see SoDataSet).
NOTE: field available since Open Inventor 6.1.2
Definition at line 199 of file SoDataRange.h.
SoSFBool SoDataRange::mapOnFullColorRange |
Specifies how to map data values that are outside of the data range.
If mapOnFullColorRange is TRUE (default), then any data values less than or equal to the min data value are mapped to the first color entry and any data values greater than or equal to the max data value are mapped to the last color entry.
If mapOnFullColorRange is FALSE, then any data value less than min data value is mapped to the first color entry and the min data value is mapped to the second color entry; any data value greater than the max data value is mapped to the last color entry and the max data value is mapped to the next to the last color entry.
Definition at line 224 of file SoDataRange.h.
SoSFDouble SoDataRange::max |
Maximum data value of the data range.
Definition at line 210 of file SoDataRange.h.
SoSFDouble SoDataRange::min |
Minimum data value of the data range.
Note: If min is greater than or equal to max, this node is ignored.
Definition at line 205 of file SoDataRange.h.