osg::StateAttribute Class Referenceabstract

`#include <StateAttribute>`

Inheritance diagram for osg::StateAttribute:

## Classes

struct | ModeUsage
struct | ReassignToParents

## Public Types

enum | Values { OFF = 0x0 , ON = 0x1 , OVERRIDE = 0x2 , PROTECTED = 0x4 , INHERIT = 0x8 }

enum

Type {
TEXTURE , POLYGONMODE , POLYGONOFFSET , MATERIAL ,
ALPHAFUNC , ANTIALIAS , COLORTABLE , CULLFACE ,
FOG , FRONTFACE , LIGHT , POINT ,
LINEWIDTH , LINESTIPPLE , POLYGONSTIPPLE , SHADEMODEL ,
TEXENV , TEXENVFILTER , TEXGEN , TEXMAT ,
LIGHTMODEL , BLENDFUNC , BLENDEQUATION , LOGICOP ,
STENCIL , COLORMASK , DEPTH , VIEWPORT ,
SCISSOR , BLENDCOLOR , MULTISAMPLE , CLIPPLANE ,
COLORMATRIX , VERTEXPROGRAM , FRAGMENTPROGRAM , POINTSPRITE ,
PROGRAM , CLAMPCOLOR , HINT , SAMPLEMASKI ,
PRIMITIVERESTARTINDEX , CLIPCONTROL , VALIDATOR , VIEWMATRIXEXTRACTOR ,
OSGNV_PARAMETER_BLOCK , OSGNVEXT_TEXTURE_SHADER , OSGNVEXT_VERTEX_PROGRAM , OSGNVEXT_REGISTER_COMBINERS ,
OSGNVCG_PROGRAM , OSGNVSLANG_PROGRAM , OSGNVPARSE_PROGRAM_PARSER , UNIFORMBUFFERBINDING ,
TRANSFORMFEEDBACKBUFFERBINDING , ATOMICCOUNTERBUFFERBINDING , PATCH_PARAMETER , FRAME_BUFFER_OBJECT ,
VERTEX_ATTRIB_DIVISOR , SHADERSTORAGEBUFFERBINDING , INDIRECTDRAWBUFFERBINDING , VIEWPORTINDEXED ,
DEPTHRANGEINDEXED , SCISSORINDEXED , BINDIMAGETEXTURE , SAMPLER ,
CAPABILITY = 100
}

typedef GLenum | GLMode
typedef unsigned int | GLModeValue
typedef unsigned int | OverrideValue
typedef std::pair< Type, unsigned int > | TypeMemberPair
typedef std::vector< StateSet * > | ParentList
typedef osg::StateAttributeCallback | Callback
Public Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }

## Public Member Functions

