SoColorMap Class |
Class for indexed texture color map.
Namespace: OIV.Inventor.Nodes
The SoColorMap type exposes the following members.
Name | Description | |
---|---|---|
SoColorMap | 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. | |
GetNumColor | This convenience method returns the number of colors in the color map (ie: colorMap.getNum()/Number of components or 256 if a predefined color map is used) | |
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. | |
HasTransparency | Returns true if the current color map contains alpha values less than 1. | |
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 | (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. | |
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 | |
---|---|---|
colorMap | Array of floats in range [0,1]. | |
colorMapFormat | Indicates the format of the color map (number of color components). | |
interpolation | The colormap interpolation type. | |
IsDisposable | ISafeDisposable interface implementation.
(Inherited from SoDisposable.) | |
max | ||
min | This field allow to remap the color map such that only data values ranging from min to max will be mapped to the color map. | |
predefinedColorMap | Use this field to load predefined color maps. | |
UserData |
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.) |
This class describes the association between values of the OIV.Inventor.Nodes.SoIndexedTexture2 node and colors.
The data value coming from the OIV.Inventor.Nodes.SoIndexedTexture2 node is used as an index into the color map defined by the OIV.Inventor.Nodes.SoColorMap.colorMap field or the OIV.Inventor.Nodes.SoColorMap.predefinedColorMap field.
The OIV.Inventor.Nodes.SoColorMap.predefinedColorMap field allows you to specify a predefined color map or using value NONE, that the color map is contained in the OIV.Inventor.Nodes.SoColorMap.colorMap field.
The OIV.Inventor.Nodes.SoColorMap.min and OIV.Inventor.Nodes.SoColorMap.max fields define the range of the data values that will actually be used. The color map is modified such that only data values ranging from OIV.Inventor.Nodes.SoColorMap.min to OIV.Inventor.Nodes.SoColorMap.max will be mapped to the color map. The figure below illustrates the effects of these fields:
The OIV.Inventor.Nodes.SoColorMap node acts like an OIV.Inventor.Nodes.SoShaderProgram with an OIV.Inventor.Nodes.SoFragmentShader. Standard Open Inventor operations on textures will be disabled on all subsequent nodes, thus using an OIV.Inventor.Nodes.SoTexture2 node or multitexturing after this node will not give the expected result.
**NOTE:**
The OIV.Inventor.Nodes.SoColorMap node must be inserted before the OIV.Inventor.Nodes.SoIndexedTexture2.
This node puts the color map in the next available texture unit, so this unit must not be used for any other purpose in your application. On hardware which doesn't support *ARB_fragment_program* but supports *EXT_paletted_texture*, the next available texture unit is not used and thus remains available for use by the application.
If your graphics hardware does not support the ARB_fragment_program or the EXT_paletted_texture OpenGL extension, this node has no effect.
OIV.Inventor.Nodes.SoColorMap is intended to be used with a OIV.Inventor.Nodes.SoIndexedTexture2 node. However, without an OIV.Inventor.Nodes.SoIndexedTexture2 node, the color map will still be applied on the geometry, but without indexation. To specify a color map for volume rendering, see OIV.LDM.Nodes.SoTransferFunction.
The following example shows how to apply an indexed texture on a geometry node:
SoColorMap colorMap = new SoColorMap(); colorMap.predefinedColorMap.Value = SoColorMap.PredefinedColorMaps.TEMPERATURE; colorMap.min.Value = -1000; colorMap.max.Value = 20000; SoIndexedTexture2 indexedTexture = new SoIndexedTexture2(); indexedTexture.imageIndex.SetValue(size, (int)SoSFArray.DataTypes.SIGNED_SHORT, data); root.AddChild( colorMap ); root.AddChild( indexedTexture ); root.AddChild( geometry );
ColorMap {
min | 0 |
max | 0 |
predefinedColorMap | TEMPERATURE |
colorMapFormat | RGB_ALPHA |
colorMap | 0 |
OIV.Inventor.Actions.SoGLRenderAction, OIV.Inventor.Actions.SoCallbackAction Sets: OIV.Inventor.Elements.SoColorMapElement