Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > aa937981cccb78f06312e3cc380fe202 > files > 1637

OpenSceneGraph-devel-2.8.3-3.fc14.x86_64.rpm

<!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: osgViewer::ViewerBase Class 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.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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 class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><a class="el" href="a01641.html">osgViewer</a>      </li>
      <li><a class="el" href="a01095.html">osgViewer::ViewerBase</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<h1>osgViewer::ViewerBase Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="osgViewer::ViewerBase" --><!-- doxytag: inherits="osg::Object" -->
<p><a class="el" href="a01095.html" title="ViewerBase is the view base class that is inherited by both Viewer and CompositeViewer.">ViewerBase</a> is the view base class that is inherited by both <a class="el" href="a01094.html" title="Viewer holds a single view on to a single scene.">Viewer</a> and <a class="el" href="a00130.html" title="CompsiteViewer holds a or more views to a one more scenes.">CompositeViewer</a>.  
<a href="#_details">More...</a></p>
<div class="dynheader">
Inheritance diagram for osgViewer::ViewerBase:</div>
<div class="dyncontent">
<div class="center"><img src="a03758.png" border="0" usemap="#osgViewer_1_1ViewerBase_inherit__map" alt="Inheritance graph"/></div>
<map name="osgViewer_1_1ViewerBase_inherit__map" id="osgViewer_1_1ViewerBase_inherit__map">
<area shape="rect" id="node7" href="a00130.html" title="CompsiteViewer holds a or more views to a one more scenes." alt="" coords="5,237,200,267"/><area shape="rect" id="node9" href="a01094.html" title="Viewer holds a single view on to a single scene." alt="" coords="224,237,355,267"/><area shape="rect" id="node2" href="a00500.html" title="Base class/standard interface for objects which require IO support, cloning and reference counting..." alt="" coords="152,83,240,112"/><area shape="rect" id="node4" href="a00627.html" title="Base class from providing referencing counted objects." alt="" coords="137,5,255,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a03759.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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413c">ThreadingModel</a> { <br/>
&nbsp;&nbsp;<a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413ca95ab8bb04e7bc461f99e0a2c8f14087f">SingleThreaded</a>, 
<a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413ca856af56645e8534ca94b04655af5d1cd">CullDrawThreadPerContext</a>, 
<a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413cabddbcc4fbe468a82d956d89857eb4c4f">ThreadPerContext</a> =  CullDrawThreadPerContext, 
<a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413cadbe1f8c7d635ba865f04aeb3fafdee81">DrawThreadPerContext</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413ca66d695f1dc103d316ff5aba6395cf532">CullThreadPerCameraDrawThreadPerContext</a>, 
<a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413ca97a6769e4275e9cd94840114af6236c6">ThreadPerCamera</a> =  CullThreadPerCameraDrawThreadPerContext, 
<a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413ca4792422f7127b0e229631de6a67a2041">AutomaticSelection</a>
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a55fad389753b334fc76bd4937be3cd9b">BarrierPosition</a> { <a class="el" href="a01095.html#a55fad389753b334fc76bd4937be3cd9ba7e3a47ba8f557e79c330744933ab47bf">BeforeSwapBuffers</a>, 
<a class="el" href="a01095.html#a55fad389753b334fc76bd4937be3cd9ba282975e11648d7b7d12f286b7bb18286">AfterSwapBuffers</a>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
&lt; <a class="el" href="a00087.html">osg::Camera</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a897bb10948c53b1481da8396eaeeed3f">Cameras</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
&lt; <a class="el" href="a00328.html">osg::GraphicsContext</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#aa7b7be63f44aa537b1a152f538b82d40">Contexts</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
&lt; <a class="el" href="a00332.html">osgViewer::GraphicsWindow</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#aecc0d343ce48d6afd26681e2acb7c864">Windows</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
&lt; OpenThreads::Thread * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a30fea380a3d50e3beca3c37d29e393eb">Threads</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
&lt; <a class="el" href="a00516.html">osg::OperationThread</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a5d0baf4d2aa82942a6d3d9dceca18321">OperationThreads</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
&lt; <a class="el" href="a00683.html">osgViewer::Scene</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#ac0e94764086af00defd7cc6829ab0098">Scenes</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
&lt; <a class="el" href="a01084.html">osgViewer::View</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a74debd0b3a4e3bbb29f0a515eb066447">Views</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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a68c25ab193c69861fbbb0e0683731f3e">ViewerBase</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#abe440e8bc44e8808b4db9d1b98295898">ViewerBase</a> (const <a class="el" href="a01095.html">ViewerBase</a> &amp;vb)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a41d45ce7f91c544f03242fbf5348f180">setViewerStats</a> (<a class="el" href="a00820.html">osg::Stats</a> *stats)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the Stats object used for collect various frame related timing and scene graph stats.  <a href="#a41d45ce7f91c544f03242fbf5348f180"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00820.html">osg::Stats</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#af6b3deee1338a09b49acc0b652ea3d39">getViewerStats</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Viewers Stats object.  <a href="#af6b3deee1338a09b49acc0b652ea3d39"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00820.html">osg::Stats</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#acc36e0fa1f13c32d79c9c5c5c9804b52">getViewerStats</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Viewers Stats object.  <a href="#acc36e0fa1f13c32d79c9c5c5c9804b52"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a15d224aa71dc4e53a46e24357aad5310">readConfiguration</a> (const std::string &amp;filename)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read the viewer configuration from a configuration file.  <a href="#a15d224aa71dc4e53a46e24357aad5310"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a1f6f79265ca0da8cb6964ecd3281809c">isRealized</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get whether at least of one of this viewers windows are realized.  <a href="#a1f6f79265ca0da8cb6964ecd3281809c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a7040840ca9593d5a6b7d8e87697019a6">realize</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set up windows and associated threads.  <a href="#a7040840ca9593d5a6b7d8e87697019a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a9e4ea46ca6e9c8b5fa229a280f8ad425">setThreadingModel</a> (<a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413c">ThreadingModel</a> threadingModel)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the threading model the rendering traversals will use.  <a href="#a9e4ea46ca6e9c8b5fa229a280f8ad425"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413c">ThreadingModel</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#abc760bdb1b84491e2f9207bf2adca800">getThreadingModel</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the threading model the rendering traversals will use.  <a href="#abc760bdb1b84491e2f9207bf2adca800"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413c">ThreadingModel</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a54fc0145550e96258e4f41f95ac3e923">suggestBestThreadingModel</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Let the viewer suggest the best threading model for the viewers camera/window setup and the hardware available.  <a href="#a54fc0145550e96258e4f41f95ac3e923"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a9927e893487273d46b01e2a9b51b4af3">setUpThreading</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up the threading and processor affinity as per the viewers threading model.  <a href="#a9927e893487273d46b01e2a9b51b4af3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a8fe8129f87aa630dfd744a1c6d103f81">areThreadsRunning</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if viewer threads are running.  <a href="#a8fe8129f87aa630dfd744a1c6d103f81"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a47aff3c6f267d090c13b073efb714f3e">stopThreading</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop any threads begin run by viewer.  <a href="#a47aff3c6f267d090c13b073efb714f3e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a08690cea6a03c4e1c3a2af069cfe2a88">startThreading</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start any threads required by the viewer.  <a href="#a08690cea6a03c4e1c3a2af069cfe2a88"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a896d1a7f3682b9c66df671b47b38559f">setEndBarrierPosition</a> (<a class="el" href="a01095.html#a55fad389753b334fc76bd4937be3cd9b">BarrierPosition</a> bp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the position of the end barrier.  <a href="#a896d1a7f3682b9c66df671b47b38559f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01095.html#a55fad389753b334fc76bd4937be3cd9b">BarrierPosition</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a76147cd84e2242aa1208d2005a816f56">getEndBarrierPosition</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the end barrier position.  <a href="#a76147cd84e2242aa1208d2005a816f56"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a1cf10c185577dc343cda2f3041d7f9bc">setDone</a> (bool done)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the done flag to signal the viewer's work is done and should exit the frame loop.  <a href="#a1cf10c185577dc343cda2f3041d7f9bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a34bc48c020f1cb5b55b9970807a7a4b8">done</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if viewer's work is done and should exit the frame loop.  <a href="#a34bc48c020f1cb5b55b9970807a7a4b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#af9fe1923c02e5331cd7ef627b0cc1427">setEventVisitor</a> (<a class="el" href="a00258.html">osgGA::EventVisitor</a> *eventVisitor)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the EventVisitor.  <a href="#af9fe1923c02e5331cd7ef627b0cc1427"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00258.html">osgGA::EventVisitor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a29d305fc47ae06290b8cb342ff5b50f0">getEventVisitor</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the EventVisitor.  <a href="#a29d305fc47ae06290b8cb342ff5b50f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00258.html">osgGA::EventVisitor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a9dff29ffde5426940c2f0389944c3195">getEventVisitor</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the const EventVisitor.  <a href="#a9dff29ffde5426940c2f0389944c3195"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#ac254941e7e147aa355d20c39649ac21c">setKeyEventSetsDone</a> (int key)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the key event that the viewer checks on each frame to see if the viewer's done flag should be set to signal end of viewers main loop.  <a href="#ac254941e7e147aa355d20c39649ac21c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#afa81c8288bed0b8da8178c628b770ff6">getKeyEventSetsDone</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the key event that the viewer checks on each frame to see if the viewer's done flag.  <a href="#afa81c8288bed0b8da8178c628b770ff6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a579b55876c0b57069c0ad44ec783e98e">setQuitEventSetsDone</a> (bool flag)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if the flag is true, the viewer set its done flag when a QUIT_APPLICATION is received, false disables this feature  <a href="#a579b55876c0b57069c0ad44ec783e98e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#ac03d794c8ade5a98b2fc3c6f72be7a58">getQuitEventSetsDone</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a8c009a3af5a9859a0e0ae057561be073">setReleaseContextAtEndOfFrameHint</a> (bool hint)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hint to tell the <a class="el" href="a01095.html#a7cca8b8a7484002ad8bfc1f115f00a2a">renderingTraversals()</a> method whether to call relaseContext() on the last context that was made current by the thread calling renderingTraverals().  <a href="#a8c009a3af5a9859a0e0ae057561be073"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a78145bbe692fae73afbde8e586276e68">getReleaseContextAtEndOfFrameHint</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hint to tell the <a class="el" href="a01095.html#a7cca8b8a7484002ad8bfc1f115f00a2a">renderingTraversals()</a> method whether to call relaseContext().  <a href="#a78145bbe692fae73afbde8e586276e68"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#afb8734f84d93e28ab88506014ad2df3d">setUpdateVisitor</a> (<a class="el" href="a01050.html">osgUtil::UpdateVisitor</a> *updateVisitor)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the UpdateVisitor.  <a href="#afb8734f84d93e28ab88506014ad2df3d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01050.html">osgUtil::UpdateVisitor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#addd234c89106a3556f98ea12c75e4c96">getUpdateVisitor</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the UpdateVisitor.  <a href="#addd234c89106a3556f98ea12c75e4c96"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01050.html">osgUtil::UpdateVisitor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a983226f8400a6ee7c81a3f7f4965813c">getUpdateVisitor</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the const UpdateVisitor.  <a href="#a983226f8400a6ee7c81a3f7f4965813c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a265175ec352f81b41c6aeb226955ef55">setUpdateOperations</a> (<a class="el" href="a00515.html">osg::OperationQueue</a> *operations)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the Update OperationQueue.  <a href="#a265175ec352f81b41c6aeb226955ef55"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00515.html">osg::OperationQueue</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#ae0c81ff2822d7a73727ad25eea59edc5">getUpdateOperations</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Update OperationQueue.  <a href="#ae0c81ff2822d7a73727ad25eea59edc5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00515.html">osg::OperationQueue</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a705397a82aea4e9597f7ee1134d08dce">getUpdateOperations</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the const Update OperationQueue.  <a href="#a705397a82aea4e9597f7ee1134d08dce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a6bf0912f7df9ef0ac95531463cff0ec1">addUpdateOperation</a> (<a class="el" href="a00513.html">osg::Operation</a> *operation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an update operation.  <a href="#a6bf0912f7df9ef0ac95531463cff0ec1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#acd7f4a517ee109d1e2d4f89f11591f10">removeUpdateOperation</a> (<a class="el" href="a00513.html">osg::Operation</a> *operation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove an update operation.  <a href="#acd7f4a517ee109d1e2d4f89f11591f10"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a5154dbebf5dc57d73b4c1b7c4716e771">setRealizeOperation</a> (<a class="el" href="a00513.html">osg::Operation</a> *op)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the graphics operation to call on realization of the viewers graphics windows.  <a href="#a5154dbebf5dc57d73b4c1b7c4716e771"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00513.html">osg::Operation</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#af232d8d713837cee89fa894c2b7eef5b">getRealizeOperation</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the graphics operation to call on realization of the viewers graphics windows.  <a href="#af232d8d713837cee89fa894c2b7eef5b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a2f5fdbfae6b70fcc495e27a002a88aee">checkWindowStatus</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check to see if windows are still open, if not set viewer done to true.  <a href="#a2f5fdbfae6b70fcc495e27a002a88aee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a26bab16a8e8df8d607708f48dd73ea66">run</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute a main frame loop.  <a href="#a26bab16a8e8df8d607708f48dd73ea66"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a7ceaba5e59f46b34c97fba9337c52bf5">frame</a> (double simulationTime=USE_REFERENCE_TIME)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Render a complete new frame.  <a href="#a7ceaba5e59f46b34c97fba9337c52bf5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#af2361f90b103d5d1bac364e49380414d">advance</a> (double simulationTime=USE_REFERENCE_TIME)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a74375b260ed0d8b9b627e61c0b57b313">eventTraversal</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a493963f262f99c4682b8489362fc0bec">updateTraversal</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a7cca8b8a7484002ad8bfc1f115f00a2a">renderingTraversals</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a1cf9e5e9191ed4c24b32ab4b72821ad7">getCameras</a> (<a class="el" href="a01095.html#a897bb10948c53b1481da8396eaeeed3f">Cameras</a> &amp;cameras, bool onlyActive=true)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#ad69b47d4f2edb8c6598ff55f5cd999ab">getContexts</a> (<a class="el" href="a01095.html#aa7b7be63f44aa537b1a152f538b82d40">Contexts</a> &amp;contexts, bool onlyValid=true)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a4dc441a90181e0860452d2a34c43b60d">getWindows</a> (<a class="el" href="a01095.html#aecc0d343ce48d6afd26681e2acb7c864">Windows</a> &amp;windows, bool onlyValid=true)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a1a46dc59d841335f77ad3aaaccb7c6b1">getAllThreads</a> (<a class="el" href="a01095.html#a30fea380a3d50e3beca3c37d29e393eb">Threads</a> &amp;threads, bool onlyActive=true)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a73347c3b371aeb00496db0cc47303adb">getOperationThreads</a> (<a class="el" href="a01095.html#a5d0baf4d2aa82942a6d3d9dceca18321">OperationThreads</a> &amp;threads, bool onlyActive=true)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a9939edbe6a8824593d48a63b928c6d3a">getScenes</a> (<a class="el" href="a01095.html#ac0e94764086af00defd7cc6829ab0098">Scenes</a> &amp;scenes, bool onlyValid=true)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a370b4c8af0a0cbd5fb3f87d9e01e9f00">getViews</a> (<a class="el" href="a01095.html#a74debd0b3a4e3bbb29f0a515eb066447">Views</a> &amp;views, bool onlyValid=true)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#ad84d8626b98aab887add0edef7484af7">elapsedTime</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00307.html">osg::FrameStamp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a41c56f95850f8b9b8fe796becdabc4a9">getViewerFrameStamp</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#aec6c33d44d546cfd75b3a02d1de8e35c">getUsage</a> (<a class="el" href="a00028.html">osg::ApplicationUsage</a> &amp;usage) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the keyboard and mouse usage of this viewer.  <a href="#aec6c33d44d546cfd75b3a02d1de8e35c"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a065939e9baba544a2502d2fd564737d5">makeCurrent</a> (<a class="el" href="a00328.html">osg::GraphicsContext</a> *gc)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#ac990bfec0d8e3448962548b90706a711">releaseContext</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a5e2da3a22e54a756a42ca9ab1280666b">viewerInit</a> ()=0</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a7b529130c56a913fadf1d786cc278159">_firstFrame</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#aa03cd51a11947d2aa8c27981e81a9509">_done</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a66e919e8f2a42fdc33f8a8b47c65d46f">_keyEventSetsDone</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#adbd95a13508e67904b9e05348fc4e127">_quitEventSetsDone</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#abdbc96c4ac56886983e79fc9e6135bde">_releaseContextAtEndOfFrameHint</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413c">ThreadingModel</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#aac59df86eae5fc5124f71fc35689bb1b">_threadingModel</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#ac30cd43a0df815665f5649125e00f30f">_threadsRunning</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01095.html#a55fad389753b334fc76bd4937be3cd9b">BarrierPosition</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#abd085f171f85e1185607239a68c2fbb2">_endBarrierPosition</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a><br class="typebreak"/>
&lt; <a class="el" href="a00050.html">osg::BarrierOperation</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a6d97b61d2a6e052a09ced6fcc6c1e8ce">_startRenderingBarrier</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a><br class="typebreak"/>
&lt; <a class="el" href="a00050.html">osg::BarrierOperation</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a2956c994ebfde9d0e67059a902058cb4">_endRenderingDispatchBarrier</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a><br class="typebreak"/>
&lt; <a class="el" href="a00250.html">osg::EndOfDynamicDrawBlock</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a3c89641ff24d88b34cd7ceae7c10a785">_endDynamicDrawBlock</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt; <a class="el" href="a00258.html">osgGA::EventVisitor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a037474ab29b08118c22862f9a8602893">_eventVisitor</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt; <a class="el" href="a00515.html">osg::OperationQueue</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#ae5e0a6504f147edd56b0b65adbf8aefc">_updateOperations</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a><br class="typebreak"/>
&lt; <a class="el" href="a01050.html">osgUtil::UpdateVisitor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a441becf64df41d5bb1617ce50f78072e">_updateVisitor</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt; <a class="el" href="a00513.html">osg::Operation</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#ad63ecb5bd5927c66ea0399ac2186679f">_realizeOperation</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00507.html">osg::observer_ptr</a><br class="typebreak"/>
&lt; <a class="el" href="a00328.html">osg::GraphicsContext</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01095.html#a3319f41837f644035818b2b1de45cc4b">_currentContext</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p><a class="el" href="a01095.html" title="ViewerBase is the view base class that is inherited by both Viewer and CompositeViewer.">ViewerBase</a> is the view base class that is inherited by both <a class="el" href="a01094.html" title="Viewer holds a single view on to a single scene.">Viewer</a> and <a class="el" href="a00130.html" title="CompsiteViewer holds a or more views to a one more scenes.">CompositeViewer</a>. </p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a897bb10948c53b1481da8396eaeeed3f"></a><!-- doxytag: member="osgViewer::ViewerBase::Cameras" ref="a897bb10948c53b1481da8396eaeeed3f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="a00087.html">osg::Camera</a>*&gt; <a class="el" href="a01095.html#a897bb10948c53b1481da8396eaeeed3f">osgViewer::ViewerBase::Cameras</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa7b7be63f44aa537b1a152f538b82d40"></a><!-- doxytag: member="osgViewer::ViewerBase::Contexts" ref="aa7b7be63f44aa537b1a152f538b82d40" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="a00328.html">osg::GraphicsContext</a>*&gt; <a class="el" href="a01095.html#aa7b7be63f44aa537b1a152f538b82d40">osgViewer::ViewerBase::Contexts</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5d0baf4d2aa82942a6d3d9dceca18321"></a><!-- doxytag: member="osgViewer::ViewerBase::OperationThreads" ref="a5d0baf4d2aa82942a6d3d9dceca18321" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="a00516.html">osg::OperationThread</a>*&gt; <a class="el" href="a01095.html#a5d0baf4d2aa82942a6d3d9dceca18321">osgViewer::ViewerBase::OperationThreads</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ac0e94764086af00defd7cc6829ab0098"></a><!-- doxytag: member="osgViewer::ViewerBase::Scenes" ref="ac0e94764086af00defd7cc6829ab0098" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="a00683.html">osgViewer::Scene</a>*&gt; <a class="el" href="a01095.html#ac0e94764086af00defd7cc6829ab0098">osgViewer::ViewerBase::Scenes</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a30fea380a3d50e3beca3c37d29e393eb"></a><!-- doxytag: member="osgViewer::ViewerBase::Threads" ref="a30fea380a3d50e3beca3c37d29e393eb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;OpenThreads::Thread*&gt; <a class="el" href="a01095.html#a30fea380a3d50e3beca3c37d29e393eb">osgViewer::ViewerBase::Threads</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a74debd0b3a4e3bbb29f0a515eb066447"></a><!-- doxytag: member="osgViewer::ViewerBase::Views" ref="a74debd0b3a4e3bbb29f0a515eb066447" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="a01084.html">osgViewer::View</a>*&gt; <a class="el" href="a01095.html#a74debd0b3a4e3bbb29f0a515eb066447">osgViewer::ViewerBase::Views</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aecc0d343ce48d6afd26681e2acb7c864"></a><!-- doxytag: member="osgViewer::ViewerBase::Windows" ref="aecc0d343ce48d6afd26681e2acb7c864" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="a00332.html">osgViewer::GraphicsWindow</a>*&gt; <a class="el" href="a01095.html#aecc0d343ce48d6afd26681e2acb7c864">osgViewer::ViewerBase::Windows</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a55fad389753b334fc76bd4937be3cd9b"></a><!-- doxytag: member="osgViewer::ViewerBase::BarrierPosition" ref="a55fad389753b334fc76bd4937be3cd9b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="a01095.html#a55fad389753b334fc76bd4937be3cd9b">osgViewer::ViewerBase::BarrierPosition</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="a55fad389753b334fc76bd4937be3cd9ba7e3a47ba8f557e79c330744933ab47bf"></a><!-- doxytag: member="BeforeSwapBuffers" ref="a55fad389753b334fc76bd4937be3cd9ba7e3a47ba8f557e79c330744933ab47bf" args="" -->BeforeSwapBuffers</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a55fad389753b334fc76bd4937be3cd9ba282975e11648d7b7d12f286b7bb18286"></a><!-- doxytag: member="AfterSwapBuffers" ref="a55fad389753b334fc76bd4937be3cd9ba282975e11648d7b7d12f286b7bb18286" args="" -->AfterSwapBuffers</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a1ab78009a8a81529d56da5560ec6413c"></a><!-- doxytag: member="osgViewer::ViewerBase::ThreadingModel" ref="a1ab78009a8a81529d56da5560ec6413c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413c">osgViewer::ViewerBase::ThreadingModel</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="a1ab78009a8a81529d56da5560ec6413ca95ab8bb04e7bc461f99e0a2c8f14087f"></a><!-- doxytag: member="SingleThreaded" ref="a1ab78009a8a81529d56da5560ec6413ca95ab8bb04e7bc461f99e0a2c8f14087f" args="" -->SingleThreaded</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1ab78009a8a81529d56da5560ec6413ca856af56645e8534ca94b04655af5d1cd"></a><!-- doxytag: member="CullDrawThreadPerContext" ref="a1ab78009a8a81529d56da5560ec6413ca856af56645e8534ca94b04655af5d1cd" args="" -->CullDrawThreadPerContext</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1ab78009a8a81529d56da5560ec6413cabddbcc4fbe468a82d956d89857eb4c4f"></a><!-- doxytag: member="ThreadPerContext" ref="a1ab78009a8a81529d56da5560ec6413cabddbcc4fbe468a82d956d89857eb4c4f" args="" -->ThreadPerContext</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1ab78009a8a81529d56da5560ec6413cadbe1f8c7d635ba865f04aeb3fafdee81"></a><!-- doxytag: member="DrawThreadPerContext" ref="a1ab78009a8a81529d56da5560ec6413cadbe1f8c7d635ba865f04aeb3fafdee81" args="" -->DrawThreadPerContext</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1ab78009a8a81529d56da5560ec6413ca66d695f1dc103d316ff5aba6395cf532"></a><!-- doxytag: member="CullThreadPerCameraDrawThreadPerContext" ref="a1ab78009a8a81529d56da5560ec6413ca66d695f1dc103d316ff5aba6395cf532" args="" -->CullThreadPerCameraDrawThreadPerContext</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1ab78009a8a81529d56da5560ec6413ca97a6769e4275e9cd94840114af6236c6"></a><!-- doxytag: member="ThreadPerCamera" ref="a1ab78009a8a81529d56da5560ec6413ca97a6769e4275e9cd94840114af6236c6" args="" -->ThreadPerCamera</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1ab78009a8a81529d56da5560ec6413ca4792422f7127b0e229631de6a67a2041"></a><!-- doxytag: member="AutomaticSelection" ref="a1ab78009a8a81529d56da5560ec6413ca4792422f7127b0e229631de6a67a2041" args="" -->AutomaticSelection</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a68c25ab193c69861fbbb0e0683731f3e"></a><!-- doxytag: member="osgViewer::ViewerBase::ViewerBase" ref="a68c25ab193c69861fbbb0e0683731f3e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">osgViewer::ViewerBase::ViewerBase </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abe440e8bc44e8808b4db9d1b98295898"></a><!-- doxytag: member="osgViewer::ViewerBase::ViewerBase" ref="abe440e8bc44e8808b4db9d1b98295898" args="(const ViewerBase &amp;vb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">osgViewer::ViewerBase::ViewerBase </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a01095.html">ViewerBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>vb</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a6bf0912f7df9ef0ac95531463cff0ec1"></a><!-- doxytag: member="osgViewer::ViewerBase::addUpdateOperation" ref="a6bf0912f7df9ef0ac95531463cff0ec1" args="(osg::Operation *operation)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::addUpdateOperation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00513.html">osg::Operation</a> *&nbsp;</td>
          <td class="paramname"> <em>operation</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an update operation. </p>

</div>
</div>
<a class="anchor" id="af2361f90b103d5d1bac364e49380414d"></a><!-- doxytag: member="osgViewer::ViewerBase::advance" ref="af2361f90b103d5d1bac364e49380414d" args="(double simulationTime=USE_REFERENCE_TIME)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::advance </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>simulationTime</em> = <code>USE_REFERENCE_TIME</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a8fe8129f87aa630dfd744a1c6d103f81"></a><!-- doxytag: member="osgViewer::ViewerBase::areThreadsRunning" ref="a8fe8129f87aa630dfd744a1c6d103f81" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool osgViewer::ViewerBase::areThreadsRunning </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return true if viewer threads are running. </p>

</div>
</div>
<a class="anchor" id="a2f5fdbfae6b70fcc495e27a002a88aee"></a><!-- doxytag: member="osgViewer::ViewerBase::checkWindowStatus" ref="a2f5fdbfae6b70fcc495e27a002a88aee" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::checkWindowStatus </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check to see if windows are still open, if not set viewer done to true. </p>

</div>
</div>
<a class="anchor" id="a34bc48c020f1cb5b55b9970807a7a4b8"></a><!-- doxytag: member="osgViewer::ViewerBase::done" ref="a34bc48c020f1cb5b55b9970807a7a4b8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool osgViewer::ViewerBase::done </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return true if viewer's work is done and should exit the frame loop. </p>

</div>
</div>
<a class="anchor" id="ad84d8626b98aab887add0edef7484af7"></a><!-- doxytag: member="osgViewer::ViewerBase::elapsedTime" ref="ad84d8626b98aab887add0edef7484af7" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual double osgViewer::ViewerBase::elapsedTime </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a74375b260ed0d8b9b627e61c0b57b313"></a><!-- doxytag: member="osgViewer::ViewerBase::eventTraversal" ref="a74375b260ed0d8b9b627e61c0b57b313" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::eventTraversal </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7ceaba5e59f46b34c97fba9337c52bf5"></a><!-- doxytag: member="osgViewer::ViewerBase::frame" ref="a7ceaba5e59f46b34c97fba9337c52bf5" args="(double simulationTime=USE_REFERENCE_TIME)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::frame </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>simulationTime</em> = <code>USE_REFERENCE_TIME</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Render a complete new frame. </p>
<p>Calls <a class="el" href="a01095.html#af2361f90b103d5d1bac364e49380414d">advance()</a>, <a class="el" href="a01095.html#a74375b260ed0d8b9b627e61c0b57b313">eventTraversal()</a>, <a class="el" href="a01095.html#a493963f262f99c4682b8489362fc0bec">updateTraversal()</a>, <a class="el" href="a01095.html#a7cca8b8a7484002ad8bfc1f115f00a2a">renderingTraversals()</a>. </p>

</div>
</div>
<a class="anchor" id="a1a46dc59d841335f77ad3aaaccb7c6b1"></a><!-- doxytag: member="osgViewer::ViewerBase::getAllThreads" ref="a1a46dc59d841335f77ad3aaaccb7c6b1" args="(Threads &amp;threads, bool onlyActive=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::getAllThreads </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01095.html#a30fea380a3d50e3beca3c37d29e393eb">Threads</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>threads</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>onlyActive</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a1cf9e5e9191ed4c24b32ab4b72821ad7"></a><!-- doxytag: member="osgViewer::ViewerBase::getCameras" ref="a1cf9e5e9191ed4c24b32ab4b72821ad7" args="(Cameras &amp;cameras, bool onlyActive=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::getCameras </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01095.html#a897bb10948c53b1481da8396eaeeed3f">Cameras</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>cameras</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>onlyActive</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ad69b47d4f2edb8c6598ff55f5cd999ab"></a><!-- doxytag: member="osgViewer::ViewerBase::getContexts" ref="ad69b47d4f2edb8c6598ff55f5cd999ab" args="(Contexts &amp;contexts, bool onlyValid=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::getContexts </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01095.html#aa7b7be63f44aa537b1a152f538b82d40">Contexts</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>contexts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>onlyValid</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a76147cd84e2242aa1208d2005a816f56"></a><!-- doxytag: member="osgViewer::ViewerBase::getEndBarrierPosition" ref="a76147cd84e2242aa1208d2005a816f56" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01095.html#a55fad389753b334fc76bd4937be3cd9b">BarrierPosition</a> osgViewer::ViewerBase::getEndBarrierPosition </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the end barrier position. </p>

</div>
</div>
<a class="anchor" id="a29d305fc47ae06290b8cb342ff5b50f0"></a><!-- doxytag: member="osgViewer::ViewerBase::getEventVisitor" ref="a29d305fc47ae06290b8cb342ff5b50f0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00258.html">osgGA::EventVisitor</a>* osgViewer::ViewerBase::getEventVisitor </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the EventVisitor. </p>

</div>
</div>
<a class="anchor" id="a9dff29ffde5426940c2f0389944c3195"></a><!-- doxytag: member="osgViewer::ViewerBase::getEventVisitor" ref="a9dff29ffde5426940c2f0389944c3195" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00258.html">osgGA::EventVisitor</a>* osgViewer::ViewerBase::getEventVisitor </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the const EventVisitor. </p>

</div>
</div>
<a class="anchor" id="afa81c8288bed0b8da8178c628b770ff6"></a><!-- doxytag: member="osgViewer::ViewerBase::getKeyEventSetsDone" ref="afa81c8288bed0b8da8178c628b770ff6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int osgViewer::ViewerBase::getKeyEventSetsDone </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the key event that the viewer checks on each frame to see if the viewer's done flag. </p>

</div>
</div>
<a class="anchor" id="a73347c3b371aeb00496db0cc47303adb"></a><!-- doxytag: member="osgViewer::ViewerBase::getOperationThreads" ref="a73347c3b371aeb00496db0cc47303adb" args="(OperationThreads &amp;threads, bool onlyActive=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::getOperationThreads </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01095.html#a5d0baf4d2aa82942a6d3d9dceca18321">OperationThreads</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>threads</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>onlyActive</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ac03d794c8ade5a98b2fc3c6f72be7a58"></a><!-- doxytag: member="osgViewer::ViewerBase::getQuitEventSetsDone" ref="ac03d794c8ade5a98b2fc3c6f72be7a58" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool osgViewer::ViewerBase::getQuitEventSetsDone </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the viewer respond to the QUIT_APPLICATION-event </dd></dl>

</div>
</div>
<a class="anchor" id="af232d8d713837cee89fa894c2b7eef5b"></a><!-- doxytag: member="osgViewer::ViewerBase::getRealizeOperation" ref="af232d8d713837cee89fa894c2b7eef5b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00513.html">osg::Operation</a>* osgViewer::ViewerBase::getRealizeOperation </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the graphics operation to call on realization of the viewers graphics windows. </p>

</div>
</div>
<a class="anchor" id="a78145bbe692fae73afbde8e586276e68"></a><!-- doxytag: member="osgViewer::ViewerBase::getReleaseContextAtEndOfFrameHint" ref="a78145bbe692fae73afbde8e586276e68" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool osgViewer::ViewerBase::getReleaseContextAtEndOfFrameHint </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Hint to tell the <a class="el" href="a01095.html#a7cca8b8a7484002ad8bfc1f115f00a2a">renderingTraversals()</a> method whether to call relaseContext(). </p>

</div>
</div>
<a class="anchor" id="a9939edbe6a8824593d48a63b928c6d3a"></a><!-- doxytag: member="osgViewer::ViewerBase::getScenes" ref="a9939edbe6a8824593d48a63b928c6d3a" args="(Scenes &amp;scenes, bool onlyValid=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::getScenes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01095.html#ac0e94764086af00defd7cc6829ab0098">Scenes</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>scenes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>onlyValid</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abc760bdb1b84491e2f9207bf2adca800"></a><!-- doxytag: member="osgViewer::ViewerBase::getThreadingModel" ref="abc760bdb1b84491e2f9207bf2adca800" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413c">ThreadingModel</a> osgViewer::ViewerBase::getThreadingModel </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the threading model the rendering traversals will use. </p>

</div>
</div>
<a class="anchor" id="a705397a82aea4e9597f7ee1134d08dce"></a><!-- doxytag: member="osgViewer::ViewerBase::getUpdateOperations" ref="a705397a82aea4e9597f7ee1134d08dce" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00515.html">osg::OperationQueue</a>* osgViewer::ViewerBase::getUpdateOperations </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the const Update OperationQueue. </p>

</div>
</div>
<a class="anchor" id="ae0c81ff2822d7a73727ad25eea59edc5"></a><!-- doxytag: member="osgViewer::ViewerBase::getUpdateOperations" ref="ae0c81ff2822d7a73727ad25eea59edc5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00515.html">osg::OperationQueue</a>* osgViewer::ViewerBase::getUpdateOperations </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the Update OperationQueue. </p>

</div>
</div>
<a class="anchor" id="a983226f8400a6ee7c81a3f7f4965813c"></a><!-- doxytag: member="osgViewer::ViewerBase::getUpdateVisitor" ref="a983226f8400a6ee7c81a3f7f4965813c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a01050.html">osgUtil::UpdateVisitor</a>* osgViewer::ViewerBase::getUpdateVisitor </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the const UpdateVisitor. </p>

</div>
</div>
<a class="anchor" id="addd234c89106a3556f98ea12c75e4c96"></a><!-- doxytag: member="osgViewer::ViewerBase::getUpdateVisitor" ref="addd234c89106a3556f98ea12c75e4c96" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01050.html">osgUtil::UpdateVisitor</a>* osgViewer::ViewerBase::getUpdateVisitor </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the UpdateVisitor. </p>

</div>
</div>
<a class="anchor" id="aec6c33d44d546cfd75b3a02d1de8e35c"></a><!-- doxytag: member="osgViewer::ViewerBase::getUsage" ref="aec6c33d44d546cfd75b3a02d1de8e35c" args="(osg::ApplicationUsage &amp;usage) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::getUsage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00028.html">osg::ApplicationUsage</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>usage</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the keyboard and mouse usage of this viewer. </p>

</div>
</div>
<a class="anchor" id="a41c56f95850f8b9b8fe796becdabc4a9"></a><!-- doxytag: member="osgViewer::ViewerBase::getViewerFrameStamp" ref="a41c56f95850f8b9b8fe796becdabc4a9" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00307.html">osg::FrameStamp</a>* osgViewer::ViewerBase::getViewerFrameStamp </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af6b3deee1338a09b49acc0b652ea3d39"></a><!-- doxytag: member="osgViewer::ViewerBase::getViewerStats" ref="af6b3deee1338a09b49acc0b652ea3d39" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00820.html">osg::Stats</a>* osgViewer::ViewerBase::getViewerStats </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the Viewers Stats object. </p>

</div>
</div>
<a class="anchor" id="acc36e0fa1f13c32d79c9c5c5c9804b52"></a><!-- doxytag: member="osgViewer::ViewerBase::getViewerStats" ref="acc36e0fa1f13c32d79c9c5c5c9804b52" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00820.html">osg::Stats</a>* osgViewer::ViewerBase::getViewerStats </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the Viewers Stats object. </p>

</div>
</div>
<a class="anchor" id="a370b4c8af0a0cbd5fb3f87d9e01e9f00"></a><!-- doxytag: member="osgViewer::ViewerBase::getViews" ref="a370b4c8af0a0cbd5fb3f87d9e01e9f00" args="(Views &amp;views, bool onlyValid=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::getViews </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01095.html#a74debd0b3a4e3bbb29f0a515eb066447">Views</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>views</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>onlyValid</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4dc441a90181e0860452d2a34c43b60d"></a><!-- doxytag: member="osgViewer::ViewerBase::getWindows" ref="a4dc441a90181e0860452d2a34c43b60d" args="(Windows &amp;windows, bool onlyValid=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::getWindows </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01095.html#aecc0d343ce48d6afd26681e2acb7c864">Windows</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>windows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>onlyValid</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a1f6f79265ca0da8cb6964ecd3281809c"></a><!-- doxytag: member="osgViewer::ViewerBase::isRealized" ref="a1f6f79265ca0da8cb6964ecd3281809c" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool osgViewer::ViewerBase::isRealized </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get whether at least of one of this viewers windows are realized. </p>

</div>
</div>
<a class="anchor" id="a065939e9baba544a2502d2fd564737d5"></a><!-- doxytag: member="osgViewer::ViewerBase::makeCurrent" ref="a065939e9baba544a2502d2fd564737d5" args="(osg::GraphicsContext *gc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::makeCurrent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00328.html">osg::GraphicsContext</a> *&nbsp;</td>
          <td class="paramname"> <em>gc</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="a00328.html#af9570786bab5518aab85737498af3a30">osg::GraphicsContext::makeCurrent()</a>, and <a class="el" href="a00328.html#a9e4f5ef0fb35c6a87a62eb35272de537">osg::GraphicsContext::valid()</a>.</p>

</div>
</div>
<a class="anchor" id="a15d224aa71dc4e53a46e24357aad5310"></a><!-- doxytag: member="osgViewer::ViewerBase::readConfiguration" ref="a15d224aa71dc4e53a46e24357aad5310" args="(const std::string &amp;filename)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool osgViewer::ViewerBase::readConfiguration </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>filename</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>read the viewer configuration from a configuration file. </p>

</div>
</div>
<a class="anchor" id="a7040840ca9593d5a6b7d8e87697019a6"></a><!-- doxytag: member="osgViewer::ViewerBase::realize" ref="a7040840ca9593d5a6b7d8e87697019a6" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::realize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set up windows and associated threads. </p>

</div>
</div>
<a class="anchor" id="ac990bfec0d8e3448962548b90706a711"></a><!-- doxytag: member="osgViewer::ViewerBase::releaseContext" ref="ac990bfec0d8e3448962548b90706a711" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::releaseContext </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="a00328.html#ae53810da654785e6ba88c124e7f1ac73">osg::GraphicsContext::releaseContext()</a>.</p>

</div>
</div>
<a class="anchor" id="acd7f4a517ee109d1e2d4f89f11591f10"></a><!-- doxytag: member="osgViewer::ViewerBase::removeUpdateOperation" ref="acd7f4a517ee109d1e2d4f89f11591f10" args="(osg::Operation *operation)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::removeUpdateOperation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00513.html">osg::Operation</a> *&nbsp;</td>
          <td class="paramname"> <em>operation</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove an update operation. </p>

</div>
</div>
<a class="anchor" id="a7cca8b8a7484002ad8bfc1f115f00a2a"></a><!-- doxytag: member="osgViewer::ViewerBase::renderingTraversals" ref="a7cca8b8a7484002ad8bfc1f115f00a2a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::renderingTraversals </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a26bab16a8e8df8d607708f48dd73ea66"></a><!-- doxytag: member="osgViewer::ViewerBase::run" ref="a26bab16a8e8df8d607708f48dd73ea66" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int osgViewer::ViewerBase::run </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Execute a main frame loop. </p>
<p>Equivalent to while (!viewer.<a class="el" href="a01095.html#a34bc48c020f1cb5b55b9970807a7a4b8" title="Return true if viewer&#39;s work is done and should exit the frame loop.">done()</a>) viewer.frame(); Also calls <a class="el" href="a01095.html#a7040840ca9593d5a6b7d8e87697019a6" title="set up windows and associated threads.">realize()</a> if the viewer is not already realized, and installs trackball manipulator if one is not already assigned. </p>

</div>
</div>
<a class="anchor" id="a1cf10c185577dc343cda2f3041d7f9bc"></a><!-- doxytag: member="osgViewer::ViewerBase::setDone" ref="a1cf10c185577dc343cda2f3041d7f9bc" args="(bool done)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::setDone </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>done</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the done flag to signal the viewer's work is done and should exit the frame loop. </p>

</div>
</div>
<a class="anchor" id="a896d1a7f3682b9c66df671b47b38559f"></a><!-- doxytag: member="osgViewer::ViewerBase::setEndBarrierPosition" ref="a896d1a7f3682b9c66df671b47b38559f" args="(BarrierPosition bp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::setEndBarrierPosition </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01095.html#a55fad389753b334fc76bd4937be3cd9b">BarrierPosition</a>&nbsp;</td>
          <td class="paramname"> <em>bp</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the position of the end barrier. </p>
<p>AfterSwapBuffers may result in slightly higher framerates, but may lead to inconsistent swapping between different windows. BeforeSwapBuffers may lead to slightly lower framerate, but improve consistency in timing of swap buffers, especially important if you are likely to consistently break frame. </p>

</div>
</div>
<a class="anchor" id="af9fe1923c02e5331cd7ef627b0cc1427"></a><!-- doxytag: member="osgViewer::ViewerBase::setEventVisitor" ref="af9fe1923c02e5331cd7ef627b0cc1427" args="(osgGA::EventVisitor *eventVisitor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::setEventVisitor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00258.html">osgGA::EventVisitor</a> *&nbsp;</td>
          <td class="paramname"> <em>eventVisitor</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the EventVisitor. </p>

</div>
</div>
<a class="anchor" id="ac254941e7e147aa355d20c39649ac21c"></a><!-- doxytag: member="osgViewer::ViewerBase::setKeyEventSetsDone" ref="ac254941e7e147aa355d20c39649ac21c" args="(int key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::setKeyEventSetsDone </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>key</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key event that the viewer checks on each frame to see if the viewer's done flag should be set to signal end of viewers main loop. </p>
<p>Default value is Escape (osgGA::GUIEVentAdapter::KEY_Escape). Setting to 0 switches off the feature. </p>

</div>
</div>
<a class="anchor" id="a579b55876c0b57069c0ad44ec783e98e"></a><!-- doxytag: member="osgViewer::ViewerBase::setQuitEventSetsDone" ref="a579b55876c0b57069c0ad44ec783e98e" args="(bool flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::setQuitEventSetsDone </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>flag</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>if the flag is true, the viewer set its done flag when a QUIT_APPLICATION is received, false disables this feature </p>

</div>
</div>
<a class="anchor" id="a5154dbebf5dc57d73b4c1b7c4716e771"></a><!-- doxytag: member="osgViewer::ViewerBase::setRealizeOperation" ref="a5154dbebf5dc57d73b4c1b7c4716e771" args="(osg::Operation *op)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::setRealizeOperation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00513.html">osg::Operation</a> *&nbsp;</td>
          <td class="paramname"> <em>op</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the graphics operation to call on realization of the viewers graphics windows. </p>

</div>
</div>
<a class="anchor" id="a8c009a3af5a9859a0e0ae057561be073"></a><!-- doxytag: member="osgViewer::ViewerBase::setReleaseContextAtEndOfFrameHint" ref="a8c009a3af5a9859a0e0ae057561be073" args="(bool hint)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::setReleaseContextAtEndOfFrameHint </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>hint</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Hint to tell the <a class="el" href="a01095.html#a7cca8b8a7484002ad8bfc1f115f00a2a">renderingTraversals()</a> method whether to call relaseContext() on the last context that was made current by the thread calling renderingTraverals(). </p>
<p>Note, when running multi-threaded viewer no threads will be made current or release current. Setting this hint to false can enable the frame loop to be lazy about calling makeCurrent and releaseContext on each new frame, helping performance. However, if you frame loop is managing multiple graphics context all from the main frame thread then this hint must be left on, otherwise the wrong context could be left active, introducing errors in rendering. </p>

</div>
</div>
<a class="anchor" id="a9e4ea46ca6e9c8b5fa229a280f8ad425"></a><!-- doxytag: member="osgViewer::ViewerBase::setThreadingModel" ref="a9e4ea46ca6e9c8b5fa229a280f8ad425" args="(ThreadingModel threadingModel)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::setThreadingModel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413c">ThreadingModel</a>&nbsp;</td>
          <td class="paramname"> <em>threadingModel</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the threading model the rendering traversals will use. </p>

</div>
</div>
<a class="anchor" id="a265175ec352f81b41c6aeb226955ef55"></a><!-- doxytag: member="osgViewer::ViewerBase::setUpdateOperations" ref="a265175ec352f81b41c6aeb226955ef55" args="(osg::OperationQueue *operations)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::setUpdateOperations </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00515.html">osg::OperationQueue</a> *&nbsp;</td>
          <td class="paramname"> <em>operations</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the Update OperationQueue. </p>

</div>
</div>
<a class="anchor" id="afb8734f84d93e28ab88506014ad2df3d"></a><!-- doxytag: member="osgViewer::ViewerBase::setUpdateVisitor" ref="afb8734f84d93e28ab88506014ad2df3d" args="(osgUtil::UpdateVisitor *updateVisitor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgViewer::ViewerBase::setUpdateVisitor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01050.html">osgUtil::UpdateVisitor</a> *&nbsp;</td>
          <td class="paramname"> <em>updateVisitor</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the UpdateVisitor. </p>

</div>
</div>
<a class="anchor" id="a9927e893487273d46b01e2a9b51b4af3"></a><!-- doxytag: member="osgViewer::ViewerBase::setUpThreading" ref="a9927e893487273d46b01e2a9b51b4af3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::setUpThreading </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set up the threading and processor affinity as per the viewers threading model. </p>

</div>
</div>
<a class="anchor" id="a41d45ce7f91c544f03242fbf5348f180"></a><!-- doxytag: member="osgViewer::ViewerBase::setViewerStats" ref="a41d45ce7f91c544f03242fbf5348f180" args="(osg::Stats *stats)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::setViewerStats </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00820.html">osg::Stats</a> *&nbsp;</td>
          <td class="paramname"> <em>stats</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the Stats object used for collect various frame related timing and scene graph stats. </p>

</div>
</div>
<a class="anchor" id="a08690cea6a03c4e1c3a2af069cfe2a88"></a><!-- doxytag: member="osgViewer::ViewerBase::startThreading" ref="a08690cea6a03c4e1c3a2af069cfe2a88" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::startThreading </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start any threads required by the viewer. </p>

</div>
</div>
<a class="anchor" id="a47aff3c6f267d090c13b073efb714f3e"></a><!-- doxytag: member="osgViewer::ViewerBase::stopThreading" ref="a47aff3c6f267d090c13b073efb714f3e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::stopThreading </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Stop any threads begin run by viewer. </p>

</div>
</div>
<a class="anchor" id="a54fc0145550e96258e4f41f95ac3e923"></a><!-- doxytag: member="osgViewer::ViewerBase::suggestBestThreadingModel" ref="a54fc0145550e96258e4f41f95ac3e923" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413c">ThreadingModel</a> osgViewer::ViewerBase::suggestBestThreadingModel </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Let the viewer suggest the best threading model for the viewers camera/window setup and the hardware available. </p>

</div>
</div>
<a class="anchor" id="a493963f262f99c4682b8489362fc0bec"></a><!-- doxytag: member="osgViewer::ViewerBase::updateTraversal" ref="a493963f262f99c4682b8489362fc0bec" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::updateTraversal </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5e2da3a22e54a756a42ca9ab1280666b"></a><!-- doxytag: member="osgViewer::ViewerBase::viewerInit" ref="a5e2da3a22e54a756a42ca9ab1280666b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgViewer::ViewerBase::viewerInit </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a3319f41837f644035818b2b1de45cc4b"></a><!-- doxytag: member="osgViewer::ViewerBase::_currentContext" ref="a3319f41837f644035818b2b1de45cc4b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00507.html">osg::observer_ptr</a>&lt;<a class="el" href="a00328.html">osg::GraphicsContext</a>&gt; <a class="el" href="a01095.html#a3319f41837f644035818b2b1de45cc4b">osgViewer::ViewerBase::_currentContext</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa03cd51a11947d2aa8c27981e81a9509"></a><!-- doxytag: member="osgViewer::ViewerBase::_done" ref="aa03cd51a11947d2aa8c27981e81a9509" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a01095.html#aa03cd51a11947d2aa8c27981e81a9509">osgViewer::ViewerBase::_done</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abd085f171f85e1185607239a68c2fbb2"></a><!-- doxytag: member="osgViewer::ViewerBase::_endBarrierPosition" ref="abd085f171f85e1185607239a68c2fbb2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01095.html#a55fad389753b334fc76bd4937be3cd9b">BarrierPosition</a> <a class="el" href="a01095.html#abd085f171f85e1185607239a68c2fbb2">osgViewer::ViewerBase::_endBarrierPosition</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3c89641ff24d88b34cd7ceae7c10a785"></a><!-- doxytag: member="osgViewer::ViewerBase::_endDynamicDrawBlock" ref="a3c89641ff24d88b34cd7ceae7c10a785" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00250.html">osg::EndOfDynamicDrawBlock</a>&gt; <a class="el" href="a01095.html#a3c89641ff24d88b34cd7ceae7c10a785">osgViewer::ViewerBase::_endDynamicDrawBlock</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a2956c994ebfde9d0e67059a902058cb4"></a><!-- doxytag: member="osgViewer::ViewerBase::_endRenderingDispatchBarrier" ref="a2956c994ebfde9d0e67059a902058cb4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00050.html">osg::BarrierOperation</a>&gt; <a class="el" href="a01095.html#a2956c994ebfde9d0e67059a902058cb4">osgViewer::ViewerBase::_endRenderingDispatchBarrier</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a037474ab29b08118c22862f9a8602893"></a><!-- doxytag: member="osgViewer::ViewerBase::_eventVisitor" ref="a037474ab29b08118c22862f9a8602893" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00258.html">osgGA::EventVisitor</a>&gt; <a class="el" href="a01095.html#a037474ab29b08118c22862f9a8602893">osgViewer::ViewerBase::_eventVisitor</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7b529130c56a913fadf1d786cc278159"></a><!-- doxytag: member="osgViewer::ViewerBase::_firstFrame" ref="a7b529130c56a913fadf1d786cc278159" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a01095.html#a7b529130c56a913fadf1d786cc278159">osgViewer::ViewerBase::_firstFrame</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a66e919e8f2a42fdc33f8a8b47c65d46f"></a><!-- doxytag: member="osgViewer::ViewerBase::_keyEventSetsDone" ref="a66e919e8f2a42fdc33f8a8b47c65d46f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a01095.html#a66e919e8f2a42fdc33f8a8b47c65d46f">osgViewer::ViewerBase::_keyEventSetsDone</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="adbd95a13508e67904b9e05348fc4e127"></a><!-- doxytag: member="osgViewer::ViewerBase::_quitEventSetsDone" ref="adbd95a13508e67904b9e05348fc4e127" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a01095.html#adbd95a13508e67904b9e05348fc4e127">osgViewer::ViewerBase::_quitEventSetsDone</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ad63ecb5bd5927c66ea0399ac2186679f"></a><!-- doxytag: member="osgViewer::ViewerBase::_realizeOperation" ref="ad63ecb5bd5927c66ea0399ac2186679f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00513.html">osg::Operation</a>&gt; <a class="el" href="a01095.html#ad63ecb5bd5927c66ea0399ac2186679f">osgViewer::ViewerBase::_realizeOperation</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abdbc96c4ac56886983e79fc9e6135bde"></a><!-- doxytag: member="osgViewer::ViewerBase::_releaseContextAtEndOfFrameHint" ref="abdbc96c4ac56886983e79fc9e6135bde" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a01095.html#abdbc96c4ac56886983e79fc9e6135bde">osgViewer::ViewerBase::_releaseContextAtEndOfFrameHint</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6d97b61d2a6e052a09ced6fcc6c1e8ce"></a><!-- doxytag: member="osgViewer::ViewerBase::_startRenderingBarrier" ref="a6d97b61d2a6e052a09ced6fcc6c1e8ce" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00050.html">osg::BarrierOperation</a>&gt; <a class="el" href="a01095.html#a6d97b61d2a6e052a09ced6fcc6c1e8ce">osgViewer::ViewerBase::_startRenderingBarrier</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aac59df86eae5fc5124f71fc35689bb1b"></a><!-- doxytag: member="osgViewer::ViewerBase::_threadingModel" ref="aac59df86eae5fc5124f71fc35689bb1b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01095.html#a1ab78009a8a81529d56da5560ec6413c">ThreadingModel</a> <a class="el" href="a01095.html#aac59df86eae5fc5124f71fc35689bb1b">osgViewer::ViewerBase::_threadingModel</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ac30cd43a0df815665f5649125e00f30f"></a><!-- doxytag: member="osgViewer::ViewerBase::_threadsRunning" ref="ac30cd43a0df815665f5649125e00f30f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a01095.html#ac30cd43a0df815665f5649125e00f30f">osgViewer::ViewerBase::_threadsRunning</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae5e0a6504f147edd56b0b65adbf8aefc"></a><!-- doxytag: member="osgViewer::ViewerBase::_updateOperations" ref="ae5e0a6504f147edd56b0b65adbf8aefc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00515.html">osg::OperationQueue</a>&gt; <a class="el" href="a01095.html#ae5e0a6504f147edd56b0b65adbf8aefc">osgViewer::ViewerBase::_updateOperations</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a441becf64df41d5bb1617ce50f78072e"></a><!-- doxytag: member="osgViewer::ViewerBase::_updateVisitor" ref="a441becf64df41d5bb1617ce50f78072e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a01050.html">osgUtil::UpdateVisitor</a>&gt; <a class="el" href="a01095.html#a441becf64df41d5bb1617ce50f78072e">osgViewer::ViewerBase::_updateVisitor</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>osgViewer/<a class="el" href="a01599.html">ViewerBase</a></li>
</ul>
</div>
<hr>
<table border="0"><tr><td>
  <img src="osg32-32.png" alt="osg logo" />
</td><td>
  <address><small>Generated at Thu Aug 19 2010 16:22:46 for the <a href="http://www.openscenegraph.org/">OpenSceneGraph</a>
by <a href="http://www.doxygen.org">doxygen</a> 1.7.1.</small></address>
<!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph -->
</td></tr></table>
</body>
</html>