OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
osg::StateSet Class Reference

#include <StateSet.h>

Inheritance diagram for osg::StateSet:
Inheritance graph
[legend]
Collaboration diagram for osg::StateSet:
Collaboration graph
[legend]

Classes

struct  Callback
 

Public Types

enum  RenderingHint { DEFAULT_BIN = 0, OPAQUE_BIN = 1, TRANSPARENT_BIN = 2 }
 
enum  RenderBinMode {
  INHERIT_RENDERBIN_DETAILS =0, USE_RENDERBIN_DETAILS =1, OVERRIDE_RENDERBIN_DETAILS =2, PROTECTED_RENDERBIN_DETAILS =4,
  OVERRIDE_PROTECTED_RENDERBIN_DETAILS = OVERRIDE_RENDERBIN_DETAILS|PROTECTED_RENDERBIN_DETAILS
}
 
typedef std::vector< Node * > ParentList
 
typedef std::map
< StateAttribute::GLMode,
StateAttribute::GLModeValue
ModeList
 
typedef std::pair< ref_ptr
< StateAttribute >
, StateAttribute::OverrideValue
RefAttributePair
 
typedef std::map
< StateAttribute::TypeMemberPair,
RefAttributePair
AttributeList
 
typedef std::vector< ModeListTextureModeList
 
typedef std::vector
< AttributeList
TextureAttributeList
 
typedef std::pair< ref_ptr
< Uniform >
, StateAttribute::OverrideValue
RefUniformPair
 
typedef std::map< std::string,
RefUniformPair
UniformList
 
typedef std::pair< std::string,
StateAttribute::OverrideValue
DefinePair
 
typedef std::map< std::string,
DefinePair
DefineList
 
- Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC, STATIC, UNSPECIFIED }
 

