aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/doc/html/classirr_1_1scene_1_1_i_mesh_manipulator.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/doc/html/classirr_1_1scene_1_1_i_mesh_manipulator.html')
-rw-r--r--src/others/irrlicht-1.8.1/doc/html/classirr_1_1scene_1_1_i_mesh_manipulator.html1573
1 files changed, 1573 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/doc/html/classirr_1_1scene_1_1_i_mesh_manipulator.html b/src/others/irrlicht-1.8.1/doc/html/classirr_1_1scene_1_1_i_mesh_manipulator.html
new file mode 100644
index 0000000..7747984
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/doc/html/classirr_1_1scene_1_1_i_mesh_manipulator.html
@@ -0,0 +1,1573 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>Irrlicht 3D Engine: irr::scene::IMeshManipulator Class Reference</title>
6
7<link href="tabs.css" rel="stylesheet" type="text/css"/>
8<link href="doxygen.css" rel="stylesheet" type="text/css" />
9<link href="navtree.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="resize.js"></script>
12<script type="text/javascript" src="navtree.js"></script>
13<script type="text/javascript">
14 $(document).ready(initResizable);
15</script>
16<link href="search/search.css" rel="stylesheet" type="text/css"/>
17<script type="text/javascript" src="search/search.js"></script>
18<script type="text/javascript">
19 $(document).ready(function() { searchBox.OnSelectItem(0); });
20</script>
21
22</head>
23<body>
24<div id="top"><!-- do not remove this div! -->
25
26
27<div id="titlearea">
28<table cellspacing="0" cellpadding="0">
29 <tbody>
30 <tr style="height: 56px;">
31
32 <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
33
34
35 <td style="padding-left: 0.5em;">
36 <div id="projectname">Irrlicht 3D Engine
37
38 </div>
39
40 </td>
41
42
43
44
45 <td> <div id="MSearchBox" class="MSearchBoxInactive">
46 <span class="left">
47 <img id="MSearchSelect" src="search/mag_sel.png"
48 onmouseover="return searchBox.OnSearchSelectShow()"
49 onmouseout="return searchBox.OnSearchSelectHide()"
50 alt=""/>
51 <input type="text" id="MSearchField" value="Search" accesskey="S"
52 onfocus="searchBox.OnSearchFieldFocus(true)"
53 onblur="searchBox.OnSearchFieldFocus(false)"
54 onkeyup="searchBox.OnSearchFieldChange(event)"/>
55 </span><span class="right">
56 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57 </span>
58 </div>
59</td>
60
61
62 </tr>
63 </tbody>
64</table>
65</div>
66
67<!-- Generated by Doxygen 1.7.5.1 -->
68<script type="text/javascript">
69var searchBox = new SearchBox("searchBox", "search",false,'Search');
70</script>
71<script type="text/javascript" src="dynsections.js"></script>
72</div>
73<div id="side-nav" class="ui-resizable side-nav-resizable">
74 <div id="nav-tree">
75 <div id="nav-tree-contents">
76 </div>
77 </div>
78 <div id="splitbar" style="-moz-user-select:none;"
79 class="ui-resizable-handle">
80 </div>
81</div>
82<script type="text/javascript">
83 initNavTree('classirr_1_1scene_1_1_i_mesh_manipulator.html','');
84</script>
85<div id="doc-content">
86<div class="header">
87 <div class="summary">
88<a href="#pub-methods">Public Member Functions</a> &#124;
89<a href="#pro-methods">Protected Member Functions</a> </div>
90 <div class="headertitle">
91<div class="title">irr::scene::IMeshManipulator Class Reference</div> </div>
92</div>
93<div class="contents">
94<!-- doxytag: class="irr::scene::IMeshManipulator" --><!-- doxytag: inherits="irr::IReferenceCounted" -->
95<p>An interface for easy manipulation of meshes.
96 <a href="classirr_1_1scene_1_1_i_mesh_manipulator.html#details">More...</a></p>
97
98<p><code>#include &lt;<a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>&gt;</code></p>
99<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
100 <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for irr::scene::IMeshManipulator:</div>
101<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
102</div>
103<div id="dynsection-0-content" class="dyncontent" style="display:none;">
104 <div class="center">
105 <img src="classirr_1_1scene_1_1_i_mesh_manipulator.png" usemap="#irr::scene::IMeshManipulator_map" alt=""/>
106 <map id="irr::scene::IMeshManipulator_map" name="irr::scene::IMeshManipulator_map">
107<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,172,24"/>
108</map>
109 </div></div>
110
111<p><a href="classirr_1_1scene_1_1_i_mesh_manipulator-members.html">List of all members.</a></p>
112<h2><a name="pub-methods"></a>
113Public Member Functions</h2>
114<ul>
115<li>template&lt;typename Functor &gt; bool <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#aef57a3127b0ed21f2720405b97b399b3">apply</a> (const Functor &amp;func, <a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *buffer, bool boundingBoxUpdate=false) const
116<dl class="el"><dd class="mdescRight">Apply a manipulator on the Meshbuffer. <a href="#aef57a3127b0ed21f2720405b97b399b3"></a><br/></dl><li>template&lt;typename Functor &gt; bool <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a9b2f074aaa823c29e94055772a7c3ddb">apply</a> (const Functor &amp;func, <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, bool boundingBoxUpdate=false) const
117<dl class="el"><dd class="mdescRight">Apply a manipulator on the Mesh. <a href="#a9b2f074aaa823c29e94055772a7c3ddb"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> * <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a08c2483575a88f68d099690932c11562">createAnimatedMesh</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, <a class="el" href="namespaceirr_1_1scene.html#a2fc85a64604521ca063f1881b5dd1c61">scene::E_ANIMATED_MESH_TYPE</a> type=scene::EAMT_UNKNOWN) const =0
118<dl class="el"><dd class="mdescRight">Create a new AnimatedMesh and adds the mesh to it. <a href="#a08c2483575a88f68d099690932c11562"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a5003ca5eabee96fe1c871bdb25ae43fd">createForsythOptimizedMesh</a> (const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh) const =0
119<dl class="el"><dd class="mdescRight">Vertex cache optimization according to the Forsyth paper. <a href="#a5003ca5eabee96fe1c871bdb25ae43fd"></a><br/></dl><li>virtual <a class="el" href="structirr_1_1scene_1_1_s_mesh.html">SMesh</a> * <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a3d2e7401f1d43919834a1bfe0b65e77f">createMeshCopy</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh) const =0
120<dl class="el"><dd class="mdescRight">Clones a static <a class="el" href="classirr_1_1scene_1_1_i_mesh.html" title="Class which holds the geometry of an object.">IMesh</a> into a modifiable <a class="el" href="structirr_1_1scene_1_1_s_mesh.html" title="Simple implementation of the IMesh interface.">SMesh</a>. <a href="#a3d2e7401f1d43919834a1bfe0b65e77f"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a73051bc082f128a2e0592fb1a3da2b7d">createMeshUniquePrimitives</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh) const =0
121<dl class="el"><dd class="mdescRight">Creates a copy of a mesh with all vertices unwelded. <a href="#a73051bc082f128a2e0592fb1a3da2b7d"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#ac19065037302c0500cb6ebecefcc6c6d">createMeshWelded</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> tolerance=<a class="el" href="namespaceirr_1_1core.html#a9514dd34463a30102ef8836915cf9c4c">core::ROUNDING_ERROR_f32</a>) const =0
122<dl class="el"><dd class="mdescRight">Creates a copy of a mesh with vertices welded. <a href="#ac19065037302c0500cb6ebecefcc6c6d"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#af7feb558fbaad9671667d1332c83bb5d">createMeshWith1TCoords</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh) const =0
123<dl class="el"><dd class="mdescRight">Creates a copy of the mesh, which will only consist of S3DVertex vertices. <a href="#af7feb558fbaad9671667d1332c83bb5d"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#abf123f6fece99816be402e1edf70dc13">createMeshWith2TCoords</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh) const =0
124<dl class="el"><dd class="mdescRight">Creates a copy of the mesh, which will only consist of S3DVertex2TCoord vertices. <a href="#abf123f6fece99816be402e1edf70dc13"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#ab849bd2c83b206de1e5da19ce3481e35">createMeshWithTangents</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, bool recalculateNormals=false, bool smooth=false, bool angleWeighted=false, bool recalculateTangents=true) const =0
125<dl class="el"><dd class="mdescRight">Creates a copy of the mesh, which will only consist of S3DVertexTangents vertices. <a href="#ab849bd2c83b206de1e5da19ce3481e35"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a7194e8a44bfe3a6444826f346c4104ff">flipSurfaces</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh) const =0
126<dl class="el"><dd class="mdescRight">Flips the direction of surfaces. <a href="#a7194e8a44bfe3a6444826f346c4104ff"></a><br/></dl><li>virtual <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a914c8cbfbde1428dea91b34fe99e716d">getPolyCount</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh) const =0
127<dl class="el"><dd class="mdescRight">Get amount of polygons in mesh. <a href="#a914c8cbfbde1428dea91b34fe99e716d"></a><br/></dl><li>virtual <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#af20519dbaa2c2c346e8ddf7c94babc38">getPolyCount</a> (<a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *mesh) const =0
128<dl class="el"><dd class="mdescRight">Get amount of polygons in mesh. <a href="#af20519dbaa2c2c346e8ddf7c94babc38"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a82a3092d53e84e751bb13dac8dfa2ab4">makePlanarTextureMapping</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> resolution=0.001f) const =0
129<dl class="el"><dd class="mdescRight">Creates a planar texture mapping on the mesh. <a href="#a82a3092d53e84e751bb13dac8dfa2ab4"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a757511833420a24ed8cbf4dfd6607143">makePlanarTextureMapping</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">scene::IMeshBuffer</a> *meshbuffer, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> resolution=0.001f) const =0
130<dl class="el"><dd class="mdescRight">Creates a planar texture mapping on the meshbuffer. <a href="#a757511833420a24ed8cbf4dfd6607143"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#abc1b4ae56f126e8466ba6f6634a0f723">makePlanarTextureMapping</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">scene::IMesh</a> *mesh, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> resolutionS, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> resolutionT, <a class="el" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761">u8</a> axis, const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;offset) const =0
131<dl class="el"><dd class="mdescRight">Creates a planar texture mapping on the buffer. <a href="#abc1b4ae56f126e8466ba6f6634a0f723"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a28c9aaddc04baa710138a065457f9df1">makePlanarTextureMapping</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">scene::IMeshBuffer</a> *buffer, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> resolutionS, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> resolutionT, <a class="el" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761">u8</a> axis, const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;offset) const =0
132<dl class="el"><dd class="mdescRight">Creates a planar texture mapping on the meshbuffer. <a href="#a28c9aaddc04baa710138a065457f9df1"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a8dba16b7eedeac07761c9c1247944429">recalculateNormals</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, bool smooth=false, bool angleWeighted=false) const =0
133<dl class="el"><dd class="mdescRight">Recalculates all normals of the mesh. <a href="#a8dba16b7eedeac07761c9c1247944429"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a94d8390182763e608ca43978b8866d11">recalculateNormals</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *buffer, bool smooth=false, bool angleWeighted=false) const =0
134<dl class="el"><dd class="mdescRight">Recalculates all normals of the mesh buffer. <a href="#a94d8390182763e608ca43978b8866d11"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a0ea43e8c4e8489551228b3005d325cd6">recalculateTangents</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, bool recalculateNormals=false, bool smooth=false, bool angleWeighted=false) const =0
135<dl class="el"><dd class="mdescRight">Recalculates tangents, requires a tangent mesh. <a href="#a0ea43e8c4e8489551228b3005d325cd6"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a6bea784eb6cf29bdd771dde3903a2758">recalculateTangents</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *buffer, bool recalculateNormals=false, bool smooth=false, bool angleWeighted=false) const =0
136<dl class="el"><dd class="mdescRight">Recalculates tangents, requires a tangent mesh buffer. <a href="#a6bea784eb6cf29bdd771dde3903a2758"></a><br/></dl><li>void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#ab32481d2ae93369e223930531186b7e4">scale</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;factor) const
137<dl class="el"><dd class="mdescRight">Scales the actual mesh, not a scene node. <a href="#ab32481d2ae93369e223930531186b7e4"></a><br/></dl><li>void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#ac39f47631c59d75f1e4cfa7a2617ca99">scale</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *buffer, const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;factor) const
138<dl class="el"><dd class="mdescRight">Scales the actual meshbuffer, not a scene node. <a href="#ac39f47631c59d75f1e4cfa7a2617ca99"></a><br/></dl><li>_IRR_DEPRECATED_ void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#ae0f814319c18b214be28450d9166a496">scaleMesh</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;factor) const
139<dl class="el"><dd class="mdescRight">Scales the actual mesh, not a scene node. <a href="#ae0f814319c18b214be28450d9166a496"></a><br/></dl><li>void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#afc1ae4a04d810389e0507d2ce3735e5d">scaleTCoords</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">scene::IMesh</a> *mesh, const <a class="el" href="namespaceirr_1_1core.html#a2cf08556d77f6f5a792973a6e27ed11b">core::vector2df</a> &amp;factor, <a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> level=1) const
140<dl class="el"><dd class="mdescRight">Scale the texture coords of a mesh. <a href="#afc1ae4a04d810389e0507d2ce3735e5d"></a><br/></dl><li>void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a9cc3b7555417636c356d22ed0be1d711">scaleTCoords</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">scene::IMeshBuffer</a> *buffer, const <a class="el" href="namespaceirr_1_1core.html#a2cf08556d77f6f5a792973a6e27ed11b">core::vector2df</a> &amp;factor, <a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> level=1) const
141<dl class="el"><dd class="mdescRight">Scale the texture coords of a meshbuffer. <a href="#a9cc3b7555417636c356d22ed0be1d711"></a><br/></dl><li>void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#ad6492bed9f7cf798b717b30c99803bef">setVertexColorAlpha</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> alpha) const
142<dl class="el"><dd class="mdescRight">Sets the alpha vertex color value of the whole mesh to a new value. <a href="#ad6492bed9f7cf798b717b30c99803bef"></a><br/></dl><li>void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#ab98d6493c61620997ad12e3c9fe121a0">setVertexColorAlpha</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *buffer, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> alpha) const
143<dl class="el"><dd class="mdescRight">Sets the alpha vertex color value of the whole mesh to a new value. <a href="#ab98d6493c61620997ad12e3c9fe121a0"></a><br/></dl><li>void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a2c17558cfa1b87000744dce7bf973d21">setVertexColors</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> color) const
144<dl class="el"><dd class="mdescRight">Sets the colors of all vertices to one color. <a href="#a2c17558cfa1b87000744dce7bf973d21"></a><br/></dl><li>void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a156dfdd2d3d89cf6e4e5bc09d1db2079">setVertexColors</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *buffer, <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> color) const
145<dl class="el"><dd class="mdescRight">Sets the colors of all vertices to one color. <a href="#a156dfdd2d3d89cf6e4e5bc09d1db2079"></a><br/></dl><li>void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a367ce8914a0453051d82ffd57b343575">transform</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, const <a class="el" href="namespaceirr_1_1core.html#a73fa92e638c5ca97efd72da307cc9b65">core::matrix4</a> &amp;m) const
146<dl class="el"><dd class="mdescRight">Applies a transformation to a mesh. <a href="#a367ce8914a0453051d82ffd57b343575"></a><br/></dl><li>void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#aa3fd618c6c854a87392a1d902517507f">transform</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *buffer, const <a class="el" href="namespaceirr_1_1core.html#a73fa92e638c5ca97efd72da307cc9b65">core::matrix4</a> &amp;m) const
147<dl class="el"><dd class="mdescRight">Applies a transformation to a meshbuffer. <a href="#aa3fd618c6c854a87392a1d902517507f"></a><br/></dl><li>virtual _IRR_DEPRECATED_ void <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a1c91f352379a910c3276b437fb3b4a96">transformMesh</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh, const <a class="el" href="namespaceirr_1_1core.html#a73fa92e638c5ca97efd72da307cc9b65">core::matrix4</a> &amp;m) const
148<dl class="el"><dd class="mdescRight">Applies a transformation to a mesh. <a href="#a1c91f352379a910c3276b437fb3b4a96"></a><br/></dl></ul>
149<h2><a name="pro-methods"></a>
150Protected Member Functions</h2>
151<ul>
152<li>template&lt;typename Functor &gt; bool <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a66b47343a46fdfc1dde7a9c74b54043b">apply_</a> (const Functor &amp;func, <a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *buffer, bool boundingBoxUpdate, const <a class="el" href="structirr_1_1scene_1_1_i_vertex_manipulator.html">IVertexManipulator</a> &amp;typeTest) const
153<dl class="el"><dd class="mdescRight">Apply a manipulator based on the type of the functor. <a href="#a66b47343a46fdfc1dde7a9c74b54043b"></a><br/></dl></ul>
154<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
155<div class="textblock"><p>An interface for easy manipulation of meshes. </p>
156<p>Scale, set alpha value, flip surfaces, and so on. This exists for fixing problems with wrong imported or exported meshes quickly after loading. It is not intended for doing mesh modifications and/or animations during runtime. </p>
157
158<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00029">29</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
159</div><hr/><h2>Member Function Documentation</h2>
160<a class="anchor" id="aef57a3127b0ed21f2720405b97b399b3"></a><!-- doxytag: member="irr::scene::IMeshManipulator::apply" ref="aef57a3127b0ed21f2720405b97b399b3" args="(const Functor &amp;func, IMeshBuffer *buffer, bool boundingBoxUpdate=false) const " -->
161<div class="memitem">
162<div class="memproto">
163<div class="memtemplate">
164template&lt;typename Functor &gt; </div>
165 <table class="memname">
166 <tr>
167 <td class="memname">bool irr::scene::IMeshManipulator::apply </td>
168 <td>(</td>
169 <td class="paramtype">const Functor &amp;&#160;</td>
170 <td class="paramname"><em>func</em>, </td>
171 </tr>
172 <tr>
173 <td class="paramkey"></td>
174 <td></td>
175 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *&#160;</td>
176 <td class="paramname"><em>buffer</em>, </td>
177 </tr>
178 <tr>
179 <td class="paramkey"></td>
180 <td></td>
181 <td class="paramtype">bool&#160;</td>
182 <td class="paramname"><em>boundingBoxUpdate</em> = <code>false</code>&#160;</td>
183 </tr>
184 <tr>
185 <td></td>
186 <td>)</td>
187 <td></td><td> const<code> [inline]</code></td>
188 </tr>
189 </table>
190</div>
191<div class="memdoc">
192
193<p>Apply a manipulator on the Meshbuffer. </p>
194<dl><dt><b>Parameters:</b></dt><dd>
195 <table class="params">
196 <tr><td class="paramname">func</td><td>A functor defining the mesh manipulation. </td></tr>
197 <tr><td class="paramname">buffer</td><td>The Meshbuffer to apply the manipulator to. </td></tr>
198 <tr><td class="paramname">boundingBoxUpdate</td><td>Specifies if the bounding box should be updated during manipulation. </td></tr>
199 </table>
200 </dd>
201</dl>
202<dl class="return"><dt><b>Returns:</b></dt><dd>True if the functor was successfully applied, else false. </dd></dl>
203
204<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">304</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
205
206<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00346">apply_()</a>.</p>
207
208<p>Referenced by <a class="el" href="_i_mesh_manipulator_8h_source.html#l00316">apply()</a>, <a class="el" href="_i_mesh_manipulator_8h_source.html#l00108">scale()</a>, <a class="el" href="_i_mesh_manipulator_8h_source.html#l00131">scaleTCoords()</a>, <a class="el" href="_i_mesh_manipulator_8h_source.html#l00042">setVertexColorAlpha()</a>, <a class="el" href="_i_mesh_manipulator_8h_source.html#l00058">setVertexColors()</a>, and <a class="el" href="_i_mesh_manipulator_8h_source.html#l00148">transform()</a>.</p>
209
210</div>
211</div>
212<a class="anchor" id="a9b2f074aaa823c29e94055772a7c3ddb"></a><!-- doxytag: member="irr::scene::IMeshManipulator::apply" ref="a9b2f074aaa823c29e94055772a7c3ddb" args="(const Functor &amp;func, IMesh *mesh, bool boundingBoxUpdate=false) const " -->
213<div class="memitem">
214<div class="memproto">
215<div class="memtemplate">
216template&lt;typename Functor &gt; </div>
217 <table class="memname">
218 <tr>
219 <td class="memname">bool irr::scene::IMeshManipulator::apply </td>
220 <td>(</td>
221 <td class="paramtype">const Functor &amp;&#160;</td>
222 <td class="paramname"><em>func</em>, </td>
223 </tr>
224 <tr>
225 <td class="paramkey"></td>
226 <td></td>
227 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
228 <td class="paramname"><em>mesh</em>, </td>
229 </tr>
230 <tr>
231 <td class="paramkey"></td>
232 <td></td>
233 <td class="paramtype">bool&#160;</td>
234 <td class="paramname"><em>boundingBoxUpdate</em> = <code>false</code>&#160;</td>
235 </tr>
236 <tr>
237 <td></td>
238 <td>)</td>
239 <td></td><td> const<code> [inline]</code></td>
240 </tr>
241 </table>
242</div>
243<div class="memdoc">
244
245<p>Apply a manipulator on the Mesh. </p>
246<dl><dt><b>Parameters:</b></dt><dd>
247 <table class="params">
248 <tr><td class="paramname">func</td><td>A functor defining the mesh manipulation. </td></tr>
249 <tr><td class="paramname">mesh</td><td>The Mesh to apply the manipulator to. </td></tr>
250 <tr><td class="paramname">boundingBoxUpdate</td><td>Specifies if the bounding box should be updated during manipulation. </td></tr>
251 </table>
252 </dd>
253</dl>
254<dl class="return"><dt><b>Returns:</b></dt><dd>True if the functor was successfully applied, else false. </dd></dl>
255
256<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00316">316</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
257
258<p>References <a class="el" href="aabbox3d_8h_source.html#l00082">irr::core::aabbox3d&lt; T &gt;::addInternalBox()</a>, <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>, <a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html#ac53fe1096756a40f25dae25911e27c51">irr::scene::IMeshBuffer::getBoundingBox()</a>, <a class="el" href="classirr_1_1scene_1_1_i_mesh.html#a2cd1a04b396235101f426befba0c5b82">irr::scene::IMesh::getMeshBuffer()</a>, <a class="el" href="classirr_1_1scene_1_1_i_mesh.html#a2ebed0bdae2d6537c36b0b7ac831edb8">irr::scene::IMesh::getMeshBufferCount()</a>, <a class="el" href="aabbox3d_8h_source.html#l00050">irr::core::aabbox3d&lt; T &gt;::reset()</a>, and <a class="el" href="classirr_1_1scene_1_1_i_mesh.html#a0aee3b5bc5d31ce996becc069f65e642">irr::scene::IMesh::setBoundingBox()</a>.</p>
259
260</div>
261</div>
262<a class="anchor" id="a66b47343a46fdfc1dde7a9c74b54043b"></a><!-- doxytag: member="irr::scene::IMeshManipulator::apply_" ref="a66b47343a46fdfc1dde7a9c74b54043b" args="(const Functor &amp;func, IMeshBuffer *buffer, bool boundingBoxUpdate, const IVertexManipulator &amp;typeTest) const " -->
263<div class="memitem">
264<div class="memproto">
265<div class="memtemplate">
266template&lt;typename Functor &gt; </div>
267 <table class="memname">
268 <tr>
269 <td class="memname">bool irr::scene::IMeshManipulator::apply_ </td>
270 <td>(</td>
271 <td class="paramtype">const Functor &amp;&#160;</td>
272 <td class="paramname"><em>func</em>, </td>
273 </tr>
274 <tr>
275 <td class="paramkey"></td>
276 <td></td>
277 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *&#160;</td>
278 <td class="paramname"><em>buffer</em>, </td>
279 </tr>
280 <tr>
281 <td class="paramkey"></td>
282 <td></td>
283 <td class="paramtype">bool&#160;</td>
284 <td class="paramname"><em>boundingBoxUpdate</em>, </td>
285 </tr>
286 <tr>
287 <td class="paramkey"></td>
288 <td></td>
289 <td class="paramtype">const <a class="el" href="structirr_1_1scene_1_1_i_vertex_manipulator.html">IVertexManipulator</a> &amp;&#160;</td>
290 <td class="paramname"><em>typeTest</em>&#160;</td>
291 </tr>
292 <tr>
293 <td></td>
294 <td>)</td>
295 <td></td><td> const<code> [inline, protected]</code></td>
296 </tr>
297 </table>
298</div>
299<div class="memdoc">
300
301<p>Apply a manipulator based on the type of the functor. </p>
302<dl><dt><b>Parameters:</b></dt><dd>
303 <table class="params">
304 <tr><td class="paramname">func</td><td>A functor defining the mesh manipulation. </td></tr>
305 <tr><td class="paramname">buffer</td><td>The Meshbuffer to apply the manipulator to. </td></tr>
306 <tr><td class="paramname">boundingBoxUpdate</td><td>Specifies if the bounding box should be updated during manipulation. </td></tr>
307 <tr><td class="paramname">typeTest</td><td>Unused parameter, which handles the proper call selection based on the type of the Functor which is passed in two times. </td></tr>
308 </table>
309 </dd>
310</dl>
311<dl class="return"><dt><b>Returns:</b></dt><dd>True if the functor was successfully applied, else false. </dd></dl>
312
313<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00346">346</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
314
315<p>References <a class="el" href="aabbox3d_8h_source.html#l00074">irr::core::aabbox3d&lt; T &gt;::addInternalPoint()</a>, <a class="el" href="_s3_d_vertex_8h_source.html#l00025">irr::video::EVT_2TCOORDS</a>, <a class="el" href="_s3_d_vertex_8h_source.html#l00021">irr::video::EVT_STANDARD</a>, <a class="el" href="_s3_d_vertex_8h_source.html#l00029">irr::video::EVT_TANGENTS</a>, <a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html#a79ca051edc0ece69057fda7b4fe1e155">irr::scene::IMeshBuffer::getPosition()</a>, <a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html#a77ab285c8c886af8ddeb0371db7bde96">irr::scene::IMeshBuffer::getVertexCount()</a>, <a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html#a4d7a84ae4416487736f0ed0f519bb4f0">irr::scene::IMeshBuffer::getVertexType()</a>, <a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html#a99891e516246b2cff13b362a435c8028">irr::scene::IMeshBuffer::getVertices()</a>, <a class="el" href="aabbox3d_8h_source.html#l00050">irr::core::aabbox3d&lt; T &gt;::reset()</a>, and <a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html#adbbfb7757dfbba7357193d2280893df6">irr::scene::IMeshBuffer::setBoundingBox()</a>.</p>
316
317<p>Referenced by <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
318
319</div>
320</div>
321<a class="anchor" id="a08c2483575a88f68d099690932c11562"></a><!-- doxytag: member="irr::scene::IMeshManipulator::createAnimatedMesh" ref="a08c2483575a88f68d099690932c11562" args="(IMesh *mesh, scene::E_ANIMATED_MESH_TYPE type=scene::EAMT_UNKNOWN) const =0" -->
322<div class="memitem">
323<div class="memproto">
324 <table class="memname">
325 <tr>
326 <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a>* irr::scene::IMeshManipulator::createAnimatedMesh </td>
327 <td>(</td>
328 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
329 <td class="paramname"><em>mesh</em>, </td>
330 </tr>
331 <tr>
332 <td class="paramkey"></td>
333 <td></td>
334 <td class="paramtype"><a class="el" href="namespaceirr_1_1scene.html#a2fc85a64604521ca063f1881b5dd1c61">scene::E_ANIMATED_MESH_TYPE</a>&#160;</td>
335 <td class="paramname"><em>type</em> = <code>scene::EAMT_UNKNOWN</code>&#160;</td>
336 </tr>
337 <tr>
338 <td></td>
339 <td>)</td>
340 <td></td><td> const<code> [pure virtual]</code></td>
341 </tr>
342 </table>
343</div>
344<div class="memdoc">
345
346<p>Create a new AnimatedMesh and adds the mesh to it. </p>
347<dl><dt><b>Parameters:</b></dt><dd>
348 <table class="params">
349 <tr><td class="paramname">mesh</td><td>Input mesh </td></tr>
350 <tr><td class="paramname">type</td><td>The type of the animated mesh to create. </td></tr>
351 </table>
352 </dd>
353</dl>
354<dl class="return"><dt><b>Returns:</b></dt><dd>Newly created animated mesh with mesh as its only content. When you don't need the animated mesh anymore, you should call <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IAnimatedMesh::drop()</a>. See <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IReferenceCounted::drop()</a> for more information. </dd></dl>
355
356</div>
357</div>
358<a class="anchor" id="a5003ca5eabee96fe1c871bdb25ae43fd"></a><!-- doxytag: member="irr::scene::IMeshManipulator::createForsythOptimizedMesh" ref="a5003ca5eabee96fe1c871bdb25ae43fd" args="(const IMesh *mesh) const =0" -->
359<div class="memitem">
360<div class="memproto">
361 <table class="memname">
362 <tr>
363 <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IMeshManipulator::createForsythOptimizedMesh </td>
364 <td>(</td>
365 <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
366 <td class="paramname"><em>mesh</em></td><td>)</td>
367 <td> const<code> [pure virtual]</code></td>
368 </tr>
369 </table>
370</div>
371<div class="memdoc">
372
373<p>Vertex cache optimization according to the Forsyth paper. </p>
374<p>More information can be found at <a href="http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html">http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html</a></p>
375<p>The function is thread-safe (read: you can optimize several meshes in different threads).</p>
376<dl><dt><b>Parameters:</b></dt><dd>
377 <table class="params">
378 <tr><td class="paramname">mesh</td><td>Source mesh for the operation. </td></tr>
379 </table>
380 </dd>
381</dl>
382<dl class="return"><dt><b>Returns:</b></dt><dd>A new mesh optimized for the vertex cache. </dd></dl>
383
384</div>
385</div>
386<a class="anchor" id="a3d2e7401f1d43919834a1bfe0b65e77f"></a><!-- doxytag: member="irr::scene::IMeshManipulator::createMeshCopy" ref="a3d2e7401f1d43919834a1bfe0b65e77f" args="(IMesh *mesh) const =0" -->
387<div class="memitem">
388<div class="memproto">
389 <table class="memname">
390 <tr>
391 <td class="memname">virtual <a class="el" href="structirr_1_1scene_1_1_s_mesh.html">SMesh</a>* irr::scene::IMeshManipulator::createMeshCopy </td>
392 <td>(</td>
393 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
394 <td class="paramname"><em>mesh</em></td><td>)</td>
395 <td> const<code> [pure virtual]</code></td>
396 </tr>
397 </table>
398</div>
399<div class="memdoc">
400
401<p>Clones a static <a class="el" href="classirr_1_1scene_1_1_i_mesh.html" title="Class which holds the geometry of an object.">IMesh</a> into a modifiable <a class="el" href="structirr_1_1scene_1_1_s_mesh.html" title="Simple implementation of the IMesh interface.">SMesh</a>. </p>
402<p>All meshbuffers in the returned <a class="el" href="structirr_1_1scene_1_1_s_mesh.html" title="Simple implementation of the IMesh interface.">SMesh</a> are of type SMeshBuffer or SMeshBufferLightMap. </p>
403<dl><dt><b>Parameters:</b></dt><dd>
404 <table class="params">
405 <tr><td class="paramname">mesh</td><td>Mesh to copy. </td></tr>
406 </table>
407 </dd>
408</dl>
409<dl class="return"><dt><b>Returns:</b></dt><dd>Cloned mesh. If you no longer need the cloned mesh, you should call <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">SMesh::drop()</a>. See <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IReferenceCounted::drop()</a> for more information. </dd></dl>
410
411</div>
412</div>
413<a class="anchor" id="a73051bc082f128a2e0592fb1a3da2b7d"></a><!-- doxytag: member="irr::scene::IMeshManipulator::createMeshUniquePrimitives" ref="a73051bc082f128a2e0592fb1a3da2b7d" args="(IMesh *mesh) const =0" -->
414<div class="memitem">
415<div class="memproto">
416 <table class="memname">
417 <tr>
418 <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IMeshManipulator::createMeshUniquePrimitives </td>
419 <td>(</td>
420 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
421 <td class="paramname"><em>mesh</em></td><td>)</td>
422 <td> const<code> [pure virtual]</code></td>
423 </tr>
424 </table>
425</div>
426<div class="memdoc">
427
428<p>Creates a copy of a mesh with all vertices unwelded. </p>
429<dl><dt><b>Parameters:</b></dt><dd>
430 <table class="params">
431 <tr><td class="paramname">mesh</td><td>Input mesh </td></tr>
432 </table>
433 </dd>
434</dl>
435<dl class="return"><dt><b>Returns:</b></dt><dd>Mesh consisting only of unique faces. All vertices which were previously shared are now duplicated. If you no longer need the cloned mesh, you should call <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IMesh::drop()</a>. See <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IReferenceCounted::drop()</a> for more information. </dd></dl>
436
437</div>
438</div>
439<a class="anchor" id="ac19065037302c0500cb6ebecefcc6c6d"></a><!-- doxytag: member="irr::scene::IMeshManipulator::createMeshWelded" ref="ac19065037302c0500cb6ebecefcc6c6d" args="(IMesh *mesh, f32 tolerance=core::ROUNDING_ERROR_f32) const =0" -->
440<div class="memitem">
441<div class="memproto">
442 <table class="memname">
443 <tr>
444 <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IMeshManipulator::createMeshWelded </td>
445 <td>(</td>
446 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
447 <td class="paramname"><em>mesh</em>, </td>
448 </tr>
449 <tr>
450 <td class="paramkey"></td>
451 <td></td>
452 <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
453 <td class="paramname"><em>tolerance</em> = <code><a class="el" href="namespaceirr_1_1core.html#a9514dd34463a30102ef8836915cf9c4c">core::ROUNDING_ERROR_f32</a></code>&#160;</td>
454 </tr>
455 <tr>
456 <td></td>
457 <td>)</td>
458 <td></td><td> const<code> [pure virtual]</code></td>
459 </tr>
460 </table>
461</div>
462<div class="memdoc">
463
464<p>Creates a copy of a mesh with vertices welded. </p>
465<dl><dt><b>Parameters:</b></dt><dd>
466 <table class="params">
467 <tr><td class="paramname">mesh</td><td>Input mesh </td></tr>
468 <tr><td class="paramname">tolerance</td><td>The threshold for vertex comparisons. </td></tr>
469 </table>
470 </dd>
471</dl>
472<dl class="return"><dt><b>Returns:</b></dt><dd>Mesh without redundant vertices. If you no longer need the cloned mesh, you should call <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IMesh::drop()</a>. See <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IReferenceCounted::drop()</a> for more information. </dd></dl>
473
474</div>
475</div>
476<a class="anchor" id="af7feb558fbaad9671667d1332c83bb5d"></a><!-- doxytag: member="irr::scene::IMeshManipulator::createMeshWith1TCoords" ref="af7feb558fbaad9671667d1332c83bb5d" args="(IMesh *mesh) const =0" -->
477<div class="memitem">
478<div class="memproto">
479 <table class="memname">
480 <tr>
481 <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IMeshManipulator::createMeshWith1TCoords </td>
482 <td>(</td>
483 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
484 <td class="paramname"><em>mesh</em></td><td>)</td>
485 <td> const<code> [pure virtual]</code></td>
486 </tr>
487 </table>
488</div>
489<div class="memdoc">
490
491<p>Creates a copy of the mesh, which will only consist of S3DVertex vertices. </p>
492<dl><dt><b>Parameters:</b></dt><dd>
493 <table class="params">
494 <tr><td class="paramname">mesh</td><td>Input mesh </td></tr>
495 </table>
496 </dd>
497</dl>
498<dl class="return"><dt><b>Returns:</b></dt><dd>Mesh consisting only of S3DVertex vertices. If you no longer need the cloned mesh, you should call <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IMesh::drop()</a>. See <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IReferenceCounted::drop()</a> for more information. </dd></dl>
499
500</div>
501</div>
502<a class="anchor" id="abf123f6fece99816be402e1edf70dc13"></a><!-- doxytag: member="irr::scene::IMeshManipulator::createMeshWith2TCoords" ref="abf123f6fece99816be402e1edf70dc13" args="(IMesh *mesh) const =0" -->
503<div class="memitem">
504<div class="memproto">
505 <table class="memname">
506 <tr>
507 <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IMeshManipulator::createMeshWith2TCoords </td>
508 <td>(</td>
509 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
510 <td class="paramname"><em>mesh</em></td><td>)</td>
511 <td> const<code> [pure virtual]</code></td>
512 </tr>
513 </table>
514</div>
515<div class="memdoc">
516
517<p>Creates a copy of the mesh, which will only consist of S3DVertex2TCoord vertices. </p>
518<dl><dt><b>Parameters:</b></dt><dd>
519 <table class="params">
520 <tr><td class="paramname">mesh</td><td>Input mesh </td></tr>
521 </table>
522 </dd>
523</dl>
524<dl class="return"><dt><b>Returns:</b></dt><dd>Mesh consisting only of S3DVertex2TCoord vertices. If you no longer need the cloned mesh, you should call <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IMesh::drop()</a>. See <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IReferenceCounted::drop()</a> for more information. </dd></dl>
525
526</div>
527</div>
528<a class="anchor" id="ab849bd2c83b206de1e5da19ce3481e35"></a><!-- doxytag: member="irr::scene::IMeshManipulator::createMeshWithTangents" ref="ab849bd2c83b206de1e5da19ce3481e35" args="(IMesh *mesh, bool recalculateNormals=false, bool smooth=false, bool angleWeighted=false, bool recalculateTangents=true) const =0" -->
529<div class="memitem">
530<div class="memproto">
531 <table class="memname">
532 <tr>
533 <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IMeshManipulator::createMeshWithTangents </td>
534 <td>(</td>
535 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
536 <td class="paramname"><em>mesh</em>, </td>
537 </tr>
538 <tr>
539 <td class="paramkey"></td>
540 <td></td>
541 <td class="paramtype">bool&#160;</td>
542 <td class="paramname"><em>recalculateNormals</em> = <code>false</code>, </td>
543 </tr>
544 <tr>
545 <td class="paramkey"></td>
546 <td></td>
547 <td class="paramtype">bool&#160;</td>
548 <td class="paramname"><em>smooth</em> = <code>false</code>, </td>
549 </tr>
550 <tr>
551 <td class="paramkey"></td>
552 <td></td>
553 <td class="paramtype">bool&#160;</td>
554 <td class="paramname"><em>angleWeighted</em> = <code>false</code>, </td>
555 </tr>
556 <tr>
557 <td class="paramkey"></td>
558 <td></td>
559 <td class="paramtype">bool&#160;</td>
560 <td class="paramname"><em>recalculateTangents</em> = <code>true</code>&#160;</td>
561 </tr>
562 <tr>
563 <td></td>
564 <td>)</td>
565 <td></td><td> const<code> [pure virtual]</code></td>
566 </tr>
567 </table>
568</div>
569<div class="memdoc">
570
571<p>Creates a copy of the mesh, which will only consist of S3DVertexTangents vertices. </p>
572<p>This is useful if you want to draw tangent space normal mapped geometry because it calculates the tangent and binormal data which is needed there. </p>
573<dl><dt><b>Parameters:</b></dt><dd>
574 <table class="params">
575 <tr><td class="paramname">mesh</td><td>Input mesh </td></tr>
576 <tr><td class="paramname">recalculateNormals</td><td>The normals are recalculated if set, otherwise the original ones are kept. Note that keeping the normals may introduce inaccurate tangents if the normals are very different to those calculated from the faces. </td></tr>
577 <tr><td class="paramname">smooth</td><td>The normals/tangents are smoothed across the meshbuffer's faces if this flag is set. </td></tr>
578 <tr><td class="paramname">angleWeighted</td><td>Improved smoothing calculation used </td></tr>
579 <tr><td class="paramname">recalculateTangents</td><td>Whether are actually calculated, or just the mesh with proper type is created. </td></tr>
580 </table>
581 </dd>
582</dl>
583<dl class="return"><dt><b>Returns:</b></dt><dd>Mesh consisting only of S3DVertexTangents vertices. If you no longer need the cloned mesh, you should call <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IMesh::drop()</a>. See <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IReferenceCounted::drop()</a> for more information. </dd></dl>
584
585</div>
586</div>
587<a class="anchor" id="a7194e8a44bfe3a6444826f346c4104ff"></a><!-- doxytag: member="irr::scene::IMeshManipulator::flipSurfaces" ref="a7194e8a44bfe3a6444826f346c4104ff" args="(IMesh *mesh) const =0" -->
588<div class="memitem">
589<div class="memproto">
590 <table class="memname">
591 <tr>
592 <td class="memname">virtual void irr::scene::IMeshManipulator::flipSurfaces </td>
593 <td>(</td>
594 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
595 <td class="paramname"><em>mesh</em></td><td>)</td>
596 <td> const<code> [pure virtual]</code></td>
597 </tr>
598 </table>
599</div>
600<div class="memdoc">
601
602<p>Flips the direction of surfaces. </p>
603<p>Changes backfacing triangles to frontfacing triangles and vice versa. </p>
604<dl><dt><b>Parameters:</b></dt><dd>
605 <table class="params">
606 <tr><td class="paramname">mesh</td><td>Mesh on which the operation is performed. </td></tr>
607 </table>
608 </dd>
609</dl>
610
611</div>
612</div>
613<a class="anchor" id="a914c8cbfbde1428dea91b34fe99e716d"></a><!-- doxytag: member="irr::scene::IMeshManipulator::getPolyCount" ref="a914c8cbfbde1428dea91b34fe99e716d" args="(IMesh *mesh) const =0" -->
614<div class="memitem">
615<div class="memproto">
616 <table class="memname">
617 <tr>
618 <td class="memname">virtual <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> irr::scene::IMeshManipulator::getPolyCount </td>
619 <td>(</td>
620 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
621 <td class="paramname"><em>mesh</em></td><td>)</td>
622 <td> const<code> [pure virtual]</code></td>
623 </tr>
624 </table>
625</div>
626<div class="memdoc">
627
628<p>Get amount of polygons in mesh. </p>
629<dl><dt><b>Parameters:</b></dt><dd>
630 <table class="params">
631 <tr><td class="paramname">mesh</td><td>Input mesh </td></tr>
632 </table>
633 </dd>
634</dl>
635<dl class="return"><dt><b>Returns:</b></dt><dd>Number of polygons in mesh. </dd></dl>
636
637</div>
638</div>
639<a class="anchor" id="af20519dbaa2c2c346e8ddf7c94babc38"></a><!-- doxytag: member="irr::scene::IMeshManipulator::getPolyCount" ref="af20519dbaa2c2c346e8ddf7c94babc38" args="(IAnimatedMesh *mesh) const =0" -->
640<div class="memitem">
641<div class="memproto">
642 <table class="memname">
643 <tr>
644 <td class="memname">virtual <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> irr::scene::IMeshManipulator::getPolyCount </td>
645 <td>(</td>
646 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *&#160;</td>
647 <td class="paramname"><em>mesh</em></td><td>)</td>
648 <td> const<code> [pure virtual]</code></td>
649 </tr>
650 </table>
651</div>
652<div class="memdoc">
653
654<p>Get amount of polygons in mesh. </p>
655<dl><dt><b>Parameters:</b></dt><dd>
656 <table class="params">
657 <tr><td class="paramname">mesh</td><td>Input mesh </td></tr>
658 </table>
659 </dd>
660</dl>
661<dl class="return"><dt><b>Returns:</b></dt><dd>Number of polygons in mesh. </dd></dl>
662
663</div>
664</div>
665<a class="anchor" id="a82a3092d53e84e751bb13dac8dfa2ab4"></a><!-- doxytag: member="irr::scene::IMeshManipulator::makePlanarTextureMapping" ref="a82a3092d53e84e751bb13dac8dfa2ab4" args="(IMesh *mesh, f32 resolution=0.001f) const =0" -->
666<div class="memitem">
667<div class="memproto">
668 <table class="memname">
669 <tr>
670 <td class="memname">virtual void irr::scene::IMeshManipulator::makePlanarTextureMapping </td>
671 <td>(</td>
672 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
673 <td class="paramname"><em>mesh</em>, </td>
674 </tr>
675 <tr>
676 <td class="paramkey"></td>
677 <td></td>
678 <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
679 <td class="paramname"><em>resolution</em> = <code>0.001f</code>&#160;</td>
680 </tr>
681 <tr>
682 <td></td>
683 <td>)</td>
684 <td></td><td> const<code> [pure virtual]</code></td>
685 </tr>
686 </table>
687</div>
688<div class="memdoc">
689
690<p>Creates a planar texture mapping on the mesh. </p>
691<dl><dt><b>Parameters:</b></dt><dd>
692 <table class="params">
693 <tr><td class="paramname">mesh,:</td><td>Mesh on which the operation is performed. </td></tr>
694 <tr><td class="paramname">resolution,:</td><td>resolution of the planar mapping. This is the value specifying which is the relation between world space and texture coordinate space. </td></tr>
695 </table>
696 </dd>
697</dl>
698
699</div>
700</div>
701<a class="anchor" id="a757511833420a24ed8cbf4dfd6607143"></a><!-- doxytag: member="irr::scene::IMeshManipulator::makePlanarTextureMapping" ref="a757511833420a24ed8cbf4dfd6607143" args="(scene::IMeshBuffer *meshbuffer, f32 resolution=0.001f) const =0" -->
702<div class="memitem">
703<div class="memproto">
704 <table class="memname">
705 <tr>
706 <td class="memname">virtual void irr::scene::IMeshManipulator::makePlanarTextureMapping </td>
707 <td>(</td>
708 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">scene::IMeshBuffer</a> *&#160;</td>
709 <td class="paramname"><em>meshbuffer</em>, </td>
710 </tr>
711 <tr>
712 <td class="paramkey"></td>
713 <td></td>
714 <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
715 <td class="paramname"><em>resolution</em> = <code>0.001f</code>&#160;</td>
716 </tr>
717 <tr>
718 <td></td>
719 <td>)</td>
720 <td></td><td> const<code> [pure virtual]</code></td>
721 </tr>
722 </table>
723</div>
724<div class="memdoc">
725
726<p>Creates a planar texture mapping on the meshbuffer. </p>
727<dl><dt><b>Parameters:</b></dt><dd>
728 <table class="params">
729 <tr><td class="paramname">meshbuffer,:</td><td>Buffer on which the operation is performed. </td></tr>
730 <tr><td class="paramname">resolution,:</td><td>resolution of the planar mapping. This is the value specifying which is the relation between world space and texture coordinate space. </td></tr>
731 </table>
732 </dd>
733</dl>
734
735</div>
736</div>
737<a class="anchor" id="abc1b4ae56f126e8466ba6f6634a0f723"></a><!-- doxytag: member="irr::scene::IMeshManipulator::makePlanarTextureMapping" ref="abc1b4ae56f126e8466ba6f6634a0f723" args="(scene::IMesh *mesh, f32 resolutionS, f32 resolutionT, u8 axis, const core::vector3df &amp;offset) const =0" -->
738<div class="memitem">
739<div class="memproto">
740 <table class="memname">
741 <tr>
742 <td class="memname">virtual void irr::scene::IMeshManipulator::makePlanarTextureMapping </td>
743 <td>(</td>
744 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">scene::IMesh</a> *&#160;</td>
745 <td class="paramname"><em>mesh</em>, </td>
746 </tr>
747 <tr>
748 <td class="paramkey"></td>
749 <td></td>
750 <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
751 <td class="paramname"><em>resolutionS</em>, </td>
752 </tr>
753 <tr>
754 <td class="paramkey"></td>
755 <td></td>
756 <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
757 <td class="paramname"><em>resolutionT</em>, </td>
758 </tr>
759 <tr>
760 <td class="paramkey"></td>
761 <td></td>
762 <td class="paramtype"><a class="el" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761">u8</a>&#160;</td>
763 <td class="paramname"><em>axis</em>, </td>
764 </tr>
765 <tr>
766 <td class="paramkey"></td>
767 <td></td>
768 <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;&#160;</td>
769 <td class="paramname"><em>offset</em>&#160;</td>
770 </tr>
771 <tr>
772 <td></td>
773 <td>)</td>
774 <td></td><td> const<code> [pure virtual]</code></td>
775 </tr>
776 </table>
777</div>
778<div class="memdoc">
779
780<p>Creates a planar texture mapping on the buffer. </p>
781<p>This method is currently implemented towards the LWO planar mapping. A more general biasing might be required. </p>
782<dl><dt><b>Parameters:</b></dt><dd>
783 <table class="params">
784 <tr><td class="paramname">mesh</td><td>Mesh on which the operation is performed. </td></tr>
785 <tr><td class="paramname">resolutionS</td><td>Resolution of the planar mapping in horizontal direction. This is the ratio between object space and texture space. </td></tr>
786 <tr><td class="paramname">resolutionT</td><td>Resolution of the planar mapping in vertical direction. This is the ratio between object space and texture space. </td></tr>
787 <tr><td class="paramname">axis</td><td>The axis along which the texture is projected. The allowed values are 0 (X), 1(Y), and 2(Z). </td></tr>
788 <tr><td class="paramname">offset</td><td>Vector added to the vertex positions (in object coordinates). </td></tr>
789 </table>
790 </dd>
791</dl>
792
793</div>
794</div>
795<a class="anchor" id="a28c9aaddc04baa710138a065457f9df1"></a><!-- doxytag: member="irr::scene::IMeshManipulator::makePlanarTextureMapping" ref="a28c9aaddc04baa710138a065457f9df1" args="(scene::IMeshBuffer *buffer, f32 resolutionS, f32 resolutionT, u8 axis, const core::vector3df &amp;offset) const =0" -->
796<div class="memitem">
797<div class="memproto">
798 <table class="memname">
799 <tr>
800 <td class="memname">virtual void irr::scene::IMeshManipulator::makePlanarTextureMapping </td>
801 <td>(</td>
802 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">scene::IMeshBuffer</a> *&#160;</td>
803 <td class="paramname"><em>buffer</em>, </td>
804 </tr>
805 <tr>
806 <td class="paramkey"></td>
807 <td></td>
808 <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
809 <td class="paramname"><em>resolutionS</em>, </td>
810 </tr>
811 <tr>
812 <td class="paramkey"></td>
813 <td></td>
814 <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
815 <td class="paramname"><em>resolutionT</em>, </td>
816 </tr>
817 <tr>
818 <td class="paramkey"></td>
819 <td></td>
820 <td class="paramtype"><a class="el" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761">u8</a>&#160;</td>
821 <td class="paramname"><em>axis</em>, </td>
822 </tr>
823 <tr>
824 <td class="paramkey"></td>
825 <td></td>
826 <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;&#160;</td>
827 <td class="paramname"><em>offset</em>&#160;</td>
828 </tr>
829 <tr>
830 <td></td>
831 <td>)</td>
832 <td></td><td> const<code> [pure virtual]</code></td>
833 </tr>
834 </table>
835</div>
836<div class="memdoc">
837
838<p>Creates a planar texture mapping on the meshbuffer. </p>
839<p>This method is currently implemented towards the LWO planar mapping. A more general biasing might be required. </p>
840<dl><dt><b>Parameters:</b></dt><dd>
841 <table class="params">
842 <tr><td class="paramname">buffer</td><td>Buffer on which the operation is performed. </td></tr>
843 <tr><td class="paramname">resolutionS</td><td>Resolution of the planar mapping in horizontal direction. This is the ratio between object space and texture space. </td></tr>
844 <tr><td class="paramname">resolutionT</td><td>Resolution of the planar mapping in vertical direction. This is the ratio between object space and texture space. </td></tr>
845 <tr><td class="paramname">axis</td><td>The axis along which the texture is projected. The allowed values are 0 (X), 1(Y), and 2(Z). </td></tr>
846 <tr><td class="paramname">offset</td><td>Vector added to the vertex positions (in object coordinates). </td></tr>
847 </table>
848 </dd>
849</dl>
850
851</div>
852</div>
853<a class="anchor" id="a8dba16b7eedeac07761c9c1247944429"></a><!-- doxytag: member="irr::scene::IMeshManipulator::recalculateNormals" ref="a8dba16b7eedeac07761c9c1247944429" args="(IMesh *mesh, bool smooth=false, bool angleWeighted=false) const =0" -->
854<div class="memitem">
855<div class="memproto">
856 <table class="memname">
857 <tr>
858 <td class="memname">virtual void irr::scene::IMeshManipulator::recalculateNormals </td>
859 <td>(</td>
860 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
861 <td class="paramname"><em>mesh</em>, </td>
862 </tr>
863 <tr>
864 <td class="paramkey"></td>
865 <td></td>
866 <td class="paramtype">bool&#160;</td>
867 <td class="paramname"><em>smooth</em> = <code>false</code>, </td>
868 </tr>
869 <tr>
870 <td class="paramkey"></td>
871 <td></td>
872 <td class="paramtype">bool&#160;</td>
873 <td class="paramname"><em>angleWeighted</em> = <code>false</code>&#160;</td>
874 </tr>
875 <tr>
876 <td></td>
877 <td>)</td>
878 <td></td><td> const<code> [pure virtual]</code></td>
879 </tr>
880 </table>
881</div>
882<div class="memdoc">
883
884<p>Recalculates all normals of the mesh. </p>
885<dl><dt><b>Parameters:</b></dt><dd>
886 <table class="params">
887 <tr><td class="paramname">mesh,:</td><td>Mesh on which the operation is performed. </td></tr>
888 <tr><td class="paramname">smooth,:</td><td>If the normals shall be smoothed. </td></tr>
889 <tr><td class="paramname">angleWeighted,:</td><td>If the normals shall be smoothed in relation to their angles. More expensive, but also higher precision. </td></tr>
890 </table>
891 </dd>
892</dl>
893
894</div>
895</div>
896<a class="anchor" id="a94d8390182763e608ca43978b8866d11"></a><!-- doxytag: member="irr::scene::IMeshManipulator::recalculateNormals" ref="a94d8390182763e608ca43978b8866d11" args="(IMeshBuffer *buffer, bool smooth=false, bool angleWeighted=false) const =0" -->
897<div class="memitem">
898<div class="memproto">
899 <table class="memname">
900 <tr>
901 <td class="memname">virtual void irr::scene::IMeshManipulator::recalculateNormals </td>
902 <td>(</td>
903 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *&#160;</td>
904 <td class="paramname"><em>buffer</em>, </td>
905 </tr>
906 <tr>
907 <td class="paramkey"></td>
908 <td></td>
909 <td class="paramtype">bool&#160;</td>
910 <td class="paramname"><em>smooth</em> = <code>false</code>, </td>
911 </tr>
912 <tr>
913 <td class="paramkey"></td>
914 <td></td>
915 <td class="paramtype">bool&#160;</td>
916 <td class="paramname"><em>angleWeighted</em> = <code>false</code>&#160;</td>
917 </tr>
918 <tr>
919 <td></td>
920 <td>)</td>
921 <td></td><td> const<code> [pure virtual]</code></td>
922 </tr>
923 </table>
924</div>
925<div class="memdoc">
926
927<p>Recalculates all normals of the mesh buffer. </p>
928<dl><dt><b>Parameters:</b></dt><dd>
929 <table class="params">
930 <tr><td class="paramname">buffer,:</td><td>Mesh buffer on which the operation is performed. </td></tr>
931 <tr><td class="paramname">smooth,:</td><td>If the normals shall be smoothed. </td></tr>
932 <tr><td class="paramname">angleWeighted,:</td><td>If the normals shall be smoothed in relation to their angles. More expensive, but also higher precision. </td></tr>
933 </table>
934 </dd>
935</dl>
936
937</div>
938</div>
939<a class="anchor" id="a0ea43e8c4e8489551228b3005d325cd6"></a><!-- doxytag: member="irr::scene::IMeshManipulator::recalculateTangents" ref="a0ea43e8c4e8489551228b3005d325cd6" args="(IMesh *mesh, bool recalculateNormals=false, bool smooth=false, bool angleWeighted=false) const =0" -->
940<div class="memitem">
941<div class="memproto">
942 <table class="memname">
943 <tr>
944 <td class="memname">virtual void irr::scene::IMeshManipulator::recalculateTangents </td>
945 <td>(</td>
946 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
947 <td class="paramname"><em>mesh</em>, </td>
948 </tr>
949 <tr>
950 <td class="paramkey"></td>
951 <td></td>
952 <td class="paramtype">bool&#160;</td>
953 <td class="paramname"><em>recalculateNormals</em> = <code>false</code>, </td>
954 </tr>
955 <tr>
956 <td class="paramkey"></td>
957 <td></td>
958 <td class="paramtype">bool&#160;</td>
959 <td class="paramname"><em>smooth</em> = <code>false</code>, </td>
960 </tr>
961 <tr>
962 <td class="paramkey"></td>
963 <td></td>
964 <td class="paramtype">bool&#160;</td>
965 <td class="paramname"><em>angleWeighted</em> = <code>false</code>&#160;</td>
966 </tr>
967 <tr>
968 <td></td>
969 <td>)</td>
970 <td></td><td> const<code> [pure virtual]</code></td>
971 </tr>
972 </table>
973</div>
974<div class="memdoc">
975
976<p>Recalculates tangents, requires a tangent mesh. </p>
977<dl><dt><b>Parameters:</b></dt><dd>
978 <table class="params">
979 <tr><td class="paramname">mesh</td><td>Mesh on which the operation is performed. </td></tr>
980 <tr><td class="paramname">recalculateNormals</td><td>If the normals shall be recalculated, otherwise original normals of the mesh are used unchanged. </td></tr>
981 <tr><td class="paramname">smooth</td><td>If the normals shall be smoothed. </td></tr>
982 <tr><td class="paramname">angleWeighted</td><td>If the normals shall be smoothed in relation to their angles. More expensive, but also higher precision. </td></tr>
983 </table>
984 </dd>
985</dl>
986
987</div>
988</div>
989<a class="anchor" id="a6bea784eb6cf29bdd771dde3903a2758"></a><!-- doxytag: member="irr::scene::IMeshManipulator::recalculateTangents" ref="a6bea784eb6cf29bdd771dde3903a2758" args="(IMeshBuffer *buffer, bool recalculateNormals=false, bool smooth=false, bool angleWeighted=false) const =0" -->
990<div class="memitem">
991<div class="memproto">
992 <table class="memname">
993 <tr>
994 <td class="memname">virtual void irr::scene::IMeshManipulator::recalculateTangents </td>
995 <td>(</td>
996 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *&#160;</td>
997 <td class="paramname"><em>buffer</em>, </td>
998 </tr>
999 <tr>
1000 <td class="paramkey"></td>
1001 <td></td>
1002 <td class="paramtype">bool&#160;</td>
1003 <td class="paramname"><em>recalculateNormals</em> = <code>false</code>, </td>
1004 </tr>
1005 <tr>
1006 <td class="paramkey"></td>
1007 <td></td>
1008 <td class="paramtype">bool&#160;</td>
1009 <td class="paramname"><em>smooth</em> = <code>false</code>, </td>
1010 </tr>
1011 <tr>
1012 <td class="paramkey"></td>
1013 <td></td>
1014 <td class="paramtype">bool&#160;</td>
1015 <td class="paramname"><em>angleWeighted</em> = <code>false</code>&#160;</td>
1016 </tr>
1017 <tr>
1018 <td></td>
1019 <td>)</td>
1020 <td></td><td> const<code> [pure virtual]</code></td>
1021 </tr>
1022 </table>
1023</div>
1024<div class="memdoc">
1025
1026<p>Recalculates tangents, requires a tangent mesh buffer. </p>
1027<dl><dt><b>Parameters:</b></dt><dd>
1028 <table class="params">
1029 <tr><td class="paramname">buffer</td><td>Meshbuffer on which the operation is performed. </td></tr>
1030 <tr><td class="paramname">recalculateNormals</td><td>If the normals shall be recalculated, otherwise original normals of the buffer are used unchanged. </td></tr>
1031 <tr><td class="paramname">smooth</td><td>If the normals shall be smoothed. </td></tr>
1032 <tr><td class="paramname">angleWeighted</td><td>If the normals shall be smoothed in relation to their angles. More expensive, but also higher precision. </td></tr>
1033 </table>
1034 </dd>
1035</dl>
1036
1037</div>
1038</div>
1039<a class="anchor" id="ab32481d2ae93369e223930531186b7e4"></a><!-- doxytag: member="irr::scene::IMeshManipulator::scale" ref="ab32481d2ae93369e223930531186b7e4" args="(IMesh *mesh, const core::vector3df &amp;factor) const " -->
1040<div class="memitem">
1041<div class="memproto">
1042 <table class="memname">
1043 <tr>
1044 <td class="memname">void irr::scene::IMeshManipulator::scale </td>
1045 <td>(</td>
1046 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
1047 <td class="paramname"><em>mesh</em>, </td>
1048 </tr>
1049 <tr>
1050 <td class="paramkey"></td>
1051 <td></td>
1052 <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;&#160;</td>
1053 <td class="paramname"><em>factor</em>&#160;</td>
1054 </tr>
1055 <tr>
1056 <td></td>
1057 <td>)</td>
1058 <td></td><td> const<code> [inline]</code></td>
1059 </tr>
1060 </table>
1061</div>
1062<div class="memdoc">
1063
1064<p>Scales the actual mesh, not a scene node. </p>
1065<dl><dt><b>Parameters:</b></dt><dd>
1066 <table class="params">
1067 <tr><td class="paramname">mesh</td><td>Mesh on which the operation is performed. </td></tr>
1068 <tr><td class="paramname">factor</td><td>Scale factor for each axis. </td></tr>
1069 </table>
1070 </dd>
1071</dl>
1072
1073<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00108">108</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1074
1075<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
1076
1077<p>Referenced by <a class="el" href="_i_mesh_manipulator_8h_source.html#l00125">scaleMesh()</a>.</p>
1078
1079</div>
1080</div>
1081<a class="anchor" id="ac39f47631c59d75f1e4cfa7a2617ca99"></a><!-- doxytag: member="irr::scene::IMeshManipulator::scale" ref="ac39f47631c59d75f1e4cfa7a2617ca99" args="(IMeshBuffer *buffer, const core::vector3df &amp;factor) const " -->
1082<div class="memitem">
1083<div class="memproto">
1084 <table class="memname">
1085 <tr>
1086 <td class="memname">void irr::scene::IMeshManipulator::scale </td>
1087 <td>(</td>
1088 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *&#160;</td>
1089 <td class="paramname"><em>buffer</em>, </td>
1090 </tr>
1091 <tr>
1092 <td class="paramkey"></td>
1093 <td></td>
1094 <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;&#160;</td>
1095 <td class="paramname"><em>factor</em>&#160;</td>
1096 </tr>
1097 <tr>
1098 <td></td>
1099 <td>)</td>
1100 <td></td><td> const<code> [inline]</code></td>
1101 </tr>
1102 </table>
1103</div>
1104<div class="memdoc">
1105
1106<p>Scales the actual meshbuffer, not a scene node. </p>
1107<dl><dt><b>Parameters:</b></dt><dd>
1108 <table class="params">
1109 <tr><td class="paramname">buffer</td><td>Meshbuffer on which the operation is performed. </td></tr>
1110 <tr><td class="paramname">factor</td><td>Scale factor for each axis. </td></tr>
1111 </table>
1112 </dd>
1113</dl>
1114
1115<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00116">116</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1116
1117<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
1118
1119</div>
1120</div>
1121<a class="anchor" id="ae0f814319c18b214be28450d9166a496"></a><!-- doxytag: member="irr::scene::IMeshManipulator::scaleMesh" ref="ae0f814319c18b214be28450d9166a496" args="(IMesh *mesh, const core::vector3df &amp;factor) const " -->
1122<div class="memitem">
1123<div class="memproto">
1124 <table class="memname">
1125 <tr>
1126 <td class="memname">_IRR_DEPRECATED_ void irr::scene::IMeshManipulator::scaleMesh </td>
1127 <td>(</td>
1128 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
1129 <td class="paramname"><em>mesh</em>, </td>
1130 </tr>
1131 <tr>
1132 <td class="paramkey"></td>
1133 <td></td>
1134 <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;&#160;</td>
1135 <td class="paramname"><em>factor</em>&#160;</td>
1136 </tr>
1137 <tr>
1138 <td></td>
1139 <td>)</td>
1140 <td></td><td> const<code> [inline]</code></td>
1141 </tr>
1142 </table>
1143</div>
1144<div class="memdoc">
1145
1146<p>Scales the actual mesh, not a scene node. </p>
1147<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000014">Deprecated:</a></b></dt><dd>Use <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#ab32481d2ae93369e223930531186b7e4" title="Scales the actual mesh, not a scene node.">scale()</a> instead. This method may be removed by Irrlicht 1.9 </dd></dl>
1148<dl><dt><b>Parameters:</b></dt><dd>
1149 <table class="params">
1150 <tr><td class="paramname">mesh</td><td>Mesh on which the operation is performed. </td></tr>
1151 <tr><td class="paramname">factor</td><td>Scale factor for each axis. </td></tr>
1152 </table>
1153 </dd>
1154</dl>
1155
1156<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00125">125</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1157
1158<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00108">scale()</a>.</p>
1159
1160</div>
1161</div>
1162<a class="anchor" id="afc1ae4a04d810389e0507d2ce3735e5d"></a><!-- doxytag: member="irr::scene::IMeshManipulator::scaleTCoords" ref="afc1ae4a04d810389e0507d2ce3735e5d" args="(scene::IMesh *mesh, const core::vector2df &amp;factor, u32 level=1) const " -->
1163<div class="memitem">
1164<div class="memproto">
1165 <table class="memname">
1166 <tr>
1167 <td class="memname">void irr::scene::IMeshManipulator::scaleTCoords </td>
1168 <td>(</td>
1169 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">scene::IMesh</a> *&#160;</td>
1170 <td class="paramname"><em>mesh</em>, </td>
1171 </tr>
1172 <tr>
1173 <td class="paramkey"></td>
1174 <td></td>
1175 <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a2cf08556d77f6f5a792973a6e27ed11b">core::vector2df</a> &amp;&#160;</td>
1176 <td class="paramname"><em>factor</em>, </td>
1177 </tr>
1178 <tr>
1179 <td class="paramkey"></td>
1180 <td></td>
1181 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
1182 <td class="paramname"><em>level</em> = <code>1</code>&#160;</td>
1183 </tr>
1184 <tr>
1185 <td></td>
1186 <td>)</td>
1187 <td></td><td> const<code> [inline]</code></td>
1188 </tr>
1189 </table>
1190</div>
1191<div class="memdoc">
1192
1193<p>Scale the texture coords of a mesh. </p>
1194<dl><dt><b>Parameters:</b></dt><dd>
1195 <table class="params">
1196 <tr><td class="paramname">mesh</td><td>Mesh on which the operation is performed. </td></tr>
1197 <tr><td class="paramname">factor</td><td>Vector which defines the scale for each axis. </td></tr>
1198 <tr><td class="paramname">level</td><td>Number of texture coord, starting from 1. Support for level 2 exists for LightMap buffers. </td></tr>
1199 </table>
1200 </dd>
1201</dl>
1202
1203<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00131">131</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1204
1205<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
1206
1207</div>
1208</div>
1209<a class="anchor" id="a9cc3b7555417636c356d22ed0be1d711"></a><!-- doxytag: member="irr::scene::IMeshManipulator::scaleTCoords" ref="a9cc3b7555417636c356d22ed0be1d711" args="(scene::IMeshBuffer *buffer, const core::vector2df &amp;factor, u32 level=1) const " -->
1210<div class="memitem">
1211<div class="memproto">
1212 <table class="memname">
1213 <tr>
1214 <td class="memname">void irr::scene::IMeshManipulator::scaleTCoords </td>
1215 <td>(</td>
1216 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">scene::IMeshBuffer</a> *&#160;</td>
1217 <td class="paramname"><em>buffer</em>, </td>
1218 </tr>
1219 <tr>
1220 <td class="paramkey"></td>
1221 <td></td>
1222 <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a2cf08556d77f6f5a792973a6e27ed11b">core::vector2df</a> &amp;&#160;</td>
1223 <td class="paramname"><em>factor</em>, </td>
1224 </tr>
1225 <tr>
1226 <td class="paramkey"></td>
1227 <td></td>
1228 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
1229 <td class="paramname"><em>level</em> = <code>1</code>&#160;</td>
1230 </tr>
1231 <tr>
1232 <td></td>
1233 <td>)</td>
1234 <td></td><td> const<code> [inline]</code></td>
1235 </tr>
1236 </table>
1237</div>
1238<div class="memdoc">
1239
1240<p>Scale the texture coords of a meshbuffer. </p>
1241<dl><dt><b>Parameters:</b></dt><dd>
1242 <table class="params">
1243 <tr><td class="paramname">buffer</td><td>Meshbuffer on which the operation is performed. </td></tr>
1244 <tr><td class="paramname">factor</td><td>Vector which defines the scale for each axis. </td></tr>
1245 <tr><td class="paramname">level</td><td>Number of texture coord, starting from 1. Support for level 2 exists for LightMap buffers. </td></tr>
1246 </table>
1247 </dd>
1248</dl>
1249
1250<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00140">140</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1251
1252<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
1253
1254</div>
1255</div>
1256<a class="anchor" id="ad6492bed9f7cf798b717b30c99803bef"></a><!-- doxytag: member="irr::scene::IMeshManipulator::setVertexColorAlpha" ref="ad6492bed9f7cf798b717b30c99803bef" args="(IMesh *mesh, s32 alpha) const " -->
1257<div class="memitem">
1258<div class="memproto">
1259 <table class="memname">
1260 <tr>
1261 <td class="memname">void irr::scene::IMeshManipulator::setVertexColorAlpha </td>
1262 <td>(</td>
1263 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
1264 <td class="paramname"><em>mesh</em>, </td>
1265 </tr>
1266 <tr>
1267 <td class="paramkey"></td>
1268 <td></td>
1269 <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
1270 <td class="paramname"><em>alpha</em>&#160;</td>
1271 </tr>
1272 <tr>
1273 <td></td>
1274 <td>)</td>
1275 <td></td><td> const<code> [inline]</code></td>
1276 </tr>
1277 </table>
1278</div>
1279<div class="memdoc">
1280
1281<p>Sets the alpha vertex color value of the whole mesh to a new value. </p>
1282<dl><dt><b>Parameters:</b></dt><dd>
1283 <table class="params">
1284 <tr><td class="paramname">mesh</td><td>Mesh on which the operation is performed. </td></tr>
1285 <tr><td class="paramname">alpha</td><td>New alpha value. Must be a value between 0 and 255. </td></tr>
1286 </table>
1287 </dd>
1288</dl>
1289
1290<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00042">42</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1291
1292<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
1293
1294</div>
1295</div>
1296<a class="anchor" id="ab98d6493c61620997ad12e3c9fe121a0"></a><!-- doxytag: member="irr::scene::IMeshManipulator::setVertexColorAlpha" ref="ab98d6493c61620997ad12e3c9fe121a0" args="(IMeshBuffer *buffer, s32 alpha) const " -->
1297<div class="memitem">
1298<div class="memproto">
1299 <table class="memname">
1300 <tr>
1301 <td class="memname">void irr::scene::IMeshManipulator::setVertexColorAlpha </td>
1302 <td>(</td>
1303 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *&#160;</td>
1304 <td class="paramname"><em>buffer</em>, </td>
1305 </tr>
1306 <tr>
1307 <td class="paramkey"></td>
1308 <td></td>
1309 <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
1310 <td class="paramname"><em>alpha</em>&#160;</td>
1311 </tr>
1312 <tr>
1313 <td></td>
1314 <td>)</td>
1315 <td></td><td> const<code> [inline]</code></td>
1316 </tr>
1317 </table>
1318</div>
1319<div class="memdoc">
1320
1321<p>Sets the alpha vertex color value of the whole mesh to a new value. </p>
1322<dl><dt><b>Parameters:</b></dt><dd>
1323 <table class="params">
1324 <tr><td class="paramname">buffer</td><td>Meshbuffer on which the operation is performed. </td></tr>
1325 <tr><td class="paramname">alpha</td><td>New alpha value. Must be a value between 0 and 255. </td></tr>
1326 </table>
1327 </dd>
1328</dl>
1329
1330<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00050">50</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1331
1332<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
1333
1334</div>
1335</div>
1336<a class="anchor" id="a2c17558cfa1b87000744dce7bf973d21"></a><!-- doxytag: member="irr::scene::IMeshManipulator::setVertexColors" ref="a2c17558cfa1b87000744dce7bf973d21" args="(IMesh *mesh, video::SColor color) const " -->
1337<div class="memitem">
1338<div class="memproto">
1339 <table class="memname">
1340 <tr>
1341 <td class="memname">void irr::scene::IMeshManipulator::setVertexColors </td>
1342 <td>(</td>
1343 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
1344 <td class="paramname"><em>mesh</em>, </td>
1345 </tr>
1346 <tr>
1347 <td class="paramkey"></td>
1348 <td></td>
1349 <td class="paramtype"><a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a>&#160;</td>
1350 <td class="paramname"><em>color</em>&#160;</td>
1351 </tr>
1352 <tr>
1353 <td></td>
1354 <td>)</td>
1355 <td></td><td> const<code> [inline]</code></td>
1356 </tr>
1357 </table>
1358</div>
1359<div class="memdoc">
1360
1361<p>Sets the colors of all vertices to one color. </p>
1362<dl><dt><b>Parameters:</b></dt><dd>
1363 <table class="params">
1364 <tr><td class="paramname">mesh</td><td>Mesh on which the operation is performed. </td></tr>
1365 <tr><td class="paramname">color</td><td>New color. </td></tr>
1366 </table>
1367 </dd>
1368</dl>
1369
1370<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00058">58</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1371
1372<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
1373
1374</div>
1375</div>
1376<a class="anchor" id="a156dfdd2d3d89cf6e4e5bc09d1db2079"></a><!-- doxytag: member="irr::scene::IMeshManipulator::setVertexColors" ref="a156dfdd2d3d89cf6e4e5bc09d1db2079" args="(IMeshBuffer *buffer, video::SColor color) const " -->
1377<div class="memitem">
1378<div class="memproto">
1379 <table class="memname">
1380 <tr>
1381 <td class="memname">void irr::scene::IMeshManipulator::setVertexColors </td>
1382 <td>(</td>
1383 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *&#160;</td>
1384 <td class="paramname"><em>buffer</em>, </td>
1385 </tr>
1386 <tr>
1387 <td class="paramkey"></td>
1388 <td></td>
1389 <td class="paramtype"><a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a>&#160;</td>
1390 <td class="paramname"><em>color</em>&#160;</td>
1391 </tr>
1392 <tr>
1393 <td></td>
1394 <td>)</td>
1395 <td></td><td> const<code> [inline]</code></td>
1396 </tr>
1397 </table>
1398</div>
1399<div class="memdoc">
1400
1401<p>Sets the colors of all vertices to one color. </p>
1402<dl><dt><b>Parameters:</b></dt><dd>
1403 <table class="params">
1404 <tr><td class="paramname">buffer</td><td>Meshbuffer on which the operation is performed. </td></tr>
1405 <tr><td class="paramname">color</td><td>New color. </td></tr>
1406 </table>
1407 </dd>
1408</dl>
1409
1410<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00066">66</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1411
1412<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
1413
1414</div>
1415</div>
1416<a class="anchor" id="a367ce8914a0453051d82ffd57b343575"></a><!-- doxytag: member="irr::scene::IMeshManipulator::transform" ref="a367ce8914a0453051d82ffd57b343575" args="(IMesh *mesh, const core::matrix4 &amp;m) const " -->
1417<div class="memitem">
1418<div class="memproto">
1419 <table class="memname">
1420 <tr>
1421 <td class="memname">void irr::scene::IMeshManipulator::transform </td>
1422 <td>(</td>
1423 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
1424 <td class="paramname"><em>mesh</em>, </td>
1425 </tr>
1426 <tr>
1427 <td class="paramkey"></td>
1428 <td></td>
1429 <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a73fa92e638c5ca97efd72da307cc9b65">core::matrix4</a> &amp;&#160;</td>
1430 <td class="paramname"><em>m</em>&#160;</td>
1431 </tr>
1432 <tr>
1433 <td></td>
1434 <td>)</td>
1435 <td></td><td> const<code> [inline]</code></td>
1436 </tr>
1437 </table>
1438</div>
1439<div class="memdoc">
1440
1441<p>Applies a transformation to a mesh. </p>
1442<dl><dt><b>Parameters:</b></dt><dd>
1443 <table class="params">
1444 <tr><td class="paramname">mesh</td><td>Mesh on which the operation is performed. </td></tr>
1445 <tr><td class="paramname">m</td><td>transformation matrix. </td></tr>
1446 </table>
1447 </dd>
1448</dl>
1449
1450<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00148">148</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1451
1452<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
1453
1454<p>Referenced by <a class="el" href="_i_mesh_manipulator_8h_source.html#l00165">transformMesh()</a>.</p>
1455
1456</div>
1457</div>
1458<a class="anchor" id="aa3fd618c6c854a87392a1d902517507f"></a><!-- doxytag: member="irr::scene::IMeshManipulator::transform" ref="aa3fd618c6c854a87392a1d902517507f" args="(IMeshBuffer *buffer, const core::matrix4 &amp;m) const " -->
1459<div class="memitem">
1460<div class="memproto">
1461 <table class="memname">
1462 <tr>
1463 <td class="memname">void irr::scene::IMeshManipulator::transform </td>
1464 <td>(</td>
1465 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh_buffer.html">IMeshBuffer</a> *&#160;</td>
1466 <td class="paramname"><em>buffer</em>, </td>
1467 </tr>
1468 <tr>
1469 <td class="paramkey"></td>
1470 <td></td>
1471 <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a73fa92e638c5ca97efd72da307cc9b65">core::matrix4</a> &amp;&#160;</td>
1472 <td class="paramname"><em>m</em>&#160;</td>
1473 </tr>
1474 <tr>
1475 <td></td>
1476 <td>)</td>
1477 <td></td><td> const<code> [inline]</code></td>
1478 </tr>
1479 </table>
1480</div>
1481<div class="memdoc">
1482
1483<p>Applies a transformation to a meshbuffer. </p>
1484<dl><dt><b>Parameters:</b></dt><dd>
1485 <table class="params">
1486 <tr><td class="paramname">buffer</td><td>Meshbuffer on which the operation is performed. </td></tr>
1487 <tr><td class="paramname">m</td><td>transformation matrix. </td></tr>
1488 </table>
1489 </dd>
1490</dl>
1491
1492<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00156">156</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1493
1494<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00304">apply()</a>.</p>
1495
1496</div>
1497</div>
1498<a class="anchor" id="a1c91f352379a910c3276b437fb3b4a96"></a><!-- doxytag: member="irr::scene::IMeshManipulator::transformMesh" ref="a1c91f352379a910c3276b437fb3b4a96" args="(IMesh *mesh, const core::matrix4 &amp;m) const " -->
1499<div class="memitem">
1500<div class="memproto">
1501 <table class="memname">
1502 <tr>
1503 <td class="memname">virtual _IRR_DEPRECATED_ void irr::scene::IMeshManipulator::transformMesh </td>
1504 <td>(</td>
1505 <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
1506 <td class="paramname"><em>mesh</em>, </td>
1507 </tr>
1508 <tr>
1509 <td class="paramkey"></td>
1510 <td></td>
1511 <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a73fa92e638c5ca97efd72da307cc9b65">core::matrix4</a> &amp;&#160;</td>
1512 <td class="paramname"><em>m</em>&#160;</td>
1513 </tr>
1514 <tr>
1515 <td></td>
1516 <td>)</td>
1517 <td></td><td> const<code> [inline, virtual]</code></td>
1518 </tr>
1519 </table>
1520</div>
1521<div class="memdoc">
1522
1523<p>Applies a transformation to a mesh. </p>
1524<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000015">Deprecated:</a></b></dt><dd>Use <a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html#a367ce8914a0453051d82ffd57b343575" title="Applies a transformation to a mesh.">transform()</a> instead. This method may be removed by Irrlicht 1.9 </dd></dl>
1525<dl><dt><b>Parameters:</b></dt><dd>
1526 <table class="params">
1527 <tr><td class="paramname">mesh</td><td>Mesh on which the operation is performed. </td></tr>
1528 <tr><td class="paramname">m</td><td>transformation matrix. </td></tr>
1529 </table>
1530 </dd>
1531</dl>
1532
1533<p>Definition at line <a class="el" href="_i_mesh_manipulator_8h_source.html#l00165">165</a> of file <a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a>.</p>
1534
1535<p>References <a class="el" href="_i_mesh_manipulator_8h_source.html#l00148">transform()</a>.</p>
1536
1537</div>
1538</div>
1539<hr/>The documentation for this class was generated from the following file:<ul>
1540<li><a class="el" href="_i_mesh_manipulator_8h_source.html">IMeshManipulator.h</a></li>
1541</ul>
1542</div>
1543</div>
1544 <div id="nav-path" class="navpath">
1545 <ul>
1546 <li class="navelem"><a class="el" href="namespaceirr.html">irr</a> </li>
1547 <li class="navelem"><a class="el" href="namespaceirr_1_1scene.html">scene</a> </li>
1548 <li class="navelem"><a class="el" href="classirr_1_1scene_1_1_i_mesh_manipulator.html">IMeshManipulator</a> </li>
1549<!-- window showing the filter options -->
1550<div id="MSearchSelectWindow"
1551 onmouseover="return searchBox.OnSearchSelectShow()"
1552 onmouseout="return searchBox.OnSearchSelectHide()"
1553 onkeydown="return searchBox.OnSearchSelectKey(event)">
1554<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>
1555
1556<!-- iframe showing the search results (closed by default) -->
1557<div id="MSearchResultsWindow">
1558<iframe src="javascript:void(0)" frameborder="0"
1559 name="MSearchResults" id="MSearchResults">
1560</iframe>
1561</div>
1562
1563
1564 <li class="footer">
1565<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht
1566Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Sun Nov 17 2013 20:18:46 for Irrlicht 3D Engine by
1567<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
1568 </ul>
1569 </div>
1570
1571
1572</body>
1573</html>