<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>OpenSceneGraph: osg::ShadowVolumeOccluder 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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"> <ul> <li><a class="el" href="a01628.html">osg</a> </li> <li><a class="el" href="a00710.html">osg::ShadowVolumeOccluder</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <h1>osg::ShadowVolumeOccluder Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="osg::ShadowVolumeOccluder" --> <p><a class="el" href="a00710.html" title="ShadowVolumeOccluder is a helper class for implementing shadow occlusion culling.">ShadowVolumeOccluder</a> is a helper class for implementing shadow occlusion culling. <a href="#_details">More...</a></p> <p><a href="a02232.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">typedef std::vector< <a class="el" href="a00568.html">Polytope</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a79b8f39767de691d1729371d84834639">HoleList</a></td></tr> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#ac7f468a5ab6962c18387f9fe6b346642">ShadowVolumeOccluder</a> (const <a class="el" href="a00710.html">ShadowVolumeOccluder</a> &svo)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#abeb8a7978a039ed68a6bf09ae40c5722">ShadowVolumeOccluder</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a4f4370a20382c1ca0e53f5786f181810">operator<</a> (const <a class="el" href="a00710.html">ShadowVolumeOccluder</a> &svo) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a487465530e70127fdc8bf10e61b032f8">computeOccluder</a> (const <a class="el" href="a01628.html#ab9f7a2811cf7f6d57936ca85b2d8e980">NodePath</a> &nodePath, const <a class="el" href="a00164.html">ConvexPlanarOccluder</a> &occluder, <a class="el" href="a00181.html">CullStack</a> &cullStack, bool createDrawables=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">compute the shadow volume occluder. <a href="#a487465530e70127fdc8bf10e61b032f8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a9b9a1c35bff33a9d85fbd3bea705b199">disableResultMasks</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a81c1b1b21c6fd437067dc8fc3770ccbe">pushCurrentMask</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a4a9e57abd30d1ce34877a716a362d12e">popCurrentMask</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a9605437a2d375de702fcc4c4290f909a">matchProjectionMatrix</a> (const <a class="el" href="a00460.html">osg::Matrix</a> &matrix) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return true if the matrix passed in matches the projection matrix that this <a class="el" href="a00710.html" title="ShadowVolumeOccluder is a helper class for implementing shadow occlusion culling.">ShadowVolumeOccluder</a> is associated with. <a href="#a9605437a2d375de702fcc4c4290f909a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a8e13e1b0ebc58494728d0e203ad2dc50">setNodePath</a> (<a class="el" href="a01628.html#ab9f7a2811cf7f6d57936ca85b2d8e980">NodePath</a> &nodePath)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the NodePath which describes which node in the scene graph that this occluder is attached to. <a href="#a8e13e1b0ebc58494728d0e203ad2dc50"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01628.html#ab9f7a2811cf7f6d57936ca85b2d8e980">NodePath</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a8a2f37e22984c7fa583adcc70f44b61c">getNodePath</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01628.html#ab9f7a2811cf7f6d57936ca85b2d8e980">NodePath</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#abb70189f88c2214a80464020d22d5dc6">getNodePath</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#aba4d5a3c4528e2f608aca9764769fe67">getVolume</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">get the volume of the occluder minus its holes, in eye coords, the volume is normalized by dividing by the volume of the view frustum in eye coords. <a href="#aba4d5a3c4528e2f608aca9764769fe67"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00568.html">Polytope</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a46a963a90364bc1d52b99a6ccf529c42">getOccluder</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return the occluder polytope. <a href="#a46a963a90364bc1d52b99a6ccf529c42"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00568.html">Polytope</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#af35f6e029074c330a1d601a91ea4c3ec">getOccluder</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return the const occluder polytope. <a href="#af35f6e029074c330a1d601a91ea4c3ec"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00710.html#a79b8f39767de691d1729371d84834639">HoleList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a964ad501694d473459bf6d425f90ff70">getHoleList</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return the list of holes. <a href="#a964ad501694d473459bf6d425f90ff70"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00710.html#a79b8f39767de691d1729371d84834639">HoleList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a82b8b0f26c06bfccdfa959566cc0c5d9">getHoleList</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return the const list of holes. <a href="#a82b8b0f26c06bfccdfa959566cc0c5d9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#acceece1ecffa05fdb78df41e2818a99f">contains</a> (const std::vector< <a class="el" href="a01069.html">Vec3</a> > &vertices)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return true if the specified vertex list is contained entirely within this shadow occluder volume. <a href="#acceece1ecffa05fdb78df41e2818a99f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#ad932739c334dd8791e11208bc102f754">contains</a> (const <a class="el" href="a00070.html">BoundingSphere</a> &bound)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return true if the specified bounding sphere is contained entirely within this shadow occluder volume. <a href="#ad932739c334dd8791e11208bc102f754"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#aea841e7f61c02f2ae6c06c07cdf76593">contains</a> (const <a class="el" href="a00069.html">BoundingBox</a> &bound)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return true if the specified bounding box is contained entirely within this shadow occluder volume. <a href="#aea841e7f61c02f2ae6c06c07cdf76593"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a9bb3191f10e4e41ea2be32a91dca5257">transformProvidingInverse</a> (const <a class="el" href="a00460.html">osg::Matrix</a> &matrix)</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">float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a50a495c0132bf1ad4f191e5049f9c54d">_volume</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01628.html#ab9f7a2811cf7f6d57936ca85b2d8e980">NodePath</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a1122b1d52606a0817bd8643e278c6d01">_nodePath</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">ref_ptr</a>< const <a class="el" href="a00632.html">RefMatrix</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#aa5946e10922568a827e9d30926b8b76a">_projectionMatrix</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00568.html">Polytope</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#a57c448d563de1e0ac5ed295e16721fa0">_occluderVolume</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00710.html#a79b8f39767de691d1729371d84834639">HoleList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00710.html#ac38c23e2218d94e81111f8db1daf9848">_holeList</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p><a class="el" href="a00710.html" title="ShadowVolumeOccluder is a helper class for implementing shadow occlusion culling.">ShadowVolumeOccluder</a> is a helper class for implementing shadow occlusion culling. </p> <hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a79b8f39767de691d1729371d84834639"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::HoleList" ref="a79b8f39767de691d1729371d84834639" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector<<a class="el" href="a00568.html">Polytope</a>> <a class="el" href="a00710.html#a79b8f39767de691d1729371d84834639">osg::ShadowVolumeOccluder::HoleList</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ac7f468a5ab6962c18387f9fe6b346642"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::ShadowVolumeOccluder" ref="ac7f468a5ab6962c18387f9fe6b346642" args="(const ShadowVolumeOccluder &svo)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osg::ShadowVolumeOccluder::ShadowVolumeOccluder </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00710.html">ShadowVolumeOccluder</a> & </td> <td class="paramname"> <em>svo</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="abeb8a7978a039ed68a6bf09ae40c5722"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::ShadowVolumeOccluder" ref="abeb8a7978a039ed68a6bf09ae40c5722" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osg::ShadowVolumeOccluder::ShadowVolumeOccluder </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a487465530e70127fdc8bf10e61b032f8"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::computeOccluder" ref="a487465530e70127fdc8bf10e61b032f8" args="(const NodePath &nodePath, const ConvexPlanarOccluder &occluder, CullStack &cullStack, bool createDrawables=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osg::ShadowVolumeOccluder::computeOccluder </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01628.html#ab9f7a2811cf7f6d57936ca85b2d8e980">NodePath</a> & </td> <td class="paramname"> <em>nodePath</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00164.html">ConvexPlanarOccluder</a> & </td> <td class="paramname"> <em>occluder</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00181.html">CullStack</a> & </td> <td class="paramname"> <em>cullStack</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>createDrawables</em> = <code>false</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>compute the shadow volume occluder. </p> </div> </div> <a class="anchor" id="ad932739c334dd8791e11208bc102f754"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::contains" ref="ad932739c334dd8791e11208bc102f754" args="(const BoundingSphere &bound)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osg::ShadowVolumeOccluder::contains </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00070.html">BoundingSphere</a> & </td> <td class="paramname"> <em>bound</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>return true if the specified bounding sphere is contained entirely within this shadow occluder volume. </p> </div> </div> <a class="anchor" id="aea841e7f61c02f2ae6c06c07cdf76593"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::contains" ref="aea841e7f61c02f2ae6c06c07cdf76593" args="(const BoundingBox &bound)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osg::ShadowVolumeOccluder::contains </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00069.html">BoundingBox</a> & </td> <td class="paramname"> <em>bound</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>return true if the specified bounding box is contained entirely within this shadow occluder volume. </p> </div> </div> <a class="anchor" id="acceece1ecffa05fdb78df41e2818a99f"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::contains" ref="acceece1ecffa05fdb78df41e2818a99f" args="(const std::vector< Vec3 > &vertices)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osg::ShadowVolumeOccluder::contains </td> <td>(</td> <td class="paramtype">const std::vector< <a class="el" href="a01069.html">Vec3</a> > & </td> <td class="paramname"> <em>vertices</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>return true if the specified vertex list is contained entirely within this shadow occluder volume. </p> </div> </div> <a class="anchor" id="a9b9a1c35bff33a9d85fbd3bea705b199"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::disableResultMasks" ref="a9b9a1c35bff33a9d85fbd3bea705b199" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::ShadowVolumeOccluder::disableResultMasks </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>References <a class="el" href="a00710.html#ac38c23e2218d94e81111f8db1daf9848">_holeList</a>, <a class="el" href="a00710.html#a57c448d563de1e0ac5ed295e16721fa0">_occluderVolume</a>, and <a class="el" href="a00568.html#a761740f6fc3f5fcc8703879bb44b27ea">osg::Polytope::setResultMask()</a>.</p> </div> </div> <a class="anchor" id="a964ad501694d473459bf6d425f90ff70"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::getHoleList" ref="a964ad501694d473459bf6d425f90ff70" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00710.html#a79b8f39767de691d1729371d84834639">HoleList</a>& osg::ShadowVolumeOccluder::getHoleList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>return the list of holes. </p> </div> </div> <a class="anchor" id="a82b8b0f26c06bfccdfa959566cc0c5d9"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::getHoleList" ref="a82b8b0f26c06bfccdfa959566cc0c5d9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00710.html#a79b8f39767de691d1729371d84834639">HoleList</a>& osg::ShadowVolumeOccluder::getHoleList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>return the const list of holes. </p> </div> </div> <a class="anchor" id="a8a2f37e22984c7fa583adcc70f44b61c"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::getNodePath" ref="a8a2f37e22984c7fa583adcc70f44b61c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01628.html#ab9f7a2811cf7f6d57936ca85b2d8e980">NodePath</a>& osg::ShadowVolumeOccluder::getNodePath </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="abb70189f88c2214a80464020d22d5dc6"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::getNodePath" ref="abb70189f88c2214a80464020d22d5dc6" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a01628.html#ab9f7a2811cf7f6d57936ca85b2d8e980">NodePath</a>& osg::ShadowVolumeOccluder::getNodePath </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a46a963a90364bc1d52b99a6ccf529c42"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::getOccluder" ref="a46a963a90364bc1d52b99a6ccf529c42" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00568.html">Polytope</a>& osg::ShadowVolumeOccluder::getOccluder </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>return the occluder polytope. </p> </div> </div> <a class="anchor" id="af35f6e029074c330a1d601a91ea4c3ec"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::getOccluder" ref="af35f6e029074c330a1d601a91ea4c3ec" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00568.html">Polytope</a>& osg::ShadowVolumeOccluder::getOccluder </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>return the const occluder polytope. </p> </div> </div> <a class="anchor" id="aba4d5a3c4528e2f608aca9764769fe67"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::getVolume" ref="aba4d5a3c4528e2f608aca9764769fe67" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float osg::ShadowVolumeOccluder::getVolume </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>get the volume of the occluder minus its holes, in eye coords, the volume is normalized by dividing by the volume of the view frustum in eye coords. </p> <p>Referenced by <a class="el" href="a00710.html#a4f4370a20382c1ca0e53f5786f181810">operator<()</a>.</p> </div> </div> <a class="anchor" id="a9605437a2d375de702fcc4c4290f909a"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::matchProjectionMatrix" ref="a9605437a2d375de702fcc4c4290f909a" args="(const osg::Matrix &matrix) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osg::ShadowVolumeOccluder::matchProjectionMatrix </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00460.html">osg::Matrix</a> & </td> <td class="paramname"> <em>matrix</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>return true if the matrix passed in matches the projection matrix that this <a class="el" href="a00710.html" title="ShadowVolumeOccluder is a helper class for implementing shadow occlusion culling.">ShadowVolumeOccluder</a> is associated with. </p> </div> </div> <a class="anchor" id="a4f4370a20382c1ca0e53f5786f181810"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::operator<" ref="a4f4370a20382c1ca0e53f5786f181810" args="(const ShadowVolumeOccluder &svo) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osg::ShadowVolumeOccluder::operator< </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00710.html">ShadowVolumeOccluder</a> & </td> <td class="paramname"> <em>svo</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>References <a class="el" href="a00710.html#aba4d5a3c4528e2f608aca9764769fe67">getVolume()</a>.</p> </div> </div> <a class="anchor" id="a4a9e57abd30d1ce34877a716a362d12e"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::popCurrentMask" ref="a4a9e57abd30d1ce34877a716a362d12e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::ShadowVolumeOccluder::popCurrentMask </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>References <a class="el" href="a00710.html#ac38c23e2218d94e81111f8db1daf9848">_holeList</a>, <a class="el" href="a00710.html#a57c448d563de1e0ac5ed295e16721fa0">_occluderVolume</a>, and <a class="el" href="a00568.html#aa037d6845fddac939a66546663947ba7">osg::Polytope::popCurrentMask()</a>.</p> </div> </div> <a class="anchor" id="a81c1b1b21c6fd437067dc8fc3770ccbe"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::pushCurrentMask" ref="a81c1b1b21c6fd437067dc8fc3770ccbe" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::ShadowVolumeOccluder::pushCurrentMask </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>References <a class="el" href="a00710.html#ac38c23e2218d94e81111f8db1daf9848">_holeList</a>, <a class="el" href="a00710.html#a57c448d563de1e0ac5ed295e16721fa0">_occluderVolume</a>, and <a class="el" href="a00568.html#a20d59398bb0514e666092f1577cf7dcc">osg::Polytope::pushCurrentMask()</a>.</p> </div> </div> <a class="anchor" id="a8e13e1b0ebc58494728d0e203ad2dc50"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::setNodePath" ref="a8e13e1b0ebc58494728d0e203ad2dc50" args="(NodePath &nodePath)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::ShadowVolumeOccluder::setNodePath </td> <td>(</td> <td class="paramtype"><a class="el" href="a01628.html#ab9f7a2811cf7f6d57936ca85b2d8e980">NodePath</a> & </td> <td class="paramname"> <em>nodePath</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the NodePath which describes which node in the scene graph that this occluder is attached to. </p> </div> </div> <a class="anchor" id="a9bb3191f10e4e41ea2be32a91dca5257"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::transformProvidingInverse" ref="a9bb3191f10e4e41ea2be32a91dca5257" args="(const osg::Matrix &matrix)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osg::ShadowVolumeOccluder::transformProvidingInverse </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00460.html">osg::Matrix</a> & </td> <td class="paramname"> <em>matrix</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="ac38c23e2218d94e81111f8db1daf9848"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::_holeList" ref="ac38c23e2218d94e81111f8db1daf9848" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00710.html#a79b8f39767de691d1729371d84834639">HoleList</a> <a class="el" href="a00710.html#ac38c23e2218d94e81111f8db1daf9848">osg::ShadowVolumeOccluder::_holeList</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="a00710.html#a9b9a1c35bff33a9d85fbd3bea705b199">disableResultMasks()</a>, <a class="el" href="a00710.html#a4a9e57abd30d1ce34877a716a362d12e">popCurrentMask()</a>, and <a class="el" href="a00710.html#a81c1b1b21c6fd437067dc8fc3770ccbe">pushCurrentMask()</a>.</p> </div> </div> <a class="anchor" id="a1122b1d52606a0817bd8643e278c6d01"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::_nodePath" ref="a1122b1d52606a0817bd8643e278c6d01" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01628.html#ab9f7a2811cf7f6d57936ca85b2d8e980">NodePath</a> <a class="el" href="a00710.html#a1122b1d52606a0817bd8643e278c6d01">osg::ShadowVolumeOccluder::_nodePath</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a57c448d563de1e0ac5ed295e16721fa0"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::_occluderVolume" ref="a57c448d563de1e0ac5ed295e16721fa0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00568.html">Polytope</a> <a class="el" href="a00710.html#a57c448d563de1e0ac5ed295e16721fa0">osg::ShadowVolumeOccluder::_occluderVolume</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="a00710.html#a9b9a1c35bff33a9d85fbd3bea705b199">disableResultMasks()</a>, <a class="el" href="a00710.html#a4a9e57abd30d1ce34877a716a362d12e">popCurrentMask()</a>, and <a class="el" href="a00710.html#a81c1b1b21c6fd437067dc8fc3770ccbe">pushCurrentMask()</a>.</p> </div> </div> <a class="anchor" id="aa5946e10922568a827e9d30926b8b76a"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::_projectionMatrix" ref="aa5946e10922568a827e9d30926b8b76a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00624.html">ref_ptr</a><const <a class="el" href="a00632.html">RefMatrix</a>> <a class="el" href="a00710.html#aa5946e10922568a827e9d30926b8b76a">osg::ShadowVolumeOccluder::_projectionMatrix</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a50a495c0132bf1ad4f191e5049f9c54d"></a><!-- doxytag: member="osg::ShadowVolumeOccluder::_volume" ref="a50a495c0132bf1ad4f191e5049f9c54d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float <a class="el" href="a00710.html#a50a495c0132bf1ad4f191e5049f9c54d">osg::ShadowVolumeOccluder::_volume</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>osg/<a class="el" href="a01244.html">ShadowVolumeOccluder</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:43 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>