OpenSceneGraph/doc/doc++/osg/State.html

254 lines
11 KiB
HTML
Raw Normal View History

2001-09-20 05:19:47 +08:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::State</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::State</A></H2></H2><BLOCKQUOTE>State class for managing a state stack.</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
<param name=classes value="CReferenced,MReferenced.html,CState,MState.html">
<param name=before value="M,M">
<param name=after value="Md_,M">
<param name=indent value="0,1">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.76.1">State</A></B>()
2001-09-20 05:19:47 +08:00
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.76.2">~State</A></B>()
2001-09-20 05:19:47 +08:00
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.76.3">pushStateSet</A></B>(const <!1><A HREF="StateSet.html">StateSet</A>* dstate)
2001-09-20 05:19:47 +08:00
<DD><I>push stateset onto state stack</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.76.4">popStateSet</A></B>()
2001-09-20 05:19:47 +08:00
<DD><I>pop drawstate off state stack</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.76.5">reset</A></B>()
2001-09-20 05:19:47 +08:00
<DD><I>reset the state object to an empty stack</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const bool <B><A HREF="#DOC.2.76.6">apply_mode</A></B>(const StateAttribute::GLMode mode, const bool enabled)
2001-09-20 05:19:47 +08:00
<DD><I>apply an OpenGL mode if required.</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const bool <B><A HREF="#DOC.2.76.7">apply_attribute</A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>* attribute)
2001-09-20 05:19:47 +08:00
<DD><I>apply an attribute if required.</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.76.8">apply</A></B>(const <!1><A HREF="StateSet.html">StateSet</A>* dstate)
2001-09-20 05:19:47 +08:00
<DD><I>apply stateset</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.76.9">apply</A></B>()
2001-09-20 05:19:47 +08:00
<DD><I>apply the state</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.76.10">have_applied</A></B>(const StateAttribute::GLMode mode, const StateAttribute::GLModeValue value)
2001-09-20 05:19:47 +08:00
<DD><I>mode has been set externally, update state to reflect this setting</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.76.11">have_applied</A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>* attribute)
2001-09-20 05:19:47 +08:00
<DD><I>attribute has been applied externally, update state to reflect this setting</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.76.12">setContextID</A></B>(unsigned int contextID)
2001-09-20 05:19:47 +08:00
<DD><I>Set the current OpenGL context uniqueID.</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const unsigned int <B><A HREF="#DOC.2.76.13">getContextID</A></B>() const
2001-09-20 05:19:47 +08:00
<DD><I>Get the current OpenGL context unique ID</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.76.14">setFrameStamp</A></B>(<!1><A HREF="FrameStamp.html">FrameStamp</A>* fs)
<DD><I>Set the frame stamp for the current frame</I>
2001-09-20 05:19:47 +08:00
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="FrameStamp.html">FrameStamp</A>* <B><A HREF="#DOC.2.76.15">getFrameStamp</A></B>() const
<DD><I>Set the frame stamp for the current frame</I>
2001-09-20 05:19:47 +08:00
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.76.16">setCamera</A></B>(<!1><A HREF="Camera.html">Camera</A>* camera)
<DD><I>Set the camera.</I>
2001-09-20 05:19:47 +08:00
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Camera.html">Camera</A>* <B><A HREF="#DOC.2.76.17">getCamera</A></B>() const
<DD><I>Get the camera </I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.76.18">setFineGrainedErrorDetection</A></B>(const bool flag)
2001-09-20 05:19:47 +08:00
<DD><I>Set the hint to OpenGL routines to do fine grained OpenGL error checking</I>
<DT>
2001-09-22 10:42:08 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const bool <B><A HREF="#DOC.2.76.19">getFineGrainedErrorDetection</A></B>() const
2001-09-20 05:19:47 +08:00
<DD><I>Get the hint to OpenGL routines to do fine grained OpenGL error checking</I>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Referenced.html">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>ref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const int <B>referenceCount</B>() const
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>State class for managing a state stack.
Lazy state updating is used to minize state changes.</BLOCKQUOTE>
<DL>
<A NAME="State"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.1"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> State()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="~State"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.2"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~State()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="pushStateSet"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.3"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void pushStateSet(const <!1><A HREF="StateSet.html">StateSet</A>* dstate)</B></TT>
<DD>push stateset onto state stack
<DL><DT><DD></DL><P>
<A NAME="popStateSet"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.4"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void popStateSet()</B></TT>
<DD>pop drawstate off state stack
<DL><DT><DD></DL><P>
<A NAME="reset"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.5"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void reset()</B></TT>
<DD>reset the state object to an empty stack
<DL><DT><DD></DL><P>
<A NAME="apply_mode"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.6"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const bool apply_mode(const StateAttribute::GLMode mode, const bool enabled)</B></TT>
<DD>apply an OpenGL mode if required.
<DL><DT><DD></DL><P>
<A NAME="apply_attribute"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.7"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const bool apply_attribute(const <!1><A HREF="StateAttribute.html">StateAttribute</A>* attribute)</B></TT>
<DD>apply an attribute if required.
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.8"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply(const <!1><A HREF="StateSet.html">StateSet</A>* dstate)</B></TT>
<DD>apply stateset
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.9"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply()</B></TT>
<DD>apply the state
<DL><DT><DD></DL><P>
<A NAME="have_applied"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.10"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void have_applied(const StateAttribute::GLMode mode, const StateAttribute::GLModeValue value)</B></TT>
<DD>mode has been set externally, update state to reflect this setting
<DL><DT><DD></DL><P>
<A NAME="have_applied"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.11"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void have_applied(const <!1><A HREF="StateAttribute.html">StateAttribute</A>* attribute)</B></TT>
<DD>attribute has been applied externally, update state to reflect this setting
<DL><DT><DD></DL><P>
<A NAME="setContextID"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.12"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setContextID(unsigned int contextID)</B></TT>
<DD>Set the current OpenGL context uniqueID.
Note, it is the application developers responsiblity 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.
<DL><DT><DD></DL><P>
<A NAME="getContextID"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.13"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const unsigned int getContextID() const </B></TT>
<DD>Get the current OpenGL context unique ID
<DL><DT><DD></DL><P>
2001-09-22 10:42:08 +08:00
<A NAME="setFrameStamp"></A>
<A NAME="DOC.2.76.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setFrameStamp(<!1><A HREF="FrameStamp.html">FrameStamp</A>* fs)</B></TT>
<DD>Set the frame stamp for the current frame
<DL><DT><DD></DL><P>
<A NAME="getFrameStamp"></A>
<A NAME="DOC.2.76.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="FrameStamp.html">FrameStamp</A>* getFrameStamp() const </B></TT>
<DD>Set the frame stamp for the current frame
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
2001-09-22 10:42:08 +08:00
<A NAME="setCamera"></A>
<A NAME="DOC.2.76.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setCamera(<!1><A HREF="Camera.html">Camera</A>* camera)</B></TT>
<DD>Set the camera. Note, nothing is applied, the camera is just used
used in the State object to pass the current camera to Drawables
during rendering.
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
2001-09-22 10:42:08 +08:00
<A NAME="getCamera"></A>
<A NAME="DOC.2.76.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Camera.html">Camera</A>* getCamera() const </B></TT>
<DD>Get the camera
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="setFineGrainedErrorDetection"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.18"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFineGrainedErrorDetection(const bool flag)</B></TT>
<DD>Set the hint to OpenGL routines to do fine grained OpenGL error checking
<DL><DT><DD></DL><P>
<A NAME="getFineGrainedErrorDetection"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.19"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const bool getFineGrainedErrorDetection() const </B></TT>
<DD>Get the hint to OpenGL routines to do fine grained OpenGL error checking
<DL><DT><DD></DL><P><DL>
<A NAME="ModeStack"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.23.1"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ModeStack()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="changed"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.23.2"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool changed</B></TT>
<DL><DT><DD></DL><P>
<A NAME="last_applied_value"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.23.3"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool last_applied_value</B></TT>
<DL><DT><DD></DL><P>
<A NAME="valueVec"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.23.4"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ValueVec valueVec</B></TT>
<DL><DT><DD></DL><P></DL>
<DL>
<A NAME="AttributeStack"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.24.1"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> AttributeStack()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="changed"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.24.2"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool changed</B></TT>
<DL><DT><DD></DL><P>
<A NAME="last_applied_attribute"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.24.3"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="StateAttribute.html">StateAttribute</A>* last_applied_attribute</B></TT>
<DL><DT><DD></DL><P>
<A NAME="attributeVec"></A>
2001-09-22 10:42:08 +08:00
<A NAME="DOC.2.76.24.4"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>AttributeVec attributeVec</B></TT>
<DL><DT><DD></DL><P></DL>
</DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>