| StateAttribute ()
| StateAttribute (const StateAttribute &sa, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * | cloneType () const =0
virtual Object * | clone (const CopyOp &) const =0
virtual bool | isSameKindAs (const Object *obj) const
virtual const char * | libraryName () const
virtual const char * | className () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Texture * | asTexture ()
virtual const Texture * | asTexture () const
virtual Type | getType () const =0
virtual unsigned int | getMember () const
TypeMemberPair | getTypeMemberPair () const
virtual bool | isTextureAttribute () const
virtual int | compare (const StateAttribute &sa) const =0
bool | operator< (const StateAttribute &rhs) const
bool | operator== (const StateAttribute &rhs) const
bool | operator!= (const StateAttribute &rhs) const
const ParentList & | getParents () const
StateSet * | getParent (unsigned int i)
const StateSet * | getParent (unsigned int i) const
unsigned int | getNumParents () const
void | setShaderComponent (ShaderComponent *sc)
ShaderComponent * | getShaderComponent ()
const ShaderComponent * | getShaderComponent () const
virtual bool | getModeUsage (ModeUsage &) const
virtual bool | checkValidityOfAssociatedModes (osg::State &) const
void | setUpdateCallback (StateAttributeCallback *uc)
StateAttributeCallback * | getUpdateCallback ()
const StateAttributeCallback * | getUpdateCallback () const
void | setEventCallback (StateAttributeCallback *ec)
StateAttributeCallback * | getEventCallback ()
const StateAttributeCallback * | getEventCallback () const
virtual void | apply (State &) const
virtual void | compileGLObjects (State &) const
virtual void | resizeGLObjectBuffers (unsigned int)
virtual void | releaseGLObjects (State *=0) const
Public Member Functions inherited from osg::Object
| Object ()
| Object (bool threadSafeRefUnref)
| Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
std::string | getCompoundClassName () const
virtual Node * | asNode ()
virtual const Node * | asNode () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () const
virtual Image * | asImage ()
virtual const Image * | asImage () const
virtual void | setThreadSafeRefUnref (bool threadSafe)
virtual void | setName (const std::string &name)
void | setName (const char *name)
const std::string & | getName () const
void | setDataVariance (DataVariance dv)
DataVariance | getDataVariance () const
virtual void | computeDataVariance ()
void | setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void | setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
virtual Referenced * | getUserData ()
virtual const Referenced * | getUserData () const
template<typename T>
bool | getUserValue (const std::string &name, T &value) const
template<typename T>
void | setUserValue (const std::string &name, const T &value)
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Protected Member Functions

virtual | ~StateAttribute ()
void | addParent (osg::StateSet *object)
void | removeParent (osg::StateSet *object)
Protected Member Functions inherited from osg::Object
virtual | ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Protected Attributes

ParentList | _parents
ref_ptr< ShaderComponent > | _shaderComponent
ref_ptr< StateAttributeCallback > | _updateCallback
ref_ptr< StateAttributeCallback > | _eventCallback
Protected Attributes inherited from osg::Object
std::string | _name
DataVariance | _dataVariance
osg::UserDataContainer * | _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Friends

class | osg::StateSet

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Detailed Description

Base class for state attributes.

## Member Typedef Documentation

## Callback

typedef osg::StateAttributeCallback osg::StateAttribute::Callback

## GLMode

typedef GLenum osg::StateAttribute::GLMode

GLMode is the value used in glEnable/glDisable(mode)

## GLModeValue

typedef unsigned int osg::StateAttribute::GLModeValue

GLModeValue is used to specify whether a mode is enabled (ON) or disabled (OFF). GLMoveValue is also used to specify the override behavior of modes from parent to children. See enum Value description for more details.

## OverrideValue

typedef unsigned int osg::StateAttribute::OverrideValue

Override is used to specify the override behavior of StateAttributes from parent to children. See enum Value description for more details.

## ParentList

typedef std::vector<StateSet*> osg::StateAttribute::ParentList

A vector of osg::StateSet pointers which is used to store the parent(s) of this StateAttribute.

## TypeMemberPair

typedef std::pair<Type,unsigned int> osg::StateAttribute::TypeMemberPair

Simple pairing between an attribute type and the member within that attribute type group.

## Member Enumeration Documentation

## Type

enum osg::StateAttribute::Type

Type identifier to differentiate between different state types. Values of StateAttribute::Type used to aid identification of different StateAttribute subclasses. Each subclass defines its own value in the virtual Type getType() method. When extending the osg's StateAttribute's simply define your own Type value which is unique, using the StateAttribute::Type enum as a guide of what values to use. If your new subclass needs to override a standard StateAttribute then simply use that type's value.

Enumerator
TEXTURE |
POLYGONMODE |
POLYGONOFFSET |
MATERIAL |
ALPHAFUNC |
ANTIALIAS |
COLORTABLE |
CULLFACE |
FOG |
FRONTFACE |
LIGHT |
POINT |
LINEWIDTH |
LINESTIPPLE |
POLYGONSTIPPLE |
SHADEMODEL |
TEXENV |
TEXENVFILTER |
TEXGEN |
TEXMAT |
LIGHTMODEL |
BLENDFUNC |
BLENDEQUATION |
LOGICOP |
STENCIL |
COLORMASK |
DEPTH |
VIEWPORT |
SCISSOR |
BLENDCOLOR |
MULTISAMPLE |
CLIPPLANE |
COLORMATRIX |
VERTEXPROGRAM |
FRAGMENTPROGRAM |
POINTSPRITE |
PROGRAM |
CLAMPCOLOR |
HINT |
SAMPLEMASKI |
PRIMITIVERESTARTINDEX |
CLIPCONTROL |
VALIDATOR | osgFX namespace
VIEWMATRIXEXTRACTOR |
OSGNV_PARAMETER_BLOCK | osgNV namespace
OSGNVEXT_TEXTURE_SHADER |
OSGNVEXT_VERTEX_PROGRAM |
OSGNVEXT_REGISTER_COMBINERS |
OSGNVCG_PROGRAM | osgNVCg namespace
OSGNVSLANG_PROGRAM |
OSGNVPARSE_PROGRAM_PARSER |
UNIFORMBUFFERBINDING |
TRANSFORMFEEDBACKBUFFERBINDING |
ATOMICCOUNTERBUFFERBINDING |
PATCH_PARAMETER |
FRAME_BUFFER_OBJECT |
VERTEX_ATTRIB_DIVISOR |
SHADERSTORAGEBUFFERBINDING |
INDIRECTDRAWBUFFERBINDING |
VIEWPORTINDEXED |
DEPTHRANGEINDEXED |
SCISSORINDEXED |
BINDIMAGETEXTURE |
SAMPLER |
CAPABILITY |

## Values

enum osg::StateAttribute::Values

list values which can be used to set either GLModeValues or OverrideValues. When using in conjunction with GLModeValues, all Values have meaning. When using in conjunction with StateAttribute OverrideValue only OFF,OVERRIDE and INHERIT are meaningful. However, they are useful when using GLModeValue and OverrideValue in conjunction with each other as when using StateSet::setAttributeAndModes(..).

Enumerator
OFF | means that associated GLMode and Override is disabled.
ON | means that associated GLMode is enabled and Override is disabled.
OVERRIDE | Overriding of GLMode's or StateAttributes is enabled, so that state below it is overridden.
PROTECTED | Protecting of GLMode's or StateAttributes is enabled, so that state from above cannot override this and below state.
INHERIT | means that GLMode or StateAttribute should be inherited from above.

## Constructor & Destructor Documentation

## StateAttribute() [1/2]

osg::StateAttribute::StateAttribute | ( |  | ) |

Referenced by osg::AlphaFunc::AlphaFunc(), asStateAttribute(), asStateAttribute(), osg::BindImageTexture::BindImageTexture(), osg::BindImageTexture::BindImageTexture(), osg::BlendColor::BlendColor(), osg::BlendEquation::BlendEquation(), osg::BlendFunc::BlendFunc(), osg::Capability::Capability(), osg::ClampColor::ClampColor(), osg::ClipPlane::ClipPlane(), osg::ColorMask::ColorMask(), osg::ColorMatrix::ColorMatrix(), osg::AlphaFunc::compare(), osg::BlendColor::compare(), osg::BlendEquation::compare(), osg::BlendFunc::compare(), osg::Capability::compare(), osg::ClampColor::compare(), osg::ClipControl::compare(), osg::ClipPlane::compare(), osg::ColorMask::compare(), osg::ColorMatrix::compare(), osg::CullFace::compare(), osg::Depth::compare(), osg::DepthRangeIndexed::compare(), osg::Fog::compare(), osg::FrameBufferObject::compare(), osg::FrontFace::compare(), osg::Hint::compare(), osg::Light::compare(), osg::LightModel::compare(), osg::LineStipple::compare(), osg::LineWidth::compare(), osg::LogicOp::compare(), osg::Material::compare(), osg::Multisample::compare(), osg::PatchParameter::compare(), osg::Point::compare(), osg::PointSprite::compare(), osg::PolygonMode::compare(), osg::PolygonOffset::compare(), osg::PolygonStipple::compare(), osg::Sampler::compare(), osg::Scissor::compare(), osg::ScissorIndexed::compare(), osg::ShadeModel::compare(), osg::ShaderAttribute::compare(), compare(), osg::Stencil::compare(), osg::StencilTwoSided::compare(), osg::TexEnv::compare(), osg::TexEnvCombine::compare(), osg::TexEnvFilter::compare(), osg::TexGen::compare(), osg::TexMat::compare(), osg::VertexAttribDivisor::compare(), osg::Viewport::compare(), osg::CullFace::CullFace(), osg::Depth::Depth(), osg::DepthRangeIndexed::DepthRangeIndexed(), osg::Fog::Fog(), osg::FrontFace::FrontFace(), osg::Hint::Hint(), isSameKindAs(), osg::Light::Light(), osg::LightModel::LightModel(), osg::LineStipple::LineStipple(), osg::LineWidth::LineWidth(), osg::LogicOp::LogicOp(), osg::Material::Material(), osg::PrimitiveRestartIndex::META_StateAttribute(), osg::SampleMaski::META_StateAttribute(), osg::Multisample::Multisample(), operator!=(), operator<(), operator==(), osg::PatchParameter::PatchParameter(), osg::Point::Point(), osg::PointSprite::PointSprite(), osg::PolygonMode::PolygonMode(), osg::PolygonOffset::PolygonOffset(), osg::Scissor::Scissor(), osg::ScissorIndexed::ScissorIndexed(), osg::ShadeModel::ShadeModel(), StateAttribute(), osg::Stencil::Stencil(), osg::TexEnv::TexEnv(), osg::TexEnvCombine::TexEnvCombine(), osg::TexEnvFilter::TexEnvFilter(), osg::TexGen::TexGen(), osg::TexMat::TexMat(), osg::VertexAttribDivisor::VertexAttribDivisor(), and osg::Viewport::Viewport().

## StateAttribute() [2/2]

osg::StateAttribute::StateAttribute | ( | const StateAttribute & | sa,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY )

inline

References _eventCallback, _shaderComponent, _updateCallback, osg::get(), osg::Object::Object(), osg::CopyOp::SHALLOW_COPY, and StateAttribute().

## ~StateAttribute()

virtual osg::StateAttribute::~StateAttribute | ( |  | ) |

inline protected virtual

## Member Function Documentation

## addParent()

void osg::StateAttribute::addParent | ( | osg::StateSet * | object | ) |

protected

## apply()

virtual void osg::StateAttribute::apply | ( | State & |  | ) | const

inline virtual

apply the OpenGL state attributes. The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state.

Reimplemented in osg::AlphaFunc, osg::BindImageTexture, osg::BlendColor, osg::BlendEquation, osg::BlendEquationi, osg::BlendFunc, osg::BlendFunci, osg::BufferIndexBinding, osg::ClampColor, osg::ClipControl, osg::ClipPlane, osg::ColorMask, osg::ColorMaski, osg::ColorMatrix, osg::CullFace, osg::Depth, osg::DepthRangeIndexed, osg::Disablei, osg::Enablei, osg::Fog, osg::FragmentProgram, osg::FrameBufferObject, osg::FrontFace, osg::Hint, osg::Light, osg::LightModel, osg::LineStipple, osg::LineWidth, osg::LogicOp, osg::Material, osg::Multisample, osg::PatchParameter, osg::Point, osg::PointSprite, osg::PolygonMode, osg::PolygonOffset, osg::PolygonStipple, osg::PrimitiveRestartIndex, osg::Program, osg::SampleMaski, osg::Sampler, osg::Scissor, osg::ScissorIndexed, osg::ShadeModel, osg::ShaderAttribute, osg::Stencil, osg::StencilTwoSided, osg::TexEnv, osg::TexEnvCombine, osg::TexEnvFilter, osg::TexGen, osg::TexMat, osg::Texture1D, osg::Texture2D, osg::Texture2DArray, osg::Texture2DMultisample, osg::Texture3D, osg::Texture, osg::TextureBuffer, osg::TextureCubeMap, osg::TextureRectangle, osg::VertexAttribDivisor, osg::VertexProgram, osg::Viewport, osg::ViewportIndexed, and osgFX::Validator.

Referenced by osg::State::applyAttribute(), and osg::State::applyAttributeOnTexUnit().

## asStateAttribute() [1/2]

virtual StateAttribute * osg::StateAttribute::asStateAttribute | ( |  | ) |

inline virtual

Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. Equivalent to dynamic_cast<StateAttribute*>(this).

Reimplemented from osg::Object.

References StateAttribute().

## asStateAttribute() [2/2]

virtual const StateAttribute * osg::StateAttribute::asStateAttribute | ( |  | ) | const

inline virtual

convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. Equivalent to dynamic_cast<const StateAttribute*>(this).

Reimplemented from osg::Object.

References StateAttribute().

## asTexture() [1/2]

virtual Texture * osg::StateAttribute::asTexture | ( |  | ) |

inline virtual

Fast alternative to dynamic_cast<> for determining if state attribute is a Texture.

Reimplemented in osg::Texture.

## asTexture() [2/2]

virtual const Texture * osg::StateAttribute::asTexture | ( |  | ) | const

inline virtual

Fast alternative to dynamic_cast<> for determining if state attribute is a Texture.

Reimplemented in osg::Texture.

## checkValidityOfAssociatedModes()

virtual bool osg::StateAttribute::checkValidityOfAssociatedModes | ( | osg::State & |  | ) | const

inline virtual

Check the modes associated with this StateAttribute are supported by current OpenGL drivers, and if not set the associated mode in osg::State to be black listed/invalid. Return true if all associated modes are valid.

Reimplemented in osg::PointSprite.

## className()

virtual const char * osg::StateAttribute::className | ( |  | ) | const

inline virtual

Return the name of the attribute's class type.

Implements osg::Object.

Reimplemented in osg::ClipPlane, osg::Hint, osg::Light, osg::ShaderAttribute, osg::Texture, osg::VertexAttribDivisor, and osgText::GlyphTexture.

## clone()

virtual Object * osg::StateAttribute::clone | ( | const CopyOp & |  | ) | const

pure virtual

Clone an attribute, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

Implemented in osg::ClipPlane, osg::Hint, osg::Light, osg::ShaderAttribute, osg::Texture, and osg::VertexAttribDivisor.

References osg::Object::Object().

## cloneType()

virtual Object * osg::StateAttribute::cloneType | ( |  | ) | const

pure virtual

Clone the type of an attribute, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

Implemented in osg::ClipPlane, osg::Hint, osg::Light, osg::ShaderAttribute, osg::Texture, and osg::VertexAttribDivisor.

References osg::Object::Object().

Referenced by osg::State::applyAttribute(), and osg::State::applyAttributeOnTexUnit().

## compare()

virtual int osg::StateAttribute::compare | ( | const StateAttribute & | sa | ) | const

pure virtual

Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.

Implemented in osg::AlphaFunc, osg::AtomicCounterBufferBinding, osg::BindImageTexture, osg::BlendColor, osg::BlendEquation, osg::BlendEquationi, osg::BlendFunc, osg::BlendFunci, osg::Capability, osg::Capabilityi, osg::ClampColor, osg::ClipControl, osg::ClipPlane, osg::ColorMask, osg::ColorMaski, osg::ColorMatrix, osg::CullFace, osg::Depth, osg::DepthRangeIndexed, osg::Fog, osg::FragmentProgram, osg::FrameBufferObject, osg::FrontFace, osg::Hint, osg::Light, osg::LightModel, osg::LineStipple, osg::LineWidth, osg::LogicOp, osg::Material, osg::Multisample, osg::PatchParameter, osg::Point, osg::PointSprite, osg::PolygonMode, osg::PolygonOffset, osg::PolygonStipple, osg::Program, osg::Sampler, osg::Scissor, osg::ScissorIndexed, osg::ShadeModel, osg::ShaderAttribute, osg::ShaderStorageBufferBinding, osg::Stencil, osg::StencilTwoSided, osg::TexEnv, osg::TexEnvCombine, osg::TexEnvFilter, osg::TexGen, osg::TexMat, osg::Texture1D, osg::Texture2D, osg::Texture2DArray, osg::Texture2DMultisample, osg::Texture3D, osg::TextureBuffer, osg::TextureCubeMap, osg::TextureRectangle, osg::TransformFeedbackBufferBinding, osg::UniformBufferBinding, osg::VertexAttribDivisor, osg::VertexProgram, osg::Viewport, osg::ViewportIndexed, osgFX::Validator, and osgText::GlyphTexture.

References StateAttribute().

Referenced by osg::PrimitiveRestartIndex::META_StateAttribute(), osg::SampleMaski::META_StateAttribute(), operator!=(), operator<(), and operator==().

## compileGLObjects()

virtual void osg::StateAttribute::compileGLObjects | ( | State & |  | ) | const

inline virtual

Default to nothing to compile - all state is applied immediately.

Reimplemented in osg::FragmentProgram, osg::Program, osg::Sampler, osg::ShaderAttribute, osg::Texture, osg::VertexProgram, and osgFX::Validator.

## getEventCallback() [1/2]

StateAttributeCallback * osg::StateAttribute::getEventCallback | ( |  | ) |

inline

Get the non const EventCallback.

References _eventCallback.

## getEventCallback() [2/2]

const StateAttributeCallback * osg::StateAttribute::getEventCallback | ( |  | ) | const

inline

Get the const EventCallback.

References _eventCallback.

## getMember()

virtual unsigned int osg::StateAttribute::getMember | ( |  | ) | const

inline virtual

Return the member identifier within the attribute's class type. Used for light number/clip plane number etc.

Reimplemented in osg::BindImageTexture, osg::BlendEquationi, osg::BlendFunci, osg::BufferIndexBinding, osg::Capabilityi, osg::ClipPlane, osg::ColorMaski, osg::DepthRangeIndexed, osg::Hint, osg::Light, osg::ScissorIndexed, osg::VertexAttribDivisor, and osg::ViewportIndexed.

Referenced by getTypeMemberPair().

## getModeUsage()

virtual bool osg::StateAttribute::getModeUsage | ( | ModeUsage & |  | ) | const

inline virtual

Return the modes associated with this StateAttribute.

Reimplemented in osg::AlphaFunc, osg::BlendColor, osg::BlendEquation, osg::BlendFunc, osg::ClipPlane, osg::CullFace, osg::Depth, osg::Fog, osg::FragmentProgram, osg::Light, osg::LineStipple, osg::LogicOp, osg::Material, osg::Point, osg::PointSprite, osg::PolygonOffset, osg::PolygonStipple, osg::Scissor, osg::ShaderAttribute, osg::Stencil, osg::StencilTwoSided, osg::TexGen, osg::Texture2DArray, osg::Texture2DMultisample, and osg::VertexProgram.

Referenced by osg::Texture::getTextureTarget().

## getNumParents()

unsigned int osg::StateAttribute::getNumParents | ( |  | ) | const

inline

Get the number of parents of this StateAttribute.

Returns
  the number of parents of this StateAttribute.

References _parents.

## getParent() [1/2]

StateSet * osg::StateAttribute::getParent | ( | unsigned int | i | ) |

inline

References _parents, and osg::StateSet.

## getParent() [2/2]

const StateSet * osg::StateAttribute::getParent | ( | unsigned int | i | ) | const

inline

Get a single const parent of this StateAttribute.

Parameters

  i | index of the parent to get.

Returns
  the parent i.

References _parents, and osg::StateSet.

## getParents()

const ParentList & osg::StateAttribute::getParents | ( |  | ) | const

inline

Get the parent list of this StateAttribute.

References _parents.

## getShaderComponent() [1/2]

ShaderComponent * osg::StateAttribute::getShaderComponent | ( |  | ) |

inline

References _shaderComponent.

Referenced by osg::State::applyAttribute(), and osg::State::applyAttributeOnTexUnit().

## getShaderComponent() [2/2]

const ShaderComponent * osg::StateAttribute::getShaderComponent | ( |  | ) | const

inline

References _shaderComponent.

## getType()

virtual Type osg::StateAttribute::getType | ( |  | ) | const

pure virtual

Return the Type identifier of the attribute's class type.

Implemented in osg::Capability, osg::ClipPlane, osg::Hint, osg::Light, osg::ShaderAttribute, osg::Texture, and osg::VertexAttribDivisor.

Referenced by getTypeMemberPair().

## getTypeMemberPair()

TypeMemberPair osg::StateAttribute::getTypeMemberPair | ( |  | ) | const

inline

Return the TypeMemberPair that uniquely identifies this type member.

References getMember(), and getType().

Referenced by osg::State::applyAttribute(), osg::State::applyTextureAttribute(), osg::State::getAttributeVec(), osg::State::setGlobalDefaultAttribute(), and osg::State::setGlobalDefaultTextureAttribute().

## getUpdateCallback() [1/2]

StateAttributeCallback * osg::StateAttribute::getUpdateCallback | ( |  | ) |

inline

Get the non const UpdateCallback.

References _updateCallback.

## getUpdateCallback() [2/2]

const StateAttributeCallback * osg::StateAttribute::getUpdateCallback | ( |  | ) | const

inline

Get the const UpdateCallback.

References _updateCallback.

## isSameKindAs()

virtual bool osg::StateAttribute::isSameKindAs | ( | const Object * | obj | ) | const

inline virtual

Return true if this and obj are of the same kind of object.

Reimplemented from osg::Object.

Reimplemented in osg::ClipPlane, osg::Hint, osg::Light, osg::ShaderAttribute, osg::Texture, and osg::VertexAttribDivisor.

References NULL, osg::Object::Object(), and StateAttribute().

## isTextureAttribute()

virtual bool osg::StateAttribute::isTextureAttribute | ( |  | ) | const

inline virtual

Return true if StateAttribute is a type which controls texturing and needs to be issued w.r.t to specific texture unit.

Reimplemented in osg::PointSprite, osg::TexEnv, osg::TexEnvCombine, osg::TexEnvFilter, osg::TexGen, osg::TexMat, and osg::Texture.

Referenced by osg::Sampler::META_StateAttribute().

## libraryName()

virtual const char * osg::StateAttribute::libraryName | ( |  | ) | const

inline virtual

Return the name of the attribute's library.

Implements osg::Object.

Reimplemented in osg::ClipPlane, osg::Hint, osg::Light, osg::ShaderAttribute, osg::Texture, and osg::VertexAttribDivisor.

## operator!=()

bool osg::StateAttribute::operator!= | ( | const StateAttribute & | rhs | ) | const

inline

References compare(), and StateAttribute().

## operator<()

bool osg::StateAttribute::operator< | ( | const StateAttribute & | rhs | ) | const

inline

References compare(), and StateAttribute().

## operator==()

bool osg::StateAttribute::operator== | ( | const StateAttribute & | rhs | ) | const

inline

References compare(), and StateAttribute().

## releaseGLObjects()

virtual void osg::StateAttribute::releaseGLObjects | ( | State * | = 0 | ) | const

inline virtual

Release OpenGL objects in specified graphics context if State object is passed, otherwise release OpenGL objects for all graphics context if State object pointer NULL.

Reimplemented from osg::Object.

Reimplemented in osg::FragmentProgram, osg::FrameBufferObject, osg::Program, osg::Sampler, osg::ShaderAttribute, osg::Texture, and osg::VertexProgram.

## removeParent()

void osg::StateAttribute::removeParent | ( | osg::StateSet * | object | ) |

protected

## resizeGLObjectBuffers()

virtual void osg::StateAttribute::resizeGLObjectBuffers | ( | unsigned int |  | ) |

inline virtual

Resize any per context GLObject buffers to specified size.

Reimplemented from osg::Object.

Reimplemented in osg::FragmentProgram, osg::FrameBufferObject, osg::Program, osg::ShaderAttribute, osg::Texture, osg::VertexProgram, and osgText::GlyphTexture.

## setEventCallback()

void osg::StateAttribute::setEventCallback | ( | StateAttributeCallback * | ec | ) |

Set the EventCallback which allows users to attach customize the updating of an object during the Event traversal.

## setShaderComponent()

void osg::StateAttribute::setShaderComponent | ( | ShaderComponent * | sc | ) |

inline

References _shaderComponent.

## setUpdateCallback()

void osg::StateAttribute::setUpdateCallback | ( | StateAttributeCallback * | uc | ) |

Set the UpdateCallback which allows users to attach customize the updating of an object during the update traversal.

## Friends And Related Symbol Documentation

## osg::StateSet

friend class osg::StateSet

friend

Referenced by osg::Sampler::generateSamplerObjects(), getParent(), and getParent().

## Member Data Documentation

## _eventCallback

ref_ptr<StateAttributeCallback> osg::StateAttribute::_eventCallback

protected

Referenced by getEventCallback(), getEventCallback(), and StateAttribute().

## _parents

ParentList osg::StateAttribute::_parents

protected

Referenced by getNumParents(), getParent(), getParent(), and getParents().

## _shaderComponent

ref_ptr<ShaderComponent> osg::StateAttribute::_shaderComponent

protected

Referenced by osg::ShaderAttribute::addShader(), osg::ShaderAttribute::getNumShaders(), osg::ShaderAttribute::getShader(), osg::ShaderAttribute::getShader(), getShaderComponent(), getShaderComponent(), osg::ShaderAttribute::removeShader(), setShaderComponent(), and StateAttribute().

## _updateCallback

ref_ptr<StateAttributeCallback> osg::StateAttribute::_updateCallback

protected

Referenced by getUpdateCallback(), getUpdateCallback(), and StateAttribute().

The documentation for this class was generated from the following file:

- StateAttribute