<!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: osgAnimation::MorphGeometry 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="a01629.html">osgAnimation</a> </li> <li><a class="el" href="a00478.html">osgAnimation::MorphGeometry</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <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>osgAnimation::MorphGeometry Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="osgAnimation::MorphGeometry" --><!-- doxytag: inherits="osg::Geometry" --><div class="dynheader"> Inheritance diagram for osgAnimation::MorphGeometry:</div> <div class="dyncontent"> <div class="center"><img src="a02479.png" border="0" usemap="#osgAnimation_1_1MorphGeometry_inherit__map" alt="Inheritance graph"/></div> <map name="osgAnimation_1_1MorphGeometry_inherit__map" id="osgAnimation_1_1MorphGeometry_inherit__map"> <area shape="rect" id="node2" href="a00313.html" title="osg::Geometry" alt="" coords="53,237,160,267"/><area shape="rect" id="node4" href="a00216.html" title="Pure virtual base class for drawable geometry." alt="" coords="53,160,160,189"/><area shape="rect" id="node6" href="a00500.html" title="Base class/standard interface for objects which require IO support, cloning and reference counting..." alt="" coords="63,83,151,112"/><area shape="rect" id="node8" href="a00627.html" title="Base class from providing referencing counted objects." alt="" coords="48,5,165,35"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a02480.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00479.html">MorphTarget</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a01048.html">UpdateVertex</a></td></tr> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a1f903a60e50a1ccdba2695b02e37d8e1">Method</a> { <a class="el" href="a00478.html#a1f903a60e50a1ccdba2695b02e37d8e1a6b61188499887777d389d4910f18b164">NORMALIZED</a>, <a class="el" href="a00478.html#a1f903a60e50a1ccdba2695b02e37d8e1a40f7403bd6e4d6085e9e1b94c9cdce69">RELATIVE</a> }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="a00479.html">MorphTarget</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a3f1528307fdeef29bf3d37077bb38b84">MorphTargetList</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="a00478.html#a704103c3365a1dda61e44db76655ce89">MorphGeometry</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a2c8832f4e21b703b268b46cc5f046349">MorphGeometry</a> (const <a class="el" href="a00313.html">osg::Geometry</a> &b)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a23834f53fb61ba675b911ef5ff13358b">MorphGeometry</a> (const <a class="el" href="a00478.html">MorphGeometry</a> &b, 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">virtual <a class="el" href="a00500.html">osg::Object</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a578a94f9f006266fa954249b9aa08d1b">cloneType</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clone the type of an object, with Object* return type. <a href="#a578a94f9f006266fa954249b9aa08d1b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00500.html">osg::Object</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a45d0b3ebb909eaf1cc537d8c30b77908">clone</a> (const <a class="el" href="a00169.html">osg::CopyOp</a> &copyop) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clone an object, with Object* return type. <a href="#a45d0b3ebb909eaf1cc537d8c30b77908"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#ab51ae6955faebbb23924bcb5fbb065d1">isSameKindAs</a> (const <a class="el" href="a00500.html">osg::Object</a> *obj) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a43dc97fb6fcf9dd18c881ed7eef80c2c">libraryName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return the name of the object's library. <a href="#a43dc97fb6fcf9dd18c881ed7eef80c2c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a313e288dd21e521c6c7fe59b622b6727">className</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return the name of the object's class type. <a href="#a313e288dd21e521c6c7fe59b622b6727"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#ac2d1b296bb0c7b67e9704bae03628157">transformSoftwareMethod</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a3c81c4906600940957050574ec04e311">setMethod</a> (<a class="el" href="a00478.html#a1f903a60e50a1ccdba2695b02e37d8e1">Method</a> method)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the morphing method. <a href="#a3c81c4906600940957050574ec04e311"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00478.html#a1f903a60e50a1ccdba2695b02e37d8e1">Method</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#ae09e6ed93002ea3afc181c9526217175">getMethod</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the morphing method. <a href="#ae09e6ed93002ea3afc181c9526217175"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a70e531fedf8362d4d40b952a26032b00">setMorphNormals</a> (bool morphNormals)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set flag for morphing normals. <a href="#a70e531fedf8362d4d40b952a26032b00"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a4ea76ac7afb85a0af33d736608288a2d">getMorphNormals</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the flag for morphing normals. <a href="#a4ea76ac7afb85a0af33d736608288a2d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#ac8f77c8979c96deb36e6394c11eae6fd">addMorphTarget</a> (<a class="el" href="a00313.html">osg::Geometry</a> *morphTarget, float weight=1.0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a <code><a class="el" href="a00479.html">MorphTarget</a></code> to the <code><a class="el" href="a00478.html">MorphGeometry</a></code>. <a href="#ac8f77c8979c96deb36e6394c11eae6fd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#aac2d3e047ed09da6a49121839302b597">setWeight</a> (unsigned int index, float morphWeight)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#aadf20bcc55a66865332c8cb9a188d38e">dirty</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the <a class="el" href="a00478.html">MorphGeometry</a> dirty. <a href="#aadf20bcc55a66865332c8cb9a188d38e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00478.html#a3f1528307fdeef29bf3d37077bb38b84">MorphTargetList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a1139a364818a1481c73a2b10c40186a7">getMorphTargetList</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the list of MorphTargets. <a href="#a1139a364818a1481c73a2b10c40186a7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00478.html#a3f1528307fdeef29bf3d37077bb38b84">MorphTargetList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a3b6f10ebf8002a33b3aacc80861a00a1">getMorphTargetList</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the list of MorphTargets. <a href="#a3b6f10ebf8002a33b3aacc80861a00a1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00479.html">MorphTarget</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#ad2cd86dad4a0f7f0bb5f0ebfe5eff039">getMorphTarget</a> (unsigned int i) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the <code><a class="el" href="a00479.html">MorphTarget</a></code> at position <code>i</code>. <a href="#ad2cd86dad4a0f7f0bb5f0ebfe5eff039"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00479.html">MorphTarget</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a1471b9f5421f2c52bb560d303ff9a17a">getMorphTarget</a> (unsigned int i)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the <code><a class="el" href="a00479.html">MorphTarget</a></code> at position <code>i</code>. <a href="#a1471b9f5421f2c52bb560d303ff9a17a"></a><br/></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a4c6e1467b566127bafc728d241415014">_dirty</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Do we need to recalculate the morphed geometry? <a href="#a4c6e1467b566127bafc728d241415014"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00478.html#a1f903a60e50a1ccdba2695b02e37d8e1">Method</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#aac2489065a6b50b8f16741710c056fc9">_method</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00478.html#a3f1528307fdeef29bf3d37077bb38b84">MorphTargetList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a93a43958cb6a6f3c538b9d76b948bcf0">_morphTargets</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="a01069.html">osg::Vec3</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#a247a47217cabb530b4fd7e816ea43bd3">_positionSource</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="a01069.html">osg::Vec3</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#aa209eed58be09e8a4978cf44df547394">_normalSource</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00478.html#ad95e3a41949a58d3b1608ab5ed49a53f">_morphNormals</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Do we also morph between normals? <a href="#ad95e3a41949a58d3b1608ab5ed49a53f"></a><br/></td></tr> </table> <hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a3f1528307fdeef29bf3d37077bb38b84"></a><!-- doxytag: member="osgAnimation::MorphGeometry::MorphTargetList" ref="a3f1528307fdeef29bf3d37077bb38b84" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector<<a class="el" href="a00479.html">MorphTarget</a>> <a class="el" href="a00478.html#a3f1528307fdeef29bf3d37077bb38b84">osgAnimation::MorphGeometry::MorphTargetList</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Enumeration Documentation</h2> <a class="anchor" id="a1f903a60e50a1ccdba2695b02e37d8e1"></a><!-- doxytag: member="osgAnimation::MorphGeometry::Method" ref="a1f903a60e50a1ccdba2695b02e37d8e1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="a00478.html#a1f903a60e50a1ccdba2695b02e37d8e1">osgAnimation::MorphGeometry::Method</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="a1f903a60e50a1ccdba2695b02e37d8e1a6b61188499887777d389d4910f18b164"></a><!-- doxytag: member="NORMALIZED" ref="a1f903a60e50a1ccdba2695b02e37d8e1a6b61188499887777d389d4910f18b164" args="" -->NORMALIZED</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a1f903a60e50a1ccdba2695b02e37d8e1a40f7403bd6e4d6085e9e1b94c9cdce69"></a><!-- doxytag: member="RELATIVE" ref="a1f903a60e50a1ccdba2695b02e37d8e1a40f7403bd6e4d6085e9e1b94c9cdce69" args="" -->RELATIVE</em> </td><td> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a704103c3365a1dda61e44db76655ce89"></a><!-- doxytag: member="osgAnimation::MorphGeometry::MorphGeometry" ref="a704103c3365a1dda61e44db76655ce89" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgAnimation::MorphGeometry::MorphGeometry </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a2c8832f4e21b703b268b46cc5f046349"></a><!-- doxytag: member="osgAnimation::MorphGeometry::MorphGeometry" ref="a2c8832f4e21b703b268b46cc5f046349" args="(const osg::Geometry &b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgAnimation::MorphGeometry::MorphGeometry </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00313.html">osg::Geometry</a> & </td> <td class="paramname"> <em>b</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a23834f53fb61ba675b911ef5ff13358b"></a><!-- doxytag: member="osgAnimation::MorphGeometry::MorphGeometry" ref="a23834f53fb61ba675b911ef5ff13358b" args="(const MorphGeometry &b, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgAnimation::MorphGeometry::MorphGeometry </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00478.html">MorphGeometry</a> & </td> <td class="paramname"> <em>b</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> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ac8f77c8979c96deb36e6394c11eae6fd"></a><!-- doxytag: member="osgAnimation::MorphGeometry::addMorphTarget" ref="ac8f77c8979c96deb36e6394c11eae6fd" args="(osg::Geometry *morphTarget, float weight=1.0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void osgAnimation::MorphGeometry::addMorphTarget </td> <td>(</td> <td class="paramtype"><a class="el" href="a00313.html">osg::Geometry</a> * </td> <td class="paramname"> <em>morphTarget</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>weight</em> = <code>1.0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Add a <code><a class="el" href="a00479.html">MorphTarget</a></code> to the <code><a class="el" href="a00478.html">MorphGeometry</a></code>. </p> <p>If <code><a class="el" href="a00479.html">MorphTarget</a></code> is not <code>NULL</code> and is not contained in the <code><a class="el" href="a00478.html">MorphGeometry</a></code> then increment its reference count, add it to the MorphTargets list and dirty the bounding sphere to force it to be recomputed on the next call to <code><a class="el" href="a00216.html#a9676dc14a029baf3b5ce35bdcbcb1343" title="Get BoundingBox of Drawable.">getBound()</a></code>. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>morphTarget</em> </td><td>The <code><a class="el" href="a00479.html">MorphTarget</a></code> to be added to the <code><a class="el" href="a00478.html">MorphGeometry</a></code>. </td></tr> <tr><td valign="top"></td><td valign="top"><em>weight</em> </td><td>The weight to be added to the <code><a class="el" href="a00478.html">MorphGeometry</a></code>. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> for success; <code>false</code> otherwise. </dd></dl> </div> </div> <a class="anchor" id="a313e288dd21e521c6c7fe59b622b6727"></a><!-- doxytag: member="osgAnimation::MorphGeometry::className" ref="a313e288dd21e521c6c7fe59b622b6727" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* osgAnimation::MorphGeometry::className </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 name of the object's class type. </p> <p>Must be defined by derived classes. </p> <p>Reimplemented from <a class="el" href="a00313.html#ad6d587aa9c9c1938b7887184b2045f1b">osg::Geometry</a>.</p> </div> </div> <a class="anchor" id="a45d0b3ebb909eaf1cc537d8c30b77908"></a><!-- doxytag: member="osgAnimation::MorphGeometry::clone" ref="a45d0b3ebb909eaf1cc537d8c30b77908" args="(const osg::CopyOp &copyop) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00500.html">osg::Object</a>* osgAnimation::MorphGeometry::clone </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00169.html">osg::CopyOp</a> & </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Clone an object, with Object* return type. </p> <p>Must be defined by derived classes. </p> <p>Reimplemented from <a class="el" href="a00313.html#a15533376a0b90a28c9f37f2a658a7309">osg::Geometry</a>.</p> </div> </div> <a class="anchor" id="a578a94f9f006266fa954249b9aa08d1b"></a><!-- doxytag: member="osgAnimation::MorphGeometry::cloneType" ref="a578a94f9f006266fa954249b9aa08d1b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00500.html">osg::Object</a>* osgAnimation::MorphGeometry::cloneType </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Clone the type of an object, with Object* return type. </p> <p>Must be defined by derived classes. </p> <p>Reimplemented from <a class="el" href="a00313.html#ab9125a20f90569bf9742b38c145e1792">osg::Geometry</a>.</p> </div> </div> <a class="anchor" id="aadf20bcc55a66865332c8cb9a188d38e"></a><!-- doxytag: member="osgAnimation::MorphGeometry::dirty" ref="aadf20bcc55a66865332c8cb9a188d38e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgAnimation::MorphGeometry::dirty </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the <a class="el" href="a00478.html">MorphGeometry</a> dirty. </p> </div> </div> <a class="anchor" id="ae09e6ed93002ea3afc181c9526217175"></a><!-- doxytag: member="osgAnimation::MorphGeometry::getMethod" ref="ae09e6ed93002ea3afc181c9526217175" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00478.html#a1f903a60e50a1ccdba2695b02e37d8e1">Method</a> osgAnimation::MorphGeometry::getMethod </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the morphing method. </p> </div> </div> <a class="anchor" id="a4ea76ac7afb85a0af33d736608288a2d"></a><!-- doxytag: member="osgAnimation::MorphGeometry::getMorphNormals" ref="a4ea76ac7afb85a0af33d736608288a2d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool osgAnimation::MorphGeometry::getMorphNormals </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the flag for morphing normals. </p> </div> </div> <a class="anchor" id="ad2cd86dad4a0f7f0bb5f0ebfe5eff039"></a><!-- doxytag: member="osgAnimation::MorphGeometry::getMorphTarget" ref="ad2cd86dad4a0f7f0bb5f0ebfe5eff039" args="(unsigned int i) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00479.html">MorphTarget</a>& osgAnimation::MorphGeometry::getMorphTarget </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>i</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the <code><a class="el" href="a00479.html">MorphTarget</a></code> at position <code>i</code>. </p> </div> </div> <a class="anchor" id="a1471b9f5421f2c52bb560d303ff9a17a"></a><!-- doxytag: member="osgAnimation::MorphGeometry::getMorphTarget" ref="a1471b9f5421f2c52bb560d303ff9a17a" args="(unsigned int i)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00479.html">MorphTarget</a>& osgAnimation::MorphGeometry::getMorphTarget </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>i</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the <code><a class="el" href="a00479.html">MorphTarget</a></code> at position <code>i</code>. </p> </div> </div> <a class="anchor" id="a3b6f10ebf8002a33b3aacc80861a00a1"></a><!-- doxytag: member="osgAnimation::MorphGeometry::getMorphTargetList" ref="a3b6f10ebf8002a33b3aacc80861a00a1" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00478.html#a3f1528307fdeef29bf3d37077bb38b84">MorphTargetList</a>& osgAnimation::MorphGeometry::getMorphTargetList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the list of MorphTargets. </p> <p>Warning if you modify this array you will have to call <a class="el" href="a00478.html#aadf20bcc55a66865332c8cb9a188d38e" title="Set the MorphGeometry dirty.">dirty()</a> </p> </div> </div> <a class="anchor" id="a1139a364818a1481c73a2b10c40186a7"></a><!-- doxytag: member="osgAnimation::MorphGeometry::getMorphTargetList" ref="a1139a364818a1481c73a2b10c40186a7" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00478.html#a3f1528307fdeef29bf3d37077bb38b84">MorphTargetList</a>& osgAnimation::MorphGeometry::getMorphTargetList </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the list of MorphTargets. </p> </div> </div> <a class="anchor" id="ab51ae6955faebbb23924bcb5fbb065d1"></a><!-- doxytag: member="osgAnimation::MorphGeometry::isSameKindAs" ref="ab51ae6955faebbb23924bcb5fbb065d1" args="(const osg::Object *obj) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool osgAnimation::MorphGeometry::isSameKindAs </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00500.html">osg::Object</a> * </td> <td class="paramname"> <em>obj</em></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Reimplemented from <a class="el" href="a00313.html#ac96efaff5311c47aa82bc6deabb18121">osg::Geometry</a>.</p> <p>References <a class="el" href="a01157.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p> </div> </div> <a class="anchor" id="a43dc97fb6fcf9dd18c881ed7eef80c2c"></a><!-- doxytag: member="osgAnimation::MorphGeometry::libraryName" ref="a43dc97fb6fcf9dd18c881ed7eef80c2c" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* osgAnimation::MorphGeometry::libraryName </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 name of the object's library. </p> <p>Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. </p> <p>Reimplemented from <a class="el" href="a00313.html#ab4f0b90803d0c794399ac7df8c3b796e">osg::Geometry</a>.</p> </div> </div> <a class="anchor" id="a3c81c4906600940957050574ec04e311"></a><!-- doxytag: member="osgAnimation::MorphGeometry::setMethod" ref="a3c81c4906600940957050574ec04e311" args="(Method method)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgAnimation::MorphGeometry::setMethod </td> <td>(</td> <td class="paramtype"><a class="el" href="a00478.html#a1f903a60e50a1ccdba2695b02e37d8e1">Method</a> </td> <td class="paramname"> <em>method</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the morphing method. </p> </div> </div> <a class="anchor" id="a70e531fedf8362d4d40b952a26032b00"></a><!-- doxytag: member="osgAnimation::MorphGeometry::setMorphNormals" ref="a70e531fedf8362d4d40b952a26032b00" args="(bool morphNormals)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgAnimation::MorphGeometry::setMorphNormals </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>morphNormals</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set flag for morphing normals. </p> </div> </div> <a class="anchor" id="aac2d3e047ed09da6a49121839302b597"></a><!-- doxytag: member="osgAnimation::MorphGeometry::setWeight" ref="aac2d3e047ed09da6a49121839302b597" args="(unsigned int index, float morphWeight)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgAnimation::MorphGeometry::setWeight </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>morphWeight</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"> </div> </div> <a class="anchor" id="ac2d1b296bb0c7b67e9704bae03628157"></a><!-- doxytag: member="osgAnimation::MorphGeometry::transformSoftwareMethod" ref="ac2d1b296bb0c7b67e9704bae03628157" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void osgAnimation::MorphGeometry::transformSoftwareMethod </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="a01048.html#a851f7fb75e03d5510523702d4e6c1382">osgAnimation::MorphGeometry::UpdateVertex::update()</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a4c6e1467b566127bafc728d241415014"></a><!-- doxytag: member="osgAnimation::MorphGeometry::_dirty" ref="a4c6e1467b566127bafc728d241415014" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a00478.html#a4c6e1467b566127bafc728d241415014">osgAnimation::MorphGeometry::_dirty</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Do we need to recalculate the morphed geometry? </p> </div> </div> <a class="anchor" id="aac2489065a6b50b8f16741710c056fc9"></a><!-- doxytag: member="osgAnimation::MorphGeometry::_method" ref="aac2489065a6b50b8f16741710c056fc9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00478.html#a1f903a60e50a1ccdba2695b02e37d8e1">Method</a> <a class="el" href="a00478.html#aac2489065a6b50b8f16741710c056fc9">osgAnimation::MorphGeometry::_method</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ad95e3a41949a58d3b1608ab5ed49a53f"></a><!-- doxytag: member="osgAnimation::MorphGeometry::_morphNormals" ref="ad95e3a41949a58d3b1608ab5ed49a53f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a00478.html#ad95e3a41949a58d3b1608ab5ed49a53f">osgAnimation::MorphGeometry::_morphNormals</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Do we also morph between normals? </p> </div> </div> <a class="anchor" id="a93a43958cb6a6f3c538b9d76b948bcf0"></a><!-- doxytag: member="osgAnimation::MorphGeometry::_morphTargets" ref="a93a43958cb6a6f3c538b9d76b948bcf0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00478.html#a3f1528307fdeef29bf3d37077bb38b84">MorphTargetList</a> <a class="el" href="a00478.html#a93a43958cb6a6f3c538b9d76b948bcf0">osgAnimation::MorphGeometry::_morphTargets</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="aa209eed58be09e8a4978cf44df547394"></a><!-- doxytag: member="osgAnimation::MorphGeometry::_normalSource" ref="aa209eed58be09e8a4978cf44df547394" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::vector<<a class="el" href="a01069.html">osg::Vec3</a>> <a class="el" href="a00478.html#aa209eed58be09e8a4978cf44df547394">osgAnimation::MorphGeometry::_normalSource</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a247a47217cabb530b4fd7e816ea43bd3"></a><!-- doxytag: member="osgAnimation::MorphGeometry::_positionSource" ref="a247a47217cabb530b4fd7e816ea43bd3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::vector<<a class="el" href="a01069.html">osg::Vec3</a>> <a class="el" href="a00478.html#a247a47217cabb530b4fd7e816ea43bd3">osgAnimation::MorphGeometry::_positionSource</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>osgAnimation/<a class="el" href="a01331.html">MorphGeometry</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:44 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>