<!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: osgParticle::AccelOperator 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.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">OpenSceneGraph <span id="projectnumber">2.8.4</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a01635.html">osgParticle</a> </li> <li class="navelem"><a class="el" href="a00002.html">AccelOperator</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> </div> <div class="headertitle"> <div class="title">osgParticle::AccelOperator Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="osgParticle::AccelOperator" --><!-- doxytag: inherits="osgParticle::Operator" --> <p>An operator class that applies a constant acceleration to the particles. <a href="a00002.html#details">More...</a></p> <div class="dynheader"> Inheritance diagram for osgParticle::AccelOperator:</div> <div class="dyncontent"> <div class="center"><img src="a03043.png" border="0" usemap="#osgParticle_1_1AccelOperator_inherit__map" alt="Inheritance graph"/></div> <map name="osgParticle_1_1AccelOperator_inherit__map" id="osgParticle_1_1AccelOperator_inherit__map"> <area shape="rect" id="node2" href="a00517.html" title="An abstract base class used by ModularProgram to perform operations on particles before they are upda..." alt="" coords="24,160,189,189"/><area shape="rect" id="node4" href="a00500.html" title="Base class/standard interface for objects which require IO support, cloning and reference counting..." alt="" coords="56,83,157,112"/><area shape="rect" id="node6" href="a00627.html" title="Base class from providing referencing counted objects." alt="" coords="40,5,173,35"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a03044.html">List of all members.</a></p> <table class="memberdecls"> <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="a00002.html#aa03b4d46462ff60ebfa99755318e6df1">AccelOperator</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#a84d62c6e99a7bb35d4cfa4b5319e6145">AccelOperator</a> (const <a class="el" href="a00002.html">AccelOperator</a> &copy, const <a class="el" href="a00169.html">osg::CopyOp</a> &copyop=osg::CopyOp::SHALLOW_COPY)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#ae8e1d5e1026b24c8d38eed2b9583f591">META_Object</a> (osgParticle, <a class="el" href="a00002.html">AccelOperator</a>)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01069.html">osg::Vec3</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#a39eb8293cd42678e8b112079668f46c0">getAcceleration</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the acceleration vector. <a href="#a39eb8293cd42678e8b112079668f46c0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#ae1bcdb75cccfe01331867f78958c312b">setAcceleration</a> (const <a class="el" href="a01069.html">osg::Vec3</a> &v)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the acceleration vector. <a href="#ae1bcdb75cccfe01331867f78958c312b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#a5942aa3b1354ff59d6dbd1757f4a4aef">setToGravity</a> (float scale=1)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Quickly set the acceleration vector to the gravity on earth (0, 0, -9.81). <a href="#a5942aa3b1354ff59d6dbd1757f4a4aef"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#accb7e2de52876f47e53297daa5897839">operate</a> (<a class="el" href="a00539.html">Particle</a> *P, double dt)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Apply the acceleration to a particle. Do not call this method manually. <a href="#accb7e2de52876f47e53297daa5897839"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#a02b584902b9425b3b6c3519fc592715e">beginOperate</a> (<a class="el" href="a00581.html">Program</a> *prg)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform some initializations. Do not call this method manually. <a href="#a02b584902b9425b3b6c3519fc592715e"></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">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#af4096906b7dfec13fb3086d2cd3ee9ab">~AccelOperator</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00002.html">AccelOperator</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#a9da38571c61438cdabcca579acdb1b34">operator=</a> (const <a class="el" href="a00002.html">AccelOperator</a> &)</td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>An operator class that applies a constant acceleration to the particles. </p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="aa03b4d46462ff60ebfa99755318e6df1"></a><!-- doxytag: member="osgParticle::AccelOperator::AccelOperator" ref="aa03b4d46462ff60ebfa99755318e6df1" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgParticle::AccelOperator::AccelOperator </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="a84d62c6e99a7bb35d4cfa4b5319e6145"></a><!-- doxytag: member="osgParticle::AccelOperator::AccelOperator" ref="a84d62c6e99a7bb35d4cfa4b5319e6145" args="(const AccelOperator &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgParticle::AccelOperator::AccelOperator </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00002.html">AccelOperator</a> & </td> <td class="paramname"><em>copy</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00169.html">osg::CopyOp</a> & </td> <td class="paramname"><em>copyop</em> = <code>osg::CopyOp::SHALLOW_COPY</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="af4096906b7dfec13fb3086d2cd3ee9ab"></a><!-- doxytag: member="osgParticle::AccelOperator::~AccelOperator" ref="af4096906b7dfec13fb3086d2cd3ee9ab" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual osgParticle::AccelOperator::~AccelOperator </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a02b584902b9425b3b6c3519fc592715e"></a><!-- doxytag: member="osgParticle::AccelOperator::beginOperate" ref="a02b584902b9425b3b6c3519fc592715e" args="(Program *prg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgParticle::AccelOperator::beginOperate </td> <td>(</td> <td class="paramtype"><a class="el" href="a00581.html">Program</a> * </td> <td class="paramname"><em>prg</em></td><td>)</td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Perform some initializations. Do not call this method manually. </p> <p>Reimplemented from <a class="el" href="a00517.html#af628062c4032c97a3112f900fd74f4a3">osgParticle::Operator</a>.</p> <p>References <a class="el" href="a00541.html#a33c2edf1360b1139d2b2717a17440d54">osgParticle::ParticleProcessor::getReferenceFrame()</a>, <a class="el" href="a00541.html#a1740ec0a77e719b64baef52ade4040f9a1e867ee210cf5c819d5b8a192f625191">osgParticle::ParticleProcessor::RELATIVE_RF</a>, and <a class="el" href="a00541.html#a8e58de99cb58ecc648ebdd72f6537c70">osgParticle::ParticleProcessor::rotateLocalToWorld()</a>.</p> </div> </div> <a class="anchor" id="a39eb8293cd42678e8b112079668f46c0"></a><!-- doxytag: member="osgParticle::AccelOperator::getAcceleration" ref="a39eb8293cd42678e8b112079668f46c0" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a01069.html">osg::Vec3</a> & osgParticle::AccelOperator::getAcceleration </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the acceleration vector. </p> </div> </div> <a class="anchor" id="ae8e1d5e1026b24c8d38eed2b9583f591"></a><!-- doxytag: member="osgParticle::AccelOperator::META_Object" ref="ae8e1d5e1026b24c8d38eed2b9583f591" args="(osgParticle, AccelOperator)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgParticle::AccelOperator::META_Object </td> <td>(</td> <td class="paramtype">osgParticle </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00002.html">AccelOperator</a> </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="accb7e2de52876f47e53297daa5897839"></a><!-- doxytag: member="osgParticle::AccelOperator::operate" ref="accb7e2de52876f47e53297daa5897839" args="(Particle *P, double dt)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgParticle::AccelOperator::operate </td> <td>(</td> <td class="paramtype"><a class="el" href="a00539.html">Particle</a> * </td> <td class="paramname"><em>P</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>dt</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Apply the acceleration to a particle. Do not call this method manually. </p> <p>Implements <a class="el" href="a00517.html#abc69059c017c0e321922f4082fbf03c4">osgParticle::Operator</a>.</p> <p>References <a class="el" href="a00539.html#a437d8e78b31b4436b2363ef80e72edb2">osgParticle::Particle::addVelocity()</a>.</p> </div> </div> <a class="anchor" id="a9da38571c61438cdabcca579acdb1b34"></a><!-- doxytag: member="osgParticle::AccelOperator::operator=" ref="a9da38571c61438cdabcca579acdb1b34" args="(const AccelOperator &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00002.html">AccelOperator</a>& osgParticle::AccelOperator::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00002.html">AccelOperator</a> & </td> <td class="paramname"></td><td>)</td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ae1bcdb75cccfe01331867f78958c312b"></a><!-- doxytag: member="osgParticle::AccelOperator::setAcceleration" ref="ae1bcdb75cccfe01331867f78958c312b" args="(const osg::Vec3 &v)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgParticle::AccelOperator::setAcceleration </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01069.html">osg::Vec3</a> & </td> <td class="paramname"><em>v</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the acceleration vector. </p> </div> </div> <a class="anchor" id="a5942aa3b1354ff59d6dbd1757f4a4aef"></a><!-- doxytag: member="osgParticle::AccelOperator::setToGravity" ref="a5942aa3b1354ff59d6dbd1757f4a4aef" args="(float scale=1)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgParticle::AccelOperator::setToGravity </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"><em>scale</em> = <code>1</code></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Quickly set the acceleration vector to the gravity on earth (0, 0, -9.81). </p> <p>The acceleration will be multiplied by the <code>scale</code> parameter. </p> <p>References <a class="el" href="a01069.html#a3fb300d7cadedc136ac87333446c6759">osg::Vec3f::set()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>osgParticle/<a class="el" href="a01456.html">AccelOperator</a></li> </ul> </div> <hr> <table border="0"><tr><td> <img src="osg32-32.png" alt="osg logo" /> </td><td> <address><small>Generated at Tue May 31 2011 04:19:36 for the <a href="http://www.openscenegraph.org/">OpenSceneGraph</a> by <a href="http://www.doxygen.org">doxygen</a> 1.7.4.</small></address> <!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph --> </td></tr></table> </body> </html>