Node that defines base colors using packed representation. More...
#include <Inventor/nodes/SoPackedColor.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
SoPackedColor () | |
virtual void | setOverride (const SbBool state) |
virtual SbBool | isOverride () const |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Public Attributes | |
SoMFUInt32 | orderedRGBA |
Node that defines base colors using packed representation.
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 Open Inventor prior to 2.1 and is platform independent.
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. (See SoGLRenderAction::SCREEN_DOOR description )
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. However, for geometry nodes that have a vertexProperty field, the best practice is to use an SoVertexProperty node (which also has an orderedRGBA field) to specify diffuse color and transparency.
If setOverride() was called on an SoMaterial node higher in the scene graph and either the diffuseColor field or the transparency field is not ignored (setIgnored()), then the color and transparency values from the SoMaterial node are used instead of the values in this node. It is not currently possible to override just the color or just the transparency.
orderedRGBA | 0xccccccff |
SoBaseColor, SoVertexProperty, SoMaterial
SoPackedColor::SoPackedColor | ( | ) |
Creates a packed color node with default settings.
static SoType SoPackedColor::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoNode.
virtual SoType SoPackedColor::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoNode.
virtual SbBool SoPackedColor::isOverride | ( | ) | const [inline, virtual] |
Returns the state of the override field.
Reimplemented from SoNode.
virtual void SoPackedColor::setOverride | ( | const SbBool | state | ) | [inline, virtual] |
Defines the packed colors.