SoPackedColor — node that defines base colors using packed representation
Contents
Action Behavior
SoGLRenderAction,SoCallbackAction
Sets the current base (diffuse) color(s) in the state.
Description
SoPackedColor is similar to SoBaseColor in that it sets the diffuse color component of the current
material. However, it also changes the transparency component. The color and transparency information is
packed into unsigned 32-bit integers: 0xrrggbbaa, where aa represents the alpha (0x00 = fully
transparent, 0xff = opaque), and rr, gg, and bb represent the red, blue, and green components of the
color, respectively. Note that the order (r,g,b,a) of these components is reversed from the ordering in
releases of Inventor prior to 2.1.
If the transparency type is SoGLRenderAction::SCREEN_DOOR, only the first transparency value will be
used. With other transparency types, multiple transparencies will be used.
SoPackedColor uses less memory than SoBaseColor or SoMaterial to store multiple color and transparency
values. It can be used in cases where space is critical.
Fields
SoMFUInt32orderedRGBA
Defines the packed colors.
File Format/Defaults
PackedColor{orderedRGBA0xccccccff}Inherits From
SoBase > SoFieldContainer > SoNode > SoPackedColor
Methods
SoPackedColor()
Creates a packed color node with default settings.
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoPackedColor — node that defines base colors using packed representation
See Also
SoBaseColor,SoMaterialSoPackedColor(3IV)()
Synopsis
#include<Inventor/nodes/SoPackedColor.h>
Fields from class SoPackedColor:
SoMFUInt32orderedRGBA
Methods from class SoPackedColor:
SoPackedColor()staticSoTypegetClassTypeId()
Methods from class SoNode:
voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const