Public Member Functions

 StateSet ()
 
 StateSet (const StateSet &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 
virtual ObjectcloneType () const
 
virtual Objectclone (const CopyOp &copyop) const
 
virtual bool isSameKindAs (const Object *obj) const
 
virtual const char * libraryName () const
 
virtual const char * className () const
 
int compare (const StateSet &rhs, bool compareAttributeContents=false) const
 
bool operator< (const StateSet &rhs) const
 
bool operator== (const StateSet &rhs) const
 
bool operator!= (const StateSet &rhs) const
 
const ParentListgetParents () const
 
ParentList getParents ()
 
NodegetParent (unsigned int i)
 
const NodegetParent (unsigned int i) const
 
unsigned int getNumParents () const
 
virtual void computeDataVariance ()
 
void setGlobalDefaults ()
 
void clear ()
 
void merge (const StateSet &rhs)
 
void setMode (StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
 
void removeMode (StateAttribute::GLMode mode)
 
StateAttribute::GLModeValue getMode (StateAttribute::GLMode mode) const
 
void setModeList (ModeList &ml)
 
ModeListgetModeList ()
 
const ModeListgetModeList () const
 
void setAttribute (StateAttribute *attribute, StateAttribute::OverrideValue value=StateAttribute::OFF)
 
void setAttributeAndModes (StateAttribute *attribute, StateAttribute::GLModeValue value=StateAttribute::ON)
 
void removeAttribute (StateAttribute::Type type, unsigned int member=0)
 
void removeAttribute (StateAttribute *attribute)
 
StateAttributegetAttribute (StateAttribute::Type type, unsigned int member=0)
 
const StateAttributegetAttribute (StateAttribute::Type type, unsigned int member=0) const
 
const RefAttributePairgetAttributePair (StateAttribute::Type type, unsigned int member=0) const
 
void setAttributeList (AttributeList &al)
 
AttributeListgetAttributeList ()
 
const AttributeListgetAttributeList () const
 
void setTextureMode (unsigned int unit, StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
 
void removeTextureMode (unsigned int unit, StateAttribute::GLMode mode)
 
StateAttribute::GLModeValue getTextureMode (unsigned int unit, StateAttribute::GLMode mode) const
 
void setTextureModeList (TextureModeList &tml)
 
TextureModeListgetTextureModeList ()
 
const TextureModeListgetTextureModeList () const
 
unsigned int getNumTextureModeLists () const
 
void setTextureAttribute (unsigned int unit, StateAttribute *attribute, StateAttribute::OverrideValue value=StateAttribute::OFF)
 
void setTextureAttributeAndModes (unsigned int unit, StateAttribute *attribute, StateAttribute::GLModeValue value=StateAttribute::ON)
 
void removeTextureAttribute (unsigned int unit, StateAttribute::Type type)
 
void removeTextureAttribute (unsigned int unit, StateAttribute *attribute)
 
StateAttributegetTextureAttribute (unsigned int unit, StateAttribute::Type type)
 
const StateAttributegetTextureAttribute (unsigned int unit, StateAttribute::Type type) const
 
const RefAttributePairgetTextureAttributePair (unsigned int unit, StateAttribute::Type type) const
 
void setTextureAttributeList (TextureAttributeList &tal)
 
TextureAttributeListgetTextureAttributeList ()
 
const TextureAttributeListgetTextureAttributeList () const
 
unsigned int getNumTextureAttributeLists () const
 
void setAssociatedModes (const StateAttribute *attribute, StateAttribute::GLModeValue value)
 
void removeAssociatedModes (const StateAttribute *attribute)
 
void setAssociatedTextureModes (unsigned int unit, const StateAttribute *attribute, StateAttribute::GLModeValue value)
 
void removeAssociatedTextureModes (unsigned int unit, const StateAttribute *attribute)
 
void addUniform (Uniform *uniform, StateAttribute::OverrideValue value=StateAttribute::ON)
 
void removeUniform (const std::string &name)
 
void removeUniform (Uniform *uniform)
 
UniformgetUniform (const std::string &name)
 
UniformgetOrCreateUniform (const std::string &name, Uniform::Type type, unsigned int numElements=1)
 
const UniformgetUniform (const std::string &name) const
 
const RefUniformPairgetUniformPair (const std::string &name) const
 
void setUniformList (UniformList &al)
 
UniformListgetUniformList ()
 
const UniformListgetUniformList () const
 
void setDefine (const std::string &defineName, StateAttribute::OverrideValue value=StateAttribute::ON)
 
void setDefine (const std::string &defineName, const std::string &defineValue, StateAttribute::OverrideValue value=StateAttribute::ON)
 
DefinePairgetDefinePair (const std::string &defineName)
 
const DefinePairgetDefinePair (const std::string &defineName) const
 
void removeDefine (const std::string &defineName)
 
void setDefineList (const DefineList &dl)
 
DefineListgetDefineList ()
 
const DefineListgetDefineList () const
 
void setRenderingHint (int hint)
 
int getRenderingHint () const
 
void setRenderBinDetails (int binNum, const std::string &binName, RenderBinMode mode=USE_RENDERBIN_DETAILS)
 
void setRenderBinToInherit ()
 
bool useRenderBinDetails () const
 
void setRenderBinMode (RenderBinMode mode)
 
RenderBinMode getRenderBinMode () const
 
void setBinNumber (int num)
 
int getBinNumber () const
 
void setBinName (const std::string &name)
 
const std::string & getBinName () const
 
void setNestRenderBins (bool val)
 
bool getNestRenderBins () const
 
void setUpdateCallback (Callback *ac)
 
CallbackgetUpdateCallback ()
 
const CallbackgetUpdateCallback () const
 
bool requiresUpdateTraversal () const
 
unsigned int getNumChildrenRequiringUpdateTraversal () const
 
void runUpdateCallbacks (osg::NodeVisitor *nv)
 
void setEventCallback (Callback *ac)
 
CallbackgetEventCallback ()
 
const CallbackgetEventCallback () const
 
bool requiresEventTraversal () const
 
unsigned int getNumChildrenRequiringEventTraversal () const
 
void runEventCallbacks (osg::NodeVisitor *nv)
 
bool checkValidityOfAssociatedModes (State &state) const
 
virtual void setThreadSafeRefUnref (bool threadSafe)
 
void compileGLObjects (State &state) const
 
virtual void resizeGLObjectBuffers (unsigned int maxSize)
 
virtual void releaseGLObjects (State *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 NodeasNode ()
 
virtual const NodeasNode () const
 
virtual NodeVisitorasNodeVisitor ()
 
virtual const NodeVisitorasNodeVisitor () const
 
virtual StateAttributeasStateAttribute ()
 
virtual const StateAttributeasStateAttribute () const
 
virtual UniformasUniform ()
 
virtual const UniformasUniform () const
 
virtual void setName (const std::string &name)
 
void setName (const char *name)
 
const std::string & getName () const
 
void setDataVariance (DataVariance dv)
 
DataVariance getDataVariance () const
 
void setUserDataContainer (osg::UserDataContainer *udc)
 
osg::UserDataContainergetUserDataContainer ()
 
const osg::UserDataContainergetUserDataContainer () const
 
osg::UserDataContainergetOrCreateUserDataContainer ()
 
virtual void setUserData (Referenced *obj)
 
virtual ReferencedgetUserData ()
 
virtual const ReferencedgetUserData () 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 &)
 
Referencedoperator= (const Referenced &)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () const
 
void addObserver (Observer *observer) const
 
void removeObserver (Observer *observer) const
 

Protected Member Functions

virtual ~StateSet ()
 
StateSetoperator= (const StateSet &)
 
void addParent (osg::Node *object)
 
void removeParent (osg::Node *object)
 
ModeListgetOrCreateTextureModeList (unsigned int unit)
 
AttributeListgetOrCreateTextureAttributeList (unsigned int unit)
 
int compareModes (const ModeList &lhs, const ModeList &rhs)
 
int compareAttributePtrs (const AttributeList &lhs, const AttributeList &rhs)
 
int compareAttributeContents (const AttributeList &lhs, const AttributeList &rhs)
 
void setMode (ModeList &modeList, StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
 
void setModeToInherit (ModeList &modeList, StateAttribute::GLMode mode)
 
StateAttribute::GLModeValue getMode (const ModeList &modeList, StateAttribute::GLMode mode) const
 
void setAttribute (AttributeList &attributeList, StateAttribute *attribute, const StateAttribute::OverrideValue value=StateAttribute::OFF)
 
StateAttributegetAttribute (AttributeList &attributeList, const StateAttribute::Type type, unsigned int member)
 
const StateAttributegetAttribute (const AttributeList &attributeList, const StateAttribute::Type type, unsigned int member) const
 
const RefAttributePairgetAttributePair (const AttributeList &attributeList, const StateAttribute::Type type, unsigned int member) const
 
void setNumChildrenRequiringUpdateTraversal (unsigned int num)
 
void setNumChildrenRequiringEventTraversal (unsigned int num)
 
- 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
 
ModeList _modeList
 
AttributeList _attributeList
 
TextureModeList _textureModeList
 
TextureAttributeList _textureAttributeList
 
UniformList _uniformList
 
DefineList _defineList
 
int _renderingHint
 
RenderBinMode _binMode
 
int _binNum
 
std::string _binName
 
bool _nestRenderBins
 
ref_ptr< Callback_updateCallback
 
unsigned int _numChildrenRequiringUpdateTraversal
 
ref_ptr< Callback_eventCallback
 
unsigned int _numChildrenRequiringEventTraversal
 
- 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::Node
 
class osg::Drawable
 
class osg::Uniform
 
class osg::StateAttribute
 

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 

Detailed Description

Stores a set of modes and attributes which represent a set of OpenGL state. Notice that a StateSet contains just a subset of the whole OpenGL state.

In OSG, each Drawable and each Node has a reference to a StateSet. These StateSets can be shared between different Drawables and Nodes (that is, several Drawables and Nodes can reference the same StateSet). Indeed, this practice is recommended whenever possible, as this minimizes expensive state changes in the graphics pipeline.

Definition at line 45 of file StateSet.h.

Member Typedef Documentation

a container to map <StateAttribyte::Types,Member> to their respective RefAttributePair.

Definition at line 158 of file StateSet.h.

typedef std::map<std::string, DefinePair> osg::StateSet::DefineList

Definition at line 313 of file StateSet.h.

Definition at line 312 of file StateSet.h.

a container to map GLModes to their respective GLModeValues.

Definition at line 111 of file StateSet.h.

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

A vector of osg::Object pointers which is used to store the parent(s) of this Stateset, the parents could be osg::Node or osg::Drawable.

Definition at line 68 of file StateSet.h.

Simple pairing between an attribute and its override flag.

Definition at line 155 of file StateSet.h.

Simple pairing between a Uniform and its override flag.

Definition at line 273 of file StateSet.h.

Definition at line 225 of file StateSet.h.

Definition at line 195 of file StateSet.h.

typedef std::map<std::string,RefUniformPair> osg::StateSet::UniformList

a container to map Uniform name to its respective RefUniformPair.

Definition at line 276 of file StateSet.h.

Member Enumeration Documentation

Enumerator
INHERIT_RENDERBIN_DETAILS 
USE_RENDERBIN_DETAILS 
OVERRIDE_RENDERBIN_DETAILS 
PROTECTED_RENDERBIN_DETAILS 
OVERRIDE_PROTECTED_RENDERBIN_DETAILS 

Definition at line 363 of file StateSet.h.

Enumerator
DEFAULT_BIN 
OPAQUE_BIN 
TRANSPARENT_BIN 

Definition at line 340 of file StateSet.h.

Constructor & Destructor Documentation

osg::StateSet::StateSet ( )
osg::StateSet::StateSet ( const StateSet ,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)
virtual osg::StateSet::~StateSet ( )
protectedvirtual

Member Function Documentation

void osg::StateSet::addParent ( osg::Node object)
protected
void osg::StateSet::addUniform ( Uniform uniform,
StateAttribute::OverrideValue  value = StateAttribute::ON 
)

Set this StateSet to contain specified uniform and override flag.

bool osg::StateSet::checkValidityOfAssociatedModes ( State state) const

Check the modes associated with this StateSet 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.

virtual const char* osg::StateSet::className ( ) const
inlinevirtual

return the name of the object's class type. Must be defined by derived classes.

Implements osg::Object.

Definition at line 57 of file StateSet.h.

void osg::StateSet::clear ( )

Clear the StateSet of all modes and attributes.

virtual Object* osg::StateSet::clone ( const CopyOp ) const
inlinevirtual

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

Implements osg::Object.

Definition at line 54 of file StateSet.h.

virtual Object* osg::StateSet::cloneType ( ) const
inlinevirtual

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

Implements osg::Object.

Definition at line 53 of file StateSet.h.

int osg::StateSet::compare ( const StateSet rhs,
bool  compareAttributeContents = false 
) const

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

Here is the caller graph for this function:

int osg::StateSet::compareAttributeContents ( const AttributeList lhs,
const AttributeList rhs 
)
protected
int osg::StateSet::compareAttributePtrs ( const AttributeList lhs,
const AttributeList rhs 
)
protected
int osg::StateSet::compareModes ( const ModeList lhs,
const ModeList rhs 
)
protected
void osg::StateSet::compileGLObjects ( State state) const

call compile on all StateAttributes contained within this StateSet.

virtual void osg::StateSet::computeDataVariance ( )
virtual

Compute the DataVariance based on an assessment of callback etc.

Reimplemented from osg::Object.

StateAttribute* osg::StateSet::getAttribute ( StateAttribute::Type  type,
unsigned int  member = 0 
)

Get specified StateAttribute for specified type. Returns NULL if no type is contained within StateSet.

const StateAttribute* osg::StateSet::getAttribute ( StateAttribute::Type  type,
unsigned int  member = 0 
) const

Get specified const StateAttribute for specified type. Returns NULL if no type is contained within const StateSet.

StateAttribute* osg::StateSet::getAttribute ( AttributeList attributeList,
const StateAttribute::Type  type,
unsigned int  member 
)
protected
const StateAttribute* osg::StateSet::getAttribute ( const AttributeList attributeList,
const StateAttribute::Type  type,
unsigned int  member 
) const
protected
AttributeList& osg::StateSet::getAttributeList ( )
inline

return the list of all StateAttributes contained in this StateSet.

Definition at line 188 of file StateSet.h.

const AttributeList& osg::StateSet::getAttributeList ( ) const
inline

return the const list of all StateAttributes contained in this const StateSet.

Definition at line 191 of file StateSet.h.

const RefAttributePair* osg::StateSet::getAttributePair ( StateAttribute::Type  type,
unsigned int  member = 0 
) const

Get specified RefAttributePair for specified type. Returns NULL if no type is contained within StateSet.

const RefAttributePair* osg::StateSet::getAttributePair ( const AttributeList attributeList,
const StateAttribute::Type  type,
unsigned int  member 
) const
protected
const std::string& osg::StateSet::getBinName ( ) const
inline

Get the render bin name.

Definition at line 397 of file StateSet.h.

Here is the caller graph for this function:

int osg::StateSet::getBinNumber ( ) const
inline

Get the render bin number.

Definition at line 391 of file StateSet.h.

Here is the caller graph for this function:

DefineList& osg::StateSet::getDefineList ( )
inline

Get the list of defines to pass on to shaders.

Definition at line 333 of file StateSet.h.

const DefineList& osg::StateSet::getDefineList ( ) const
inline

Get the const list of defines to pass on to shaders.

Definition at line 336 of file StateSet.h.

DefinePair* osg::StateSet::getDefinePair ( const std::string &  defineName)
inline

Definition at line 321 of file StateSet.h.

const DefinePair* osg::StateSet::getDefinePair ( const std::string &  defineName) const
inline

Definition at line 322 of file StateSet.h.

Callback* osg::StateSet::getEventCallback ( )
inline

Get the non const Event Callback.

Definition at line 451 of file StateSet.h.

const Callback* osg::StateSet::getEventCallback ( ) const
inline

Get the const Event Callback.

Definition at line 454 of file StateSet.h.

StateAttribute::GLModeValue osg::StateSet::getMode ( StateAttribute::GLMode  mode) const

Get the value for a given GLMode.

Parameters
modeThe GLMode whose value is desired.
Returns
If mode is contained within this StateSet, returns the value associated with it. Otherwise, returns StateAttribute::INHERIT.
Note
Don't use this method to get the value of modes related to textures. For this purpose, use removeTextureMode(), that accepts an extra parameter specifying which texture unit shall be affected by the call.
StateAttribute::GLModeValue osg::StateSet::getMode ( const ModeList modeList,
StateAttribute::GLMode  mode 
) const
protected
ModeList& osg::StateSet::getModeList ( )
inline

Return the list of all GLModes contained in this StateSet.

Definition at line 145 of file StateSet.h.

const ModeList& osg::StateSet::getModeList ( ) const
inline

Return the const list of all GLModes contained in this const StateSet.

Definition at line 150 of file StateSet.h.

bool osg::StateSet::getNestRenderBins ( ) const
inline

Get whether associated RenderBin should be nested within parents RenderBin.

Definition at line 409 of file StateSet.h.

Here is the caller graph for this function:

unsigned int osg::StateSet::getNumChildrenRequiringEventTraversal ( ) const
inline

Get the number of Objects of this StateSet which require Event traversal, since they have an Eevnt Callback attached to them or their children.

Definition at line 461 of file StateSet.h.

unsigned int osg::StateSet::getNumChildrenRequiringUpdateTraversal ( ) const
inline

Get the number of Objects of this StateSet which require Update traversal, since they have an Update Callback attached to them or their children.

Definition at line 441 of file StateSet.h.

unsigned int osg::StateSet::getNumParents ( ) const
inline

Get the number of parents of this StateSet.

Returns
the number of parents of this StateSet.

Definition at line 89 of file StateSet.h.

unsigned int osg::StateSet::getNumTextureAttributeLists ( ) const
inline

Return the number of texture units active in the TextureAttributeList.

Definition at line 260 of file StateSet.h.

unsigned int osg::StateSet::getNumTextureModeLists ( ) const
inline

Return the number texture units active in the TextureModeList.

Definition at line 223 of file StateSet.h.

AttributeList& osg::StateSet::getOrCreateTextureAttributeList ( unsigned int  unit)
inlineprotected

Definition at line 514 of file StateSet.h.

ModeList& osg::StateSet::getOrCreateTextureModeList ( unsigned int  unit)
inlineprotected

Definition at line 508 of file StateSet.h.

Uniform* osg::StateSet::getOrCreateUniform ( const std::string &  name,
Uniform::Type  type,
unsigned int  numElements = 1 
)

Get Uniform for specified name, if one is not available create it, add it to this StateSet and return a pointer to it.

Node* osg::StateSet::getParent ( unsigned int  i)
inline

Definition at line 77 of file StateSet.h.

const Node* osg::StateSet::getParent ( unsigned int  i) const
inline

Get a single const parent of this StateSet.

Parameters
iindex of the parent to get.
Returns
the parent i.

Definition at line 83 of file StateSet.h.

const ParentList& osg::StateSet::getParents ( ) const
inline

Get the parent list of this StateSet.

Definition at line 71 of file StateSet.h.

ParentList osg::StateSet::getParents ( )
inline

Get the a copy of parent list of node. A copy is returned to prevent modification of the parent list.

Definition at line 75 of file StateSet.h.

RenderBinMode osg::StateSet::getRenderBinMode ( ) const
inline

Get the render bin mode.

Definition at line 385 of file StateSet.h.

Here is the caller graph for this function:

int osg::StateSet::getRenderingHint ( ) const
inline

Get the RenderingHint of this StateSet.

Definition at line 361 of file StateSet.h.

StateAttribute* osg::StateSet::getTextureAttribute ( unsigned int  unit,
StateAttribute::Type  type 
)

Get specified Texture related StateAttribute for specified type. Returns NULL if no type is contained within StateSet.

Here is the caller graph for this function:

const StateAttribute* osg::StateSet::getTextureAttribute ( unsigned int  unit,
StateAttribute::Type  type 
) const

Get specified Texture related const StateAttribute for specified type. Returns NULL if no type is contained within const StateSet.

TextureAttributeList& osg::StateSet::getTextureAttributeList ( )
inline

Return the list of all Texture related StateAttributes contained in this StateSet.

Definition at line 254 of file StateSet.h.

const TextureAttributeList& osg::StateSet::getTextureAttributeList ( ) const
inline

Return the const list of all Texture related StateAttributes contained in this const StateSet.

Definition at line 257 of file StateSet.h.

const RefAttributePair* osg::StateSet::getTextureAttributePair ( unsigned int  unit,
StateAttribute::Type  type 
) const

Get specified Texture related RefAttributePair for specified type. Returns NULL if no type is contained within StateSet.

StateAttribute::GLModeValue osg::StateSet::getTextureMode ( unsigned int  unit,
StateAttribute::GLMode  mode 
) const

Get specified GLModeValue for specified GLMode. returns INHERIT if no GLModeValue is contained within StateSet.

TextureModeList& osg::StateSet::getTextureModeList ( )
inline

return the list of all Texture related GLModes contained in this StateSet.

Definition at line 217 of file StateSet.h.

const TextureModeList& osg::StateSet::getTextureModeList ( ) const
inline

return the const list of all Texture related GLModes contained in this const StateSet.

Definition at line 220 of file StateSet.h.

Uniform* osg::StateSet::getUniform ( const std::string &  name)

Get Uniform for specified name. Returns NULL if no matching Uniform is contained within StateSet.

const Uniform* osg::StateSet::getUniform ( const std::string &  name) const

Get const Uniform for specified name. Returns NULL if no matching Uniform is contained within StateSet.

UniformList& osg::StateSet::getUniformList ( )
inline

return the list of all Uniforms contained in this StateSet.

Definition at line 306 of file StateSet.h.

const UniformList& osg::StateSet::getUniformList ( ) const
inline

return the const list of all Uniforms contained in this const StateSet.

Definition at line 309 of file StateSet.h.

const RefUniformPair* osg::StateSet::getUniformPair ( const std::string &  name) const

Get specified RefUniformPair for specified Uniform name. Returns NULL if no Uniform is contained within StateSet.

Callback* osg::StateSet::getUpdateCallback ( )
inline

Get the non const Update Callback.

Definition at line 431 of file StateSet.h.

const Callback* osg::StateSet::getUpdateCallback ( ) const
inline

Get the const Update Callback.

Definition at line 434 of file StateSet.h.

virtual bool osg::StateSet::isSameKindAs ( const Object obj) const
inlinevirtual

Reimplemented from osg::Object.

Definition at line 55 of file StateSet.h.

virtual const char* osg::StateSet::libraryName ( ) const
inlinevirtual

return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.

Implements osg::Object.

Definition at line 56 of file StateSet.h.

void osg::StateSet::merge ( const StateSet rhs)

Merge this StateSet with the StateSet passed as parameter. Every mode and attribute in this StateSet that is marked with StateAttribute::OVERRIDE is replaced with the equivalent mode or attribute from rhs.

bool osg::StateSet::operator!= ( const StateSet rhs) const
inline

Definition at line 64 of file StateSet.h.

bool osg::StateSet::operator< ( const StateSet rhs) const
inline

Definition at line 62 of file StateSet.h.

StateSet& osg::StateSet::operator= ( const StateSet )
inlineprotected

Definition at line 488 of file StateSet.h.

bool osg::StateSet::operator== ( const StateSet rhs) const
inline

Definition at line 63 of file StateSet.h.

virtual void osg::StateSet::releaseGLObjects ( State state = 0) const
virtual

call release on all StateAttributes contained within this StateSet.

Reimplemented from osg::Object.

void osg::StateSet::removeAssociatedModes ( const StateAttribute attribute)
void osg::StateSet::removeAssociatedTextureModes ( unsigned int  unit,
const StateAttribute attribute 
)
void osg::StateSet::removeAttribute ( StateAttribute::Type  type,
unsigned int  member = 0 
)

remove attribute of specified type from StateSet.

void osg::StateSet::removeAttribute ( StateAttribute attribute)

remove attribute from StateSet.

void osg::StateSet::removeDefine ( const std::string &  defineName)

Remove define

void osg::StateSet::removeMode ( StateAttribute::GLMode  mode)

Remove mode from this StateSet.

Note
Don't use this method to remove modes related to textures. For this purpose, use removeTextureMode(), that accepts an extra parameter specifying which texture unit shall be affected by the call.
void osg::StateSet::removeParent ( osg::Node object)
protected
void osg::StateSet::removeTextureAttribute ( unsigned int  unit,
StateAttribute::Type  type 
)

remove texture attribute of specified type from StateSet.

void osg::StateSet::removeTextureAttribute ( unsigned int  unit,
StateAttribute attribute 
)

remove texture attribute from StateSet.

void osg::StateSet::removeTextureMode ( unsigned int  unit,
StateAttribute::GLMode  mode 
)

Remove texture mode from StateSet.

void osg::StateSet::removeUniform ( const std::string &  name)

remove uniform of specified name from StateSet.

void osg::StateSet::removeUniform ( Uniform uniform)

remove Uniform from StateSet.

bool osg::StateSet::requiresEventTraversal ( ) const
inline

Return whether this StateSet has event callbacks associated with it, and therefore must be traversed.

Definition at line 457 of file StateSet.h.

Here is the caller graph for this function:

bool osg::StateSet::requiresUpdateTraversal ( ) const
inline

Return whether this StateSet has update callbacks associated with it, and therefore must be traversed.

Definition at line 437 of file StateSet.h.

Here is the caller graph for this function:

virtual void osg::StateSet::resizeGLObjectBuffers ( unsigned int  maxSize)
virtual

Resize any per context GLObject buffers to specified size.

Reimplemented from osg::Object.

void osg::StateSet::runEventCallbacks ( osg::NodeVisitor nv)

Run the event callbacks attached directly to this StateSet or to its children.

Here is the caller graph for this function:

void osg::StateSet::runUpdateCallbacks ( osg::NodeVisitor nv)

Run the update callbacks attached directly to this StateSet or to its children.

Here is the caller graph for this function:

void osg::StateSet::setAssociatedModes ( const StateAttribute attribute,
StateAttribute::GLModeValue  value 
)
void osg::StateSet::setAssociatedTextureModes ( unsigned int  unit,
const StateAttribute attribute,
StateAttribute::GLModeValue  value 
)
void osg::StateSet::setAttribute ( StateAttribute attribute,
StateAttribute::OverrideValue  value = StateAttribute::OFF 
)

Set this StateSet to contain specified attribute and override flag.

void osg::StateSet::setAttribute ( AttributeList attributeList,
StateAttribute attribute,
const StateAttribute::OverrideValue  value = StateAttribute::OFF 
)
protected
void osg::StateSet::setAttributeAndModes ( StateAttribute attribute,
StateAttribute::GLModeValue  value = StateAttribute::ON 
)

Set this StateSet to contain specified attribute and set the associated GLMode's to specified value.

void osg::StateSet::setAttributeList ( AttributeList al)
inline

set the list of all StateAttributes contained in this StateSet.

Definition at line 185 of file StateSet.h.

void osg::StateSet::setBinName ( const std::string &  name)
inline

Set the render bin name.

Definition at line 394 of file StateSet.h.

void osg::StateSet::setBinNumber ( int  num)
inline

Set the render bin number.

Definition at line 388 of file StateSet.h.

void osg::StateSet::setDefine ( const std::string &  defineName,
StateAttribute::OverrideValue  value = StateAttribute::ON 
)

Added define pass on to shaders that use utilize that define, as specified by the GLSL #pragma import_defines(..) and #pragma requires(..).

void osg::StateSet::setDefine ( const std::string &  defineName,
const std::string &  defineValue,
StateAttribute::OverrideValue  value = StateAttribute::ON 
)

Added define with value to pass on to shaders that use utilize that define, as specified by the GLSL #pragma import_defines(..) and #pragma requires(..).

void osg::StateSet::setDefineList ( const DefineList dl)
inline

Set the list of defines to pass on to shaders.

Definition at line 330 of file StateSet.h.

void osg::StateSet::setEventCallback ( Callback ac)

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

void osg::StateSet::setGlobalDefaults ( )

Set all the modes to on or off so that it defines a complete state, typically used for a default global state.

void osg::StateSet::setMode ( StateAttribute::GLMode  mode,
StateAttribute::GLModeValue  value 
)

Set this StateSet to contain the specified GLMode with a given value.

Note
Don't use this method to set modes related to textures. For this purpose, use setTextureMode(), that accepts an extra parameter specifying which texture unit shall be affected by the call.

Here is the caller graph for this function:

void osg::StateSet::setMode ( ModeList modeList,
StateAttribute::GLMode  mode,
StateAttribute::GLModeValue  value 
)
protected
void osg::StateSet::setModeList ( ModeList ml)
inline

Set the list of all GLModes contained in this StateSet.

Definition at line 142 of file StateSet.h.

void osg::StateSet::setModeToInherit ( ModeList modeList,
StateAttribute::GLMode  mode 
)
protected
void osg::StateSet::setNestRenderBins ( bool  val)
inline

By default render bins will be nested within each other dependent upon where they are set in the scene graph. This can be problematic if a transparent render bin is attached to an opaque render bin which is attached to another transparent render bin as these render bins will be sorted separately, giving the wrong draw ordering for back-to-front transparency. Therefore, to prevent render bins being nested, call setNestRenderBins(false).

Definition at line 406 of file StateSet.h.

void osg::StateSet::setNumChildrenRequiringEventTraversal ( unsigned int  num)
protected
void osg::StateSet::setNumChildrenRequiringUpdateTraversal ( unsigned int  num)
protected
void osg::StateSet::setRenderBinDetails ( int  binNum,
const std::string &  binName,
RenderBinMode  mode = USE_RENDERBIN_DETAILS 
)

Set the render bin details.

void osg::StateSet::setRenderBinMode ( RenderBinMode  mode)
inline

Set the render bin mode.

Definition at line 382 of file StateSet.h.

void osg::StateSet::setRenderBinToInherit ( )

Set the render bin details to inherit.

void osg::StateSet::setRenderingHint ( int  hint)

Set the RenderingHint of this StateSet. RenderingHint is used by the renderer to determine which draw bin to drop associated osg::Drawables in. Typically, users will set this to either StateSet::OPAQUE_BIN or StateSet::TRANSPARENT_BIN. Drawables in the opaque bin are sorted by their StateSet, so that the number of expensive changes in the OpenGL state is minimized. Drawables in the transparent bin are sorted by depth, so that objects farther from the viewer are rendered first (and hence alpha blending works nicely for translucent objects).

void osg::StateSet::setTextureAttribute ( unsigned int  unit,
StateAttribute attribute,
StateAttribute::OverrideValue  value = StateAttribute::OFF 
)

Set this StateSet to contain specified attribute and override flag.

void osg::StateSet::setTextureAttributeAndModes ( unsigned int  unit,
StateAttribute attribute,
StateAttribute::GLModeValue  value = StateAttribute::ON 
)

Set this StateSet to contain specified attribute and set the associated GLMode's to specified value.

void osg::StateSet::setTextureAttributeList ( TextureAttributeList tal)
inline

Set the list of all Texture related StateAttributes contained in this StateSet.

Definition at line 251 of file StateSet.h.

void osg::StateSet::setTextureMode ( unsigned int  unit,
StateAttribute::GLMode  mode,
StateAttribute::GLModeValue  value 
)

Set this StateSet to contain specified GLMode with a given value.

Parameters
unitThe texture unit to be affected (used with multi-texturing).
modeThe OpenGL mode to be added to the StateSet.
valueThe value to be assigned to mode.
void osg::StateSet::setTextureModeList ( TextureModeList tml)
inline

set the list of all Texture related GLModes contained in this StateSet.

Definition at line 214 of file StateSet.h.

virtual void osg::StateSet::setThreadSafeRefUnref ( bool  threadSafe)
virtual

Set whether to use a mutex to ensure ref() and unref() are thread safe.

Reimplemented from osg::Object.

void osg::StateSet::setUniformList ( UniformList al)
inline

set the list of all Uniforms contained in this StateSet.

Definition at line 303 of file StateSet.h.

void osg::StateSet::setUpdateCallback ( Callback ac)

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

bool osg::StateSet::useRenderBinDetails ( ) const
inline

Get whether the render bin details are set and should be used.

Definition at line 379 of file StateSet.h.

Here is the caller graph for this function:

Friends And Related Function Documentation

friend class osg::Drawable
friend

Definition at line 495 of file StateSet.h.

friend class osg::Node
friend

Definition at line 494 of file StateSet.h.

friend class osg::StateAttribute
friend

Definition at line 497 of file StateSet.h.

friend class osg::Uniform
friend

Definition at line 496 of file StateSet.h.

Member Data Documentation

AttributeList osg::StateSet::_attributeList
protected

Definition at line 500 of file StateSet.h.

RenderBinMode osg::StateSet::_binMode
protected

Definition at line 536 of file StateSet.h.

std::string osg::StateSet::_binName
protected

Definition at line 538 of file StateSet.h.

int osg::StateSet::_binNum
protected

Definition at line 537 of file StateSet.h.

DefineList osg::StateSet::_defineList
protected

Definition at line 506 of file StateSet.h.

ref_ptr<Callback> osg::StateSet::_eventCallback
protected

Definition at line 545 of file StateSet.h.

ModeList osg::StateSet::_modeList
protected

Definition at line 499 of file StateSet.h.

bool osg::StateSet::_nestRenderBins
protected

Definition at line 539 of file StateSet.h.

unsigned int osg::StateSet::_numChildrenRequiringEventTraversal
protected

Definition at line 546 of file StateSet.h.

unsigned int osg::StateSet::_numChildrenRequiringUpdateTraversal
protected

Definition at line 542 of file StateSet.h.

ParentList osg::StateSet::_parents
protected

Definition at line 493 of file StateSet.h.

int osg::StateSet::_renderingHint
protected

Definition at line 534 of file StateSet.h.

TextureAttributeList osg::StateSet::_textureAttributeList
protected

Definition at line 503 of file StateSet.h.

TextureModeList osg::StateSet::_textureModeList
protected

Definition at line 502 of file StateSet.h.

UniformList osg::StateSet::_uniformList
protected

Definition at line 505 of file StateSet.h.

ref_ptr<Callback> osg::StateSet::_updateCallback
protected

Definition at line 541 of file StateSet.h.


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