<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>OpenSceneGraph: osg::BarrierOperation Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">OpenSceneGraph <span id="projectnumber">2.8.4</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a01628.html">osg</a> </li> <li class="navelem"><a class="el" href="a00050.html">BarrierOperation</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> </div> <div class="headertitle"> <div class="title">osg::BarrierOperation Struct Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="osg::BarrierOperation" --><!-- doxytag: inherits="osg::Operation" --> <p><a class="el" href="a00050.html" title="BarrierOperation allows one to synchronize multiple GraphicsThreads with each other.">BarrierOperation</a> allows one to synchronize multiple GraphicsThreads with each other. <a href="a00050.html#details">More...</a></p> <div class="dynheader"> Inheritance diagram for osg::BarrierOperation:</div> <div class="dyncontent"> <div class="center"><img src="a01833.png" border="0" usemap="#osg_1_1BarrierOperation_inherit__map" alt="Inheritance graph"/></div> <map name="osg_1_1BarrierOperation_inherit__map" id="osg_1_1BarrierOperation_inherit__map"> <area shape="rect" id="node2" href="a00513.html" title="Base class for implementing graphics operations." alt="" coords="27,83,149,112"/><area shape="rect" id="node4" href="a00627.html" title="Base class from providing referencing counted objects." alt="" coords="21,5,155,35"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a01834.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a1936f398e18fb059247d2f8161380af7">PreBlockOp</a> { <a class="el" href="a00050.html#a1936f398e18fb059247d2f8161380af7aca7063f23f409fd83c35c015da500d65">NO_OPERATION</a>, <a class="el" href="a00050.html#a1936f398e18fb059247d2f8161380af7ad03385d7ec883aecd0521ca897bf1e0a">GL_FLUSH</a>, <a class="el" href="a00050.html#a1936f398e18fb059247d2f8161380af7a5869cbd3f4d8b13aa19cffe7cc7d992a">GL_FINISH</a> }</td></tr> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a2ae81cf532b5cd695ae50f2f597d3654">BarrierOperation</a> (int numThreads, <a class="el" href="a00050.html#a1936f398e18fb059247d2f8161380af7">PreBlockOp</a> op=NO_OPERATION, bool keep=true)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a3a8431c3b46354169a988cc1c6a2b71d">release</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">if this operation is a barrier then release it. <a href="#a3a8431c3b46354169a988cc1c6a2b71d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#ae6c75dc87fdb595261e87fdfe441edd8">operator()</a> (<a class="el" href="a00500.html">Object</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Do the actual task of this operation. <a href="#ae6c75dc87fdb595261e87fdfe441edd8"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00050.html#a1936f398e18fb059247d2f8161380af7">PreBlockOp</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#abda36d5a2374c0287bc221a34daaf47d">_preBlockOp</a></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p><a class="el" href="a00050.html" title="BarrierOperation allows one to synchronize multiple GraphicsThreads with each other.">BarrierOperation</a> allows one to synchronize multiple GraphicsThreads with each other. </p> </div><hr/><h2>Member Enumeration Documentation</h2> <a class="anchor" id="a1936f398e18fb059247d2f8161380af7"></a><!-- doxytag: member="osg::BarrierOperation::PreBlockOp" ref="a1936f398e18fb059247d2f8161380af7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="a00050.html#a1936f398e18fb059247d2f8161380af7">osg::BarrierOperation::PreBlockOp</a></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="a1936f398e18fb059247d2f8161380af7aca7063f23f409fd83c35c015da500d65"></a><!-- doxytag: member="NO_OPERATION" ref="a1936f398e18fb059247d2f8161380af7aca7063f23f409fd83c35c015da500d65" args="" -->NO_OPERATION</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a1936f398e18fb059247d2f8161380af7ad03385d7ec883aecd0521ca897bf1e0a"></a><!-- doxytag: member="GL_FLUSH" ref="a1936f398e18fb059247d2f8161380af7ad03385d7ec883aecd0521ca897bf1e0a" args="" -->GL_FLUSH</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a1936f398e18fb059247d2f8161380af7a5869cbd3f4d8b13aa19cffe7cc7d992a"></a><!-- doxytag: member="GL_FINISH" ref="a1936f398e18fb059247d2f8161380af7a5869cbd3f4d8b13aa19cffe7cc7d992a" args="" -->GL_FINISH</em> </td><td> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a2ae81cf532b5cd695ae50f2f597d3654"></a><!-- doxytag: member="osg::BarrierOperation::BarrierOperation" ref="a2ae81cf532b5cd695ae50f2f597d3654" args="(int numThreads, PreBlockOp op=NO_OPERATION, bool keep=true)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osg::BarrierOperation::BarrierOperation </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>numThreads</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00050.html#a1936f398e18fb059247d2f8161380af7">PreBlockOp</a> </td> <td class="paramname"><em>op</em> = <code>NO_OPERATION</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>keep</em> = <code>true</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ae6c75dc87fdb595261e87fdfe441edd8"></a><!-- doxytag: member="osg::BarrierOperation::operator()" ref="ae6c75dc87fdb595261e87fdfe441edd8" args="(Object *object)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void osg::BarrierOperation::operator() </td> <td>(</td> <td class="paramtype"><a class="el" href="a00500.html">Object</a> * </td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Do the actual task of this operation. </p> <p>Implements <a class="el" href="a00513.html#a0fba9f808c170a448bacdceafc781c34">osg::Operation</a>.</p> </div> </div> <a class="anchor" id="a3a8431c3b46354169a988cc1c6a2b71d"></a><!-- doxytag: member="osg::BarrierOperation::release" ref="a3a8431c3b46354169a988cc1c6a2b71d" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void osg::BarrierOperation::release </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>if this operation is a barrier then release it. </p> <p>Reimplemented from <a class="el" href="a00513.html#aa4926c9218b27e0f759054e9b3e77f78">osg::Operation</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="abda36d5a2374c0287bc221a34daaf47d"></a><!-- doxytag: member="osg::BarrierOperation::_preBlockOp" ref="abda36d5a2374c0287bc221a34daaf47d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00050.html#a1936f398e18fb059247d2f8161380af7">PreBlockOp</a> <a class="el" href="a00050.html#abda36d5a2374c0287bc221a34daaf47d">osg::BarrierOperation::_preBlockOp</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li>osg/<a class="el" href="a01187.html">GraphicsThread</a></li> </ul> </div> <hr> <table border="0"><tr><td> <img src="osg32-32.png" alt="osg logo" /> </td><td> <address><small>Generated at Tue May 31 2011 04:19:33 for the <a href="http://www.openscenegraph.org/">OpenSceneGraph</a> by <a href="http://www.doxygen.org">doxygen</a> 1.7.4.</small></address> <!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph --> </td></tr></table> </body> </html>