<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crystal Space 1.2.1: iDecalManager Struct Reference (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <h1>iDecalManager Struct Reference<br> <small> [<a class="el" href="group__geom__utils.html">Geometry utilities</a>]</small> </h1><!-- doxytag: class="iDecalManager" --><!-- doxytag: inherits="iBase" -->Creates and manages decals. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="decal_8h-source.html">ivaria/decal.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for iDecalManager:</div> <div class="dynsection"> <p><center><img src="structiDecalManager__inherit__graph.png" border="0" usemap="#iDecalManager__inherit__map" alt="Inheritance graph"></center> <map name="iDecalManager__inherit__map"> <area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="36,7,92,33"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="structiDecalManager-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiDecal.html">iDecal</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDecalManager.html#2c4dba34fea03e1141db7e6c5b2ae6b8">CreateDecal</a> (<a class="el" href="structiDecalTemplate.html">iDecalTemplate</a> *decalTemplate, <a class="el" href="structiSector.html">iSector</a> *sector, const <a class="el" href="classcsVector3.html">csVector3</a> &pos, const <a class="el" href="classcsVector3.html">csVector3</a> &up, const <a class="el" href="classcsVector3.html">csVector3</a> &normal, float width=1.0f, float height=1.0f, iDecal *oldDecal=0)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a decal. <a href="#2c4dba34fea03e1141db7e6c5b2ae6b8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsRef.html">csRef</a><br> < <a class="el" href="structiDecalTemplate.html">iDecalTemplate</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDecalManager.html#e9139696d91b09d5192409157f80e7f0">CreateDecalTemplate</a> (<a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *material)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a decal template and fills it with default values. <a href="#e9139696d91b09d5192409157f80e7f0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDecalManager.html#542fd20ac6d6d337a84ef9d71d5e8cf1">DeleteDecal</a> (const <a class="el" href="structiDecal.html">iDecal</a> *decal)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Deletes the given decal. <a href="#542fd20ac6d6d337a84ef9d71d5e8cf1"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiDecal.html">iDecal</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDecalManager.html#1ca2ae225588b7f4476beecd2f24333f">GetDecal</a> (size_t idx) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the specified decal. <a href="#1ca2ae225588b7f4476beecd2f24333f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structiDecalManager.html#f3e1e892224e8e37f6606c1b883c691c">GetDecalCount</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the number of decals. <a href="#f3e1e892224e8e37f6606c1b883c691c"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Creates and manages decals. <p> To create a decal, just get access to this plugin using csLoadPluginCheck<iDecalManager><p> Then, just use one of the decal creation functions:<ul> <li><a class="el" href="structiDecalManager.html#2c4dba34fea03e1141db7e6c5b2ae6b8" title="Creates a decal.">iDecalManager::CreateDecal()</a> </li></ul> <p>Definition at line <a class="el" href="decal_8h-source.html#l00339">339</a> of file <a class="el" href="decal_8h-source.html">decal.h</a>.</p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="2c4dba34fea03e1141db7e6c5b2ae6b8"></a><!-- doxytag: member="iDecalManager::CreateDecal" ref="2c4dba34fea03e1141db7e6c5b2ae6b8" args="(iDecalTemplate *decalTemplate, iSector *sector, const csVector3 &pos, const csVector3 &up, const csVector3 &normal, float width=1.0f, float height=1.0f, iDecal *oldDecal=0)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiDecal.html">iDecal</a>* iDecalManager::CreateDecal </td> <td>(</td> <td class="paramtype"><a class="el" href="structiDecalTemplate.html">iDecalTemplate</a> * </td> <td class="paramname"> <em>decalTemplate</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structiSector.html">iSector</a> * </td> <td class="paramname"> <em>sector</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> & </td> <td class="paramname"> <em>pos</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> & </td> <td class="paramname"> <em>up</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> & </td> <td class="paramname"> <em>normal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>width</em> = <code>1.0f</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>height</em> = <code>1.0f</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structiDecal.html">iDecal</a> * </td> <td class="paramname"> <em>oldDecal</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a decal. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>decalTemplate</em> </td><td>The template used to create the decal. </td></tr> <tr><td valign="top"></td><td valign="top"><em>sector</em> </td><td>The sector to begin searching for nearby meshes. </td></tr> <tr><td valign="top"></td><td valign="top"><em>pos</em> </td><td>The position of the decal in world coordinates. </td></tr> <tr><td valign="top"></td><td valign="top"><em>up</em> </td><td>The up direction of the decal. </td></tr> <tr><td valign="top"></td><td valign="top"><em>normal</em> </td><td>The overall normal of the decal. </td></tr> <tr><td valign="top"></td><td valign="top"><em>width</em> </td><td>The width of the decal. </td></tr> <tr><td valign="top"></td><td valign="top"><em>height</em> </td><td>The height of the decal. </td></tr> <tr><td valign="top"></td><td valign="top"><em>oldDecal</em> </td><td>An existing decal that can be reused for efficiency. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the decal is created. </dd></dl> </div> </div><p> <a class="anchor" name="e9139696d91b09d5192409157f80e7f0"></a><!-- doxytag: member="iDecalManager::CreateDecalTemplate" ref="e9139696d91b09d5192409157f80e7f0" args="(iMaterialWrapper *material)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classcsRef.html">csRef</a><<a class="el" href="structiDecalTemplate.html">iDecalTemplate</a>> iDecalManager::CreateDecalTemplate </td> <td>(</td> <td class="paramtype"><a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> * </td> <td class="paramname"> <em>material</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a decal template and fills it with default values. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>material</em> </td><td>The material wrapper for this decal template. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The newly created decal template. </dd></dl> </div> </div><p> <a class="anchor" name="542fd20ac6d6d337a84ef9d71d5e8cf1"></a><!-- doxytag: member="iDecalManager::DeleteDecal" ref="542fd20ac6d6d337a84ef9d71d5e8cf1" args="(const iDecal *decal)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iDecalManager::DeleteDecal </td> <td>(</td> <td class="paramtype">const <a class="el" href="structiDecal.html">iDecal</a> * </td> <td class="paramname"> <em>decal</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Deletes the given decal. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>decal</em> </td><td>The decal to be deleted. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="1ca2ae225588b7f4476beecd2f24333f"></a><!-- doxytag: member="iDecalManager::GetDecal" ref="1ca2ae225588b7f4476beecd2f24333f" args="(size_t idx) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiDecal.html">iDecal</a>* iDecalManager::GetDecal </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"> <em>idx</em> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the specified decal. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>idx</em> </td><td>The index of the decal to get, must be between 0 and <a class="el" href="structiDecalManager.html#f3e1e892224e8e37f6606c1b883c691c" title="Gets the number of decals.">GetDecalCount()</a>-1 </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="f3e1e892224e8e37f6606c1b883c691c"></a><!-- doxytag: member="iDecalManager::GetDecalCount" ref="f3e1e892224e8e37f6606c1b883c691c" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t iDecalManager::GetDecalCount </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the number of decals. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of decals. </dd></dl> </div> </div><p> <hr>The documentation for this struct was generated from the following file:<ul> <li>ivaria/<a class="el" href="decal_8h-source.html">decal.h</a></ul> <hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>