summaryrefslogtreecommitdiff
path: root/doc/html/classirr_1_1scene_1_1_i_skinned_mesh.html
diff options
context:
space:
mode:
authorMirrorbot <mirrorbot@cogarr.net>2025-12-27 17:53:06 -0600
committerMirrorbot <mirrorbot@cogarr.net>2025-12-27 17:53:06 -0600
commit71e94ee161447b84c0eaabf6567f8fa62262cd3e (patch)
tree391064cc6173a6fe75069af2fdc1978af12f623e /doc/html/classirr_1_1scene_1_1_i_skinned_mesh.html
downloadirrlicht-master.tar.gz
irrlicht-master.tar.bz2
irrlicht-master.zip
Inital commitHEADmaster
Diffstat (limited to 'doc/html/classirr_1_1scene_1_1_i_skinned_mesh.html')
-rw-r--r--doc/html/classirr_1_1scene_1_1_i_skinned_mesh.html613
1 files changed, 613 insertions, 0 deletions
diff --git a/doc/html/classirr_1_1scene_1_1_i_skinned_mesh.html b/doc/html/classirr_1_1scene_1_1_i_skinned_mesh.html
new file mode 100644
index 0000000..ac918a8
--- /dev/null
+++ b/doc/html/classirr_1_1scene_1_1_i_skinned_mesh.html
@@ -0,0 +1,613 @@
+<!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>Irrlicht 3D Engine: irr::scene::ISkinnedMesh Class Reference</title>
+
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+
+ <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
+
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Irrlicht 3D Engine
+
+ </div>
+
+ </td>
+
+
+
+
+ <td> <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+</td>
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="dynsections.js"></script>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('classirr_1_1scene_1_1_i_skinned_mesh.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> </div>
+ <div class="headertitle">
+<div class="title">irr::scene::ISkinnedMesh Class Reference</div> </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="irr::scene::ISkinnedMesh" --><!-- doxytag: inherits="irr::scene::IAnimatedMesh" -->
+<p>Interface for using some special functions of Skinned meshes.
+ <a href="classirr_1_1scene_1_1_i_skinned_mesh.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="_i_skinned_mesh_8h_source.html">ISkinnedMesh.h</a>&gt;</code></p>
+<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
+ <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for irr::scene::ISkinnedMesh:</div>
+<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
+</div>
+<div id="dynsection-0-content" class="dyncontent" style="display:none;">
+ <div class="center">
+ <img src="classirr_1_1scene_1_1_i_skinned_mesh.png" usemap="#irr::scene::ISkinnedMesh_map" alt=""/>
+ <map id="irr::scene::ISkinnedMesh_map" name="irr::scene::ISkinnedMesh_map">
+<area href="classirr_1_1scene_1_1_i_animated_mesh.html" title="Interface for an animated mesh." alt="irr::scene::IAnimatedMesh" shape="rect" coords="0,112,157,136"/>
+<area href="classirr_1_1scene_1_1_i_mesh.html" title="Class which holds the geometry of an object." alt="irr::scene::IMesh" shape="rect" coords="0,56,157,80"/>
+<area href="classirr_1_1_i_reference_counted.html" title="Base class of most objects of the Irrlicht Engine." alt="irr::IReferenceCounted" shape="rect" coords="0,0,157,24"/>
+</map>
+ </div></div>
+
+<p><a href="classirr_1_1scene_1_1_i_skinned_mesh-members.html">List of all members.</a></p>
+<h2><a name="nested-classes"></a>
+Classes</h2>
+<ul>
+<li>struct <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a>
+<dl class="el"><dd class="mdescRight">Joints. <a href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html#details">More...</a><br/></dl><li>struct <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_position_key.html">SPositionKey</a>
+<dl class="el"><dd class="mdescRight">Animation keyframe which describes a new position. <a href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_position_key.html#details">More...</a><br/></dl><li>struct <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_rotation_key.html">SRotationKey</a>
+<dl class="el"><dd class="mdescRight">Animation keyframe which describes a new rotation. <a href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_rotation_key.html#details">More...</a><br/></dl><li>struct <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_scale_key.html">SScaleKey</a>
+<dl class="el"><dd class="mdescRight">Animation keyframe which describes a new scale. <a href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_scale_key.html#details">More...</a><br/></dl><li>struct <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_weight.html">SWeight</a>
+<dl class="el"><dd class="mdescRight">A vertex weight. <a href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_weight.html#details">More...</a><br/></dl></ul>
+<h2><a name="pub-methods"></a>
+Public Member Functions</h2>
+<ul>
+<li>virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a713edfbc7f3e9394487882156dc6fe2f">addJoint</a> (<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *parent=0)=0
+<dl class="el"><dd class="mdescRight">Adds a new joint to the mesh, access it as last one. <a href="#a713edfbc7f3e9394487882156dc6fe2f"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_s_skin_mesh_buffer.html">SSkinMeshBuffer</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#abc55b0dc2c1e80ef5fa4cab8e17b76af">addMeshBuffer</a> ()=0
+<dl class="el"><dd class="mdescRight">Adds a new meshbuffer to the mesh, access it as last one. <a href="#abc55b0dc2c1e80ef5fa4cab8e17b76af"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_position_key.html">SPositionKey</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a4441937c52c1fdf3d2bbaeff1406716d">addPositionKey</a> (<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *joint)=0
+<dl class="el"><dd class="mdescRight">Adds a new position key to the mesh, access it as last one. <a href="#a4441937c52c1fdf3d2bbaeff1406716d"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_rotation_key.html">SRotationKey</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#ab5d41c1fc22de5d7cb9c376d2a873ab9">addRotationKey</a> (<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *joint)=0
+<dl class="el"><dd class="mdescRight">Adds a new rotation key to the mesh, access it as last one. <a href="#ab5d41c1fc22de5d7cb9c376d2a873ab9"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_scale_key.html">SScaleKey</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a3601a01c99594fe8db3cccaec89df7d6">addScaleKey</a> (<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *joint)=0
+<dl class="el"><dd class="mdescRight">Adds a new scale key to the mesh, access it as last one. <a href="#a3601a01c99594fe8db3cccaec89df7d6"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_weight.html">SWeight</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a6b79ee2544eb0ffe8501c06fd347ea89">addWeight</a> (<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *joint)=0
+<dl class="el"><dd class="mdescRight">Adds a new weight to the mesh, access it as last one. <a href="#a6b79ee2544eb0ffe8501c06fd347ea89"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a5cbb9dad48413636f9e9c2ac9201cfae">animateMesh</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> frame, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> blend)=0
+<dl class="el"><dd class="mdescRight">Animates this mesh's joints based on frame input. <a href="#a5cbb9dad48413636f9e9c2ac9201cfae"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#ae63f3f1a74bf38c4b5113e3a5b96c0f3">convertMeshToTangents</a> ()=0
+<dl class="el"><dd class="mdescRight">converts the vertex type of all meshbuffers to tangents. <a href="#ae63f3f1a74bf38c4b5113e3a5b96c0f3"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a83549df06904513c439c92e34b424b02">finalize</a> ()=0
+<dl class="el"><dd class="mdescRight">loaders should call this after populating the mesh <a href="#a83549df06904513c439c92e34b424b02"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1core_1_1array.html">core::array</a>&lt; <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> * &gt; &amp; <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a4fcdc38666f24a092191668ff909936f">getAllJoints</a> ()=0
+<dl class="el"><dd class="mdescRight">exposed for loaders: joints list <a href="#a4fcdc38666f24a092191668ff909936f"></a><br/></dl><li>virtual const <a class="el" href="classirr_1_1core_1_1array.html">core::array</a><br class="typebreak"/>
+&lt; <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> * &gt; &amp; <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a8dcc5dc083cd93a349acd0a2e01da539">getAllJoints</a> () const =0
+<dl class="el"><dd class="mdescRight">exposed for loaders: joints list <a href="#a8dcc5dc083cd93a349acd0a2e01da539"></a><br/></dl><li>virtual <a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a7715fb82ffec225d2fd9b8aa860e3c38">getJointCount</a> () const =0
+<dl class="el"><dd class="mdescRight">Gets joint count. <a href="#a7715fb82ffec225d2fd9b8aa860e3c38"></a><br/></dl><li>virtual const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> * <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#ab28aed78a7e2eeaa20ba7eb0eb082ba4">getJointName</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> number) const =0
+<dl class="el"><dd class="mdescRight">Gets the name of a joint. <a href="#ab28aed78a7e2eeaa20ba7eb0eb082ba4"></a><br/></dl><li>virtual <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#ace7288f54490d017efebe24c3eb46ab8">getJointNumber</a> (const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *name) const =0
+<dl class="el"><dd class="mdescRight">Gets a joint number from its name. <a href="#ace7288f54490d017efebe24c3eb46ab8"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1core_1_1array.html">core::array</a><br class="typebreak"/>
+&lt; <a class="el" href="structirr_1_1scene_1_1_s_skin_mesh_buffer.html">SSkinMeshBuffer</a> * &gt; &amp; <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a5c46b784d6e8b7479e6f630377ab42ef">getMeshBuffers</a> ()=0
+<dl class="el"><dd class="mdescRight">exposed for loaders: to add mesh buffers <a href="#a5c46b784d6e8b7479e6f630377ab42ef"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a2131a8693a84e29036ffff69955a2ec1">isStatic</a> ()=0
+<dl class="el"><dd class="mdescRight">Check if the mesh is non-animated. <a href="#a2131a8693a84e29036ffff69955a2ec1"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a42ff192210ffc61a4c9fe8184b466b17">setHardwareSkinning</a> (bool on)=0
+<dl class="el"><dd class="mdescRight">Allows to enable hardware skinning. <a href="#a42ff192210ffc61a4c9fe8184b466b17"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#afbb087c018dac08007ff5d22c6fe86b9">setInterpolationMode</a> (<a class="el" href="namespaceirr_1_1scene.html#a26f30865cf5527e7255a8495e280314c">E_INTERPOLATION_MODE</a> mode)=0
+<dl class="el"><dd class="mdescRight">Sets Interpolation Mode. <a href="#afbb087c018dac08007ff5d22c6fe86b9"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a3bd5dd1429c13bce259557875a5bbe7d">skinMesh</a> ()=0
+<dl class="el"><dd class="mdescRight">Preforms a software skin on this mesh based of joint positions. <a href="#a3bd5dd1429c13bce259557875a5bbe7d"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a19f264883a006d68b44f8b81d8ff5927">updateNormalsWhenAnimating</a> (bool on)=0
+<dl class="el"><dd class="mdescRight">Update Normals when Animating. <a href="#a19f264883a006d68b44f8b81d8ff5927"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a1d7d56472adeb21aada79c361bf142be">useAnimationFrom</a> (const <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html">ISkinnedMesh</a> *mesh)=0
+<dl class="el"><dd class="mdescRight">Use animation from another mesh. <a href="#a1d7d56472adeb21aada79c361bf142be"></a><br/></dl></ul>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Interface for using some special functions of Skinned meshes. </p>
+
+<p>Definition at line <a class="el" href="_i_skinned_mesh_8h_source.html#l00032">32</a> of file <a class="el" href="_i_skinned_mesh_8h_source.html">ISkinnedMesh.h</a>.</p>
+</div><hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a713edfbc7f3e9394487882156dc6fe2f"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addJoint" ref="a713edfbc7f3e9394487882156dc6fe2f" args="(SJoint *parent=0)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a>* irr::scene::ISkinnedMesh::addJoint </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *&#160;</td>
+ <td class="paramname"><em>parent</em> = <code>0</code></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a new joint to the mesh, access it as last one. </p>
+
+</div>
+</div>
+<a class="anchor" id="abc55b0dc2c1e80ef5fa4cab8e17b76af"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addMeshBuffer" ref="abc55b0dc2c1e80ef5fa4cab8e17b76af" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_s_skin_mesh_buffer.html">SSkinMeshBuffer</a>* irr::scene::ISkinnedMesh::addMeshBuffer </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a new meshbuffer to the mesh, access it as last one. </p>
+
+</div>
+</div>
+<a class="anchor" id="a4441937c52c1fdf3d2bbaeff1406716d"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addPositionKey" ref="a4441937c52c1fdf3d2bbaeff1406716d" args="(SJoint *joint)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_position_key.html">SPositionKey</a>* irr::scene::ISkinnedMesh::addPositionKey </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *&#160;</td>
+ <td class="paramname"><em>joint</em></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a new position key to the mesh, access it as last one. </p>
+
+</div>
+</div>
+<a class="anchor" id="ab5d41c1fc22de5d7cb9c376d2a873ab9"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addRotationKey" ref="ab5d41c1fc22de5d7cb9c376d2a873ab9" args="(SJoint *joint)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_rotation_key.html">SRotationKey</a>* irr::scene::ISkinnedMesh::addRotationKey </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *&#160;</td>
+ <td class="paramname"><em>joint</em></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a new rotation key to the mesh, access it as last one. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3601a01c99594fe8db3cccaec89df7d6"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addScaleKey" ref="a3601a01c99594fe8db3cccaec89df7d6" args="(SJoint *joint)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_scale_key.html">SScaleKey</a>* irr::scene::ISkinnedMesh::addScaleKey </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *&#160;</td>
+ <td class="paramname"><em>joint</em></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a new scale key to the mesh, access it as last one. </p>
+
+</div>
+</div>
+<a class="anchor" id="a6b79ee2544eb0ffe8501c06fd347ea89"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::addWeight" ref="a6b79ee2544eb0ffe8501c06fd347ea89" args="(SJoint *joint)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_weight.html">SWeight</a>* irr::scene::ISkinnedMesh::addWeight </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a> *&#160;</td>
+ <td class="paramname"><em>joint</em></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a new weight to the mesh, access it as last one. </p>
+
+</div>
+</div>
+<a class="anchor" id="a5cbb9dad48413636f9e9c2ac9201cfae"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::animateMesh" ref="a5cbb9dad48413636f9e9c2ac9201cfae" args="(f32 frame, f32 blend)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void irr::scene::ISkinnedMesh::animateMesh </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
+ <td class="paramname"><em>frame</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
+ <td class="paramname"><em>blend</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Animates this mesh's joints based on frame input. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae63f3f1a74bf38c4b5113e3a5b96c0f3"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::convertMeshToTangents" ref="ae63f3f1a74bf38c4b5113e3a5b96c0f3" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void irr::scene::ISkinnedMesh::convertMeshToTangents </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>converts the vertex type of all meshbuffers to tangents. </p>
+<p>E.g. used for bump mapping. </p>
+
+</div>
+</div>
+<a class="anchor" id="a83549df06904513c439c92e34b424b02"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::finalize" ref="a83549df06904513c439c92e34b424b02" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void irr::scene::ISkinnedMesh::finalize </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>loaders should call this after populating the mesh </p>
+
+</div>
+</div>
+<a class="anchor" id="a4fcdc38666f24a092191668ff909936f"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getAllJoints" ref="a4fcdc38666f24a092191668ff909936f" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classirr_1_1core_1_1array.html">core::array</a>&lt;<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a>*&gt;&amp; irr::scene::ISkinnedMesh::getAllJoints </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>exposed for loaders: joints list </p>
+
+</div>
+</div>
+<a class="anchor" id="a8dcc5dc083cd93a349acd0a2e01da539"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getAllJoints" ref="a8dcc5dc083cd93a349acd0a2e01da539" args="() const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual const <a class="el" href="classirr_1_1core_1_1array.html">core::array</a>&lt;<a class="el" href="structirr_1_1scene_1_1_i_skinned_mesh_1_1_s_joint.html">SJoint</a>*&gt;&amp; irr::scene::ISkinnedMesh::getAllJoints </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const<code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>exposed for loaders: joints list </p>
+
+</div>
+</div>
+<a class="anchor" id="a7715fb82ffec225d2fd9b8aa860e3c38"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getJointCount" ref="a7715fb82ffec225d2fd9b8aa860e3c38" args="() const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> irr::scene::ISkinnedMesh::getJointCount </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const<code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Gets joint count. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Amount of joints in the skeletal animated mesh. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab28aed78a7e2eeaa20ba7eb0eb082ba4"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getJointName" ref="ab28aed78a7e2eeaa20ba7eb0eb082ba4" args="(u32 number) const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a>* irr::scene::ISkinnedMesh::getJointName </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
+ <td class="paramname"><em>number</em></td><td>)</td>
+ <td> const<code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the name of a joint. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">number,:</td><td>Zero based index of joint. The last joint has the number <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html#a7715fb82ffec225d2fd9b8aa860e3c38" title="Gets joint count.">getJointCount()</a>-1; </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Name of joint and null if an error happened. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ace7288f54490d017efebe24c3eb46ab8"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getJointNumber" ref="ace7288f54490d017efebe24c3eb46ab8" args="(const c8 *name) const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> irr::scene::ISkinnedMesh::getJointNumber </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&#160;</td>
+ <td class="paramname"><em>name</em></td><td>)</td>
+ <td> const<code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Gets a joint number from its name. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">name,:</td><td>Name of the joint. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Number of the joint or -1 if not found. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a5c46b784d6e8b7479e6f630377ab42ef"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::getMeshBuffers" ref="a5c46b784d6e8b7479e6f630377ab42ef" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="classirr_1_1core_1_1array.html">core::array</a>&lt;<a class="el" href="structirr_1_1scene_1_1_s_skin_mesh_buffer.html">SSkinMeshBuffer</a>*&gt;&amp; irr::scene::ISkinnedMesh::getMeshBuffers </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>exposed for loaders: to add mesh buffers </p>
+
+</div>
+</div>
+<a class="anchor" id="a2131a8693a84e29036ffff69955a2ec1"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::isStatic" ref="a2131a8693a84e29036ffff69955a2ec1" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool irr::scene::ISkinnedMesh::isStatic </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Check if the mesh is non-animated. </p>
+
+</div>
+</div>
+<a class="anchor" id="a42ff192210ffc61a4c9fe8184b466b17"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::setHardwareSkinning" ref="a42ff192210ffc61a4c9fe8184b466b17" args="(bool on)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool irr::scene::ISkinnedMesh::setHardwareSkinning </td>
+ <td>(</td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>on</em></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Allows to enable hardware skinning. </p>
+
+</div>
+</div>
+<a class="anchor" id="afbb087c018dac08007ff5d22c6fe86b9"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::setInterpolationMode" ref="afbb087c018dac08007ff5d22c6fe86b9" args="(E_INTERPOLATION_MODE mode)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void irr::scene::ISkinnedMesh::setInterpolationMode </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="namespaceirr_1_1scene.html#a26f30865cf5527e7255a8495e280314c">E_INTERPOLATION_MODE</a>&#160;</td>
+ <td class="paramname"><em>mode</em></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Sets Interpolation Mode. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3bd5dd1429c13bce259557875a5bbe7d"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::skinMesh" ref="a3bd5dd1429c13bce259557875a5bbe7d" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void irr::scene::ISkinnedMesh::skinMesh </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Preforms a software skin on this mesh based of joint positions. </p>
+
+</div>
+</div>
+<a class="anchor" id="a19f264883a006d68b44f8b81d8ff5927"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::updateNormalsWhenAnimating" ref="a19f264883a006d68b44f8b81d8ff5927" args="(bool on)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void irr::scene::ISkinnedMesh::updateNormalsWhenAnimating </td>
+ <td>(</td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>on</em></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Update Normals when Animating. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">on</td><td>If false don't animate, which is faster. Else update normals, which allows for proper lighting of animated meshes. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a1d7d56472adeb21aada79c361bf142be"></a><!-- doxytag: member="irr::scene::ISkinnedMesh::useAnimationFrom" ref="a1d7d56472adeb21aada79c361bf142be" args="(const ISkinnedMesh *mesh)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool irr::scene::ISkinnedMesh::useAnimationFrom </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html">ISkinnedMesh</a> *&#160;</td>
+ <td class="paramname"><em>mesh</em></td><td>)</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Use animation from another mesh. </p>
+<p>The animation is linked (not copied) based on joint names so make sure they are unique. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>True if all joints in this mesh were matched up (empty names will not be matched, and it's case sensitive). Unmatched joints will not be animated. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="_i_skinned_mesh_8h_source.html">ISkinnedMesh.h</a></li>
+</ul>
+</div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+ <li class="navelem"><a class="el" href="namespaceirr.html">irr</a> </li>
+ <li class="navelem"><a class="el" href="namespaceirr_1_1scene.html">scene</a> </li>
+ <li class="navelem"><a class="el" href="classirr_1_1scene_1_1_i_skinned_mesh.html">ISkinnedMesh</a> </li>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+
+ <li class="footer">
+<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht
+Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Fri Mar 12 2021 17:22:08 for Irrlicht 3D Engine by
+<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>