<!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::MultiSegmentPlacer 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="a01635.html">osgParticle</a> </li> <li><a class="el" href="a00485.html">osgParticle::MultiSegmentPlacer</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"> <h1>osgParticle::MultiSegmentPlacer Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="osgParticle::MultiSegmentPlacer" --><!-- doxytag: inherits="osgParticle::Placer" --> <p>A polyline-shaped particle placer. <a href="#_details">More...</a></p> <div class="dynheader"> Inheritance diagram for osgParticle::MultiSegmentPlacer:</div> <div class="dyncontent"> <div class="center"><img src="a03316.png" border="0" usemap="#osgParticle_1_1MultiSegmentPlacer_inherit__map" alt="Inheritance graph"/></div> <map name="osgParticle_1_1MultiSegmentPlacer_inherit__map" id="osgParticle_1_1MultiSegmentPlacer_inherit__map"> <area shape="rect" id="node2" href="a00555.html" title="An abstract base class for implementing particle placers." alt="" coords="45,160,176,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="67,83,155,112"/><area shape="rect" id="node6" href="a00627.html" title="Base class from providing referencing counted objects." alt="" coords="52,5,169,35"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a03317.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="a00485.html#a47c82fb1426c6e5cbd09c1b02093190b">MultiSegmentPlacer</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00485.html#a94e350f7d009affe538fe9462676af87">MultiSegmentPlacer</a> (const <a class="el" href="a00485.html">MultiSegmentPlacer</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="a00485.html#a4722dec3bb28ab36181c2e582e9bdc9c">META_Object</a> (osgParticle, <a class="el" href="a00485.html">MultiSegmentPlacer</a>)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00485.html#a12b52289d6fde28739ad0712abd5c169">numVertices</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of vertices which define the segments. <a href="#a12b52289d6fde28739ad0712abd5c169"></a><br/></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="a00485.html#a7cee600b8b2441e05758fd156ceb8f05">getVertex</a> (int i) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get a vertex. <a href="#a7cee600b8b2441e05758fd156ceb8f05"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00485.html#aea17b1b76ac2855aa14072968da49c99">setVertex</a> (int i, const <a class="el" href="a01069.html">osg::Vec3</a> &v)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set a vertex. <a href="#aea17b1b76ac2855aa14072968da49c99"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00485.html#a2c2b1ca66d271e3f4f296faae044f88a">setVertex</a> (int i, float x, float y, float z)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set a vertex. <a href="#a2c2b1ca66d271e3f4f296faae044f88a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00485.html#a62b5bb6600ae93e0831565f88b4a6d0a">addVertex</a> (const <a class="el" href="a01069.html">osg::Vec3</a> &v)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a vertex. <a href="#a62b5bb6600ae93e0831565f88b4a6d0a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00485.html#a8d1e1527b1322da62b5cdd53b1163a65">addVertex</a> (float x, float y, float z)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a vertex. <a href="#a8d1e1527b1322da62b5cdd53b1163a65"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00485.html#ace1e124d4a5eb59bc0631d8af9992a7e">removeVertex</a> (int i)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Remove a vertex. <a href="#ace1e124d4a5eb59bc0631d8af9992a7e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00485.html#a32aedae57c42928afa0724d148b9fb4d">place</a> (<a class="el" href="a00539.html">Particle</a> *P) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Place a partice. Called automatically by <code><a class="el" href="a00476.html" title="An emitter class that holds three objects to control the creation of particles.">ModularEmitter</a></code>, do not call this method manually. <a href="#a32aedae57c42928afa0724d148b9fb4d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01069.html">osg::Vec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00485.html#ac0c660cdb18e57f9cdc94762b4404ad9">getControlPosition</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return the control position <a href="#ac0c660cdb18e57f9cdc94762b4404ad9"></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="a00485.html#a6dddf9004f87810dd5159ee242a29821">~MultiSegmentPlacer</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00485.html">MultiSegmentPlacer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00485.html#a3bcfdeacc185398ee2e54bc400526ed5">operator=</a> (const <a class="el" href="a00485.html">MultiSegmentPlacer</a> &)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>A polyline-shaped particle placer. </p> <p>This placer class sets the position of incoming particles by choosing a random point on the specified sequence of connected segments. </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a47c82fb1426c6e5cbd09c1b02093190b"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::MultiSegmentPlacer" ref="a47c82fb1426c6e5cbd09c1b02093190b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgParticle::MultiSegmentPlacer::MultiSegmentPlacer </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a94e350f7d009affe538fe9462676af87"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::MultiSegmentPlacer" ref="a94e350f7d009affe538fe9462676af87" args="(const MultiSegmentPlacer &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgParticle::MultiSegmentPlacer::MultiSegmentPlacer </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00485.html">MultiSegmentPlacer</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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a6dddf9004f87810dd5159ee242a29821"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::~MultiSegmentPlacer" ref="a6dddf9004f87810dd5159ee242a29821" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual osgParticle::MultiSegmentPlacer::~MultiSegmentPlacer </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="a62b5bb6600ae93e0831565f88b4a6d0a"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::addVertex" ref="a62b5bb6600ae93e0831565f88b4a6d0a" args="(const osg::Vec3 &v)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgParticle::MultiSegmentPlacer::addVertex </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>Add a vertex. </p> <p>Referenced by <a class="el" href="a00485.html#a8d1e1527b1322da62b5cdd53b1163a65">addVertex()</a>.</p> </div> </div> <a class="anchor" id="a8d1e1527b1322da62b5cdd53b1163a65"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::addVertex" ref="a8d1e1527b1322da62b5cdd53b1163a65" args="(float x, float y, float z)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgParticle::MultiSegmentPlacer::addVertex </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>z</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Add a vertex. </p> <p>References <a class="el" href="a00485.html#a62b5bb6600ae93e0831565f88b4a6d0a">addVertex()</a>.</p> </div> </div> <a class="anchor" id="ac0c660cdb18e57f9cdc94762b4404ad9"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::getControlPosition" ref="ac0c660cdb18e57f9cdc94762b4404ad9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01069.html">osg::Vec3</a> osgParticle::MultiSegmentPlacer::getControlPosition </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>return the control position </p> <p>Implements <a class="el" href="a00555.html#a0521de68c57b00dcf15f58d44a88d29c">osgParticle::Placer</a>.</p> </div> </div> <a class="anchor" id="a7cee600b8b2441e05758fd156ceb8f05"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::getVertex" ref="a7cee600b8b2441e05758fd156ceb8f05" args="(int i) 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::MultiSegmentPlacer::getVertex </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>i</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get a vertex. </p> </div> </div> <a class="anchor" id="a4722dec3bb28ab36181c2e582e9bdc9c"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::META_Object" ref="a4722dec3bb28ab36181c2e582e9bdc9c" args="(osgParticle, MultiSegmentPlacer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgParticle::MultiSegmentPlacer::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="a00485.html">MultiSegmentPlacer</a> </td> <td class="paramname"></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a12b52289d6fde28739ad0712abd5c169"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::numVertices" ref="a12b52289d6fde28739ad0712abd5c169" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int osgParticle::MultiSegmentPlacer::numVertices </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the number of vertices which define the segments. </p> </div> </div> <a class="anchor" id="a3bcfdeacc185398ee2e54bc400526ed5"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::operator=" ref="a3bcfdeacc185398ee2e54bc400526ed5" args="(const MultiSegmentPlacer &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00485.html">MultiSegmentPlacer</a>& osgParticle::MultiSegmentPlacer::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00485.html">MultiSegmentPlacer</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="a32aedae57c42928afa0724d148b9fb4d"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::place" ref="a32aedae57c42928afa0724d148b9fb4d" args="(Particle *P) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgParticle::MultiSegmentPlacer::place </td> <td>(</td> <td class="paramtype"><a class="el" href="a00539.html">Particle</a> * </td> <td class="paramname"> <em>P</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Place a partice. Called automatically by <code><a class="el" href="a00476.html" title="An emitter class that holds three objects to control the creation of particles.">ModularEmitter</a></code>, do not call this method manually. </p> <p>Implements <a class="el" href="a00555.html#af6332c6cac10db79e99faafa0868e708">osgParticle::Placer</a>.</p> </div> </div> <a class="anchor" id="ace1e124d4a5eb59bc0631d8af9992a7e"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::removeVertex" ref="ace1e124d4a5eb59bc0631d8af9992a7e" args="(int i)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgParticle::MultiSegmentPlacer::removeVertex </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>i</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Remove a vertex. </p> </div> </div> <a class="anchor" id="aea17b1b76ac2855aa14072968da49c99"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::setVertex" ref="aea17b1b76ac2855aa14072968da49c99" args="(int i, const osg::Vec3 &v)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgParticle::MultiSegmentPlacer::setVertex </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>i</em>, </td> </tr> <tr> <td class="paramkey"></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> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set a vertex. </p> </div> </div> <a class="anchor" id="a2c2b1ca66d271e3f4f296faae044f88a"></a><!-- doxytag: member="osgParticle::MultiSegmentPlacer::setVertex" ref="a2c2b1ca66d271e3f4f296faae044f88a" args="(int i, float x, float y, float z)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgParticle::MultiSegmentPlacer::setVertex </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>z</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set a vertex. </p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>osgParticle/<a class="el" href="a01475.html">MultiSegmentPlacer</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:45 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>