State class for managing a state stack.
Inheritance:
Public Methods
-
State()
-
virtual ~State()
-
void pushStateSet(const StateSet* dstate)
- push stateset onto state stack
-
void popStateSet()
- pop drawstate off state stack
-
void captureCurrentState(StateSet& stateset) const
- copy the modes and attributes which captures the current state
-
void reset()
- reset the state object to an empty stack
-
inline const bool applyMode(const StateAttribute::GLMode mode, const bool enabled)
- apply an OpenGL mode if required.
-
inline const bool applyAttribute(const StateAttribute* attribute)
- apply an attribute if required.
-
inline void applyProjectionMatrix(const osg::Matrix* matrix)
-
const osg::Matrix& getProjectionMatrix() const
-
inline void applyModelViewMatrix(const osg::Matrix* matrix)
-
const osg::Matrix& getModelViewMatrix() const
-
ClippingVolume getClippingVolume() const
-
void apply(const StateSet* dstate)
- apply stateset
-
void apply()
- apply the state
-
void haveAppliedMode(const StateAttribute::GLMode mode, const StateAttribute::GLModeValue value)
- mode has been set externally, update state to reflect this setting
-
void haveAppliedMode(const StateAttribute::GLMode mode)
- mode has been set externally, therefore dirty the associated mode in osg::State so it is applied on next call to osg::State::apply()
-
void haveAppliedAttribute(const StateAttribute* attribute)
- attribute has been applied externally, update state to reflect this setting
-
void haveAppliedAttribute(const StateAttribute::Type type)
- attribute has been applied externally, and therefore this attribute type has been dirtied and will need to be re-appplied on next osg::Stateapply().
-
inline void setContextID(unsigned int contextID)
- Set the current OpenGL context uniqueID.
-
inline const unsigned int getContextID() const
- Get the current OpenGL context unique ID
-
inline void setFrameStamp(FrameStamp* fs)
- Set the frame stamp for the current frame
-
inline const FrameStamp* getFrameStamp() const
- Set the frame stamp for the current frame
-
inline void setDisplaySettings(DisplaySettings* vs)
- Set the DisplaySettings.
-
inline const DisplaySettings* getDisplaySettings() const
- Get the DisplaySettings
Public Methods
-
inline Referenced& operator = (Referenced&)
-
inline void ref() const
-
inline void unref() const
-
inline void unref_nodelete() const
-
inline const int referenceCount() const
Protected Fields
-
mutable int _refCount
Documentation
State class for managing a state stack.
Lazy state updating is used to minimize state changes.
State()
virtual ~State()
void pushStateSet(const StateSet* dstate)
- push stateset onto state stack
void popStateSet()
- pop drawstate off state stack
void captureCurrentState(StateSet& stateset) const
- copy the modes and attributes which captures the current state
void reset()
- reset the state object to an empty stack
inline const bool applyMode(const StateAttribute::GLMode mode, const bool enabled)
- apply an OpenGL mode if required.
inline const bool applyAttribute(const StateAttribute* attribute)
- apply an attribute if required.
inline void applyProjectionMatrix(const osg::Matrix* matrix)
const osg::Matrix& getProjectionMatrix() const
inline void applyModelViewMatrix(const osg::Matrix* matrix)
const osg::Matrix& getModelViewMatrix() const
ClippingVolume getClippingVolume() const
void apply(const StateSet* dstate)
- apply stateset
void apply()
- apply the state
void haveAppliedMode(const StateAttribute::GLMode mode, const StateAttribute::GLModeValue value)
- mode has been set externally, update state to reflect this setting
void haveAppliedMode(const StateAttribute::GLMode mode)
- mode has been set externally, therefore dirty the associated mode in osg::State
so it is applied on next call to osg::State::apply()
void haveAppliedAttribute(const StateAttribute* attribute)
- attribute has been applied externally, update state to reflect this setting
void haveAppliedAttribute(const StateAttribute::Type type)
- attribute has been applied externally,
and therefore this attribute type has been dirtied
and will need to be re-appplied on next osg::Stateapply().
note, if you have an osg::StateAttribute which you have applied externally
then use the have_applied(attribute) method as this will the osg::State to
track the current state more accuratly and enable lazy state updating such
that only changed state will be applied.
inline void setContextID(unsigned int contextID)
- Set the current OpenGL context uniqueID.
Note, it is the application developers responsibility to
set up unique ID for each OpenGL context. This value is
then used by osg::StateAttribure's and osg::Drawable's to
help manage OpenGL display list and texture binds appropriate
for each context.
inline const unsigned int getContextID() const
- Get the current OpenGL context unique ID
inline void setFrameStamp(FrameStamp* fs)
- Set the frame stamp for the current frame
inline const FrameStamp* getFrameStamp() const
- Set the frame stamp for the current frame
inline void setDisplaySettings(DisplaySettings* vs)
- Set the DisplaySettings. Note, nothing is applied, the visual settings are just used
used in the State object to pass the current visual settings to Drawables
during rendering.
inline const DisplaySettings* getDisplaySettings() const
- Get the DisplaySettings
ModeStack()
bool changed
bool last_applied_value
bool global_default_value
ValueVec valueVec
AttributeStack()
bool changed
- apply an attribute if required, passing in attribute and appropriate attribute stack
const StateAttribute* last_applied_attribute
ref_ptr<StateAttribute> global_default_attribute
AttributeVec attributeVec
- This class has no child classes.
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.