<!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: iImposter 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>iImposter Struct Reference<br> <small> [<a class="el" href="group__engine3d.html">Crystal Space 3D Engine</a>]</small> </h1><!-- doxytag: class="iImposter" --><!-- doxytag: inherits="iBase" --><a class="el" href="structiImposter.html" title="iImposter defines the interface a mesh (or other) class must implement to be used...">iImposter</a> defines the interface a mesh (or other) class must implement to be used as imposter mesh by the engine. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="imposter_8h-source.html">iengine/imposter.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for iImposter:</div> <div class="dynsection"> <p><center><img src="structiImposter__inherit__graph.png" border="0" usemap="#iImposter__inherit__map" alt="Inheritance graph"></center> <map name="iImposter__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="19,7,75,33"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="structiImposter-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 void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiImposter.html#be9be1681bae78bd8f476950ea482390">SetCameraRotationTolerance</a> (<a class="el" href="structiSharedVariable.html">iSharedVariable</a> *angle)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Camera Rotation Tolerance is the tolerance angle between z->1 vector and object on screen. <a href="#be9be1681bae78bd8f476950ea482390"></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="structiImposter.html#2d0f562d34b2567dd29f65e1c90f148a">SetImposterActive</a> (bool flag)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Self explanatory. <a href="#2d0f562d34b2567dd29f65e1c90f148a"></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="structiImposter.html#474a13e16a1d7730041b72aff7a5118f">SetMinDistance</a> (<a class="el" href="structiSharedVariable.html">iSharedVariable</a> *dist)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Minimum Imposter Distance is the distance from camera beyond which imposter is used. <a href="#474a13e16a1d7730041b72aff7a5118f"></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="structiImposter.html#00cc788ea03704b3d2214802395d5d2c">SetRotationTolerance</a> (<a class="el" href="structiSharedVariable.html">iSharedVariable</a> *angle)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Rotation Tolerance is the maximum allowable angle difference between when the imposter was created and the current position of the camera. <a href="#00cc788ea03704b3d2214802395d5d2c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structiImposter.html#2cd1cb2049a288132dfb3898b47b9b6d">WouldUseImposter</a> (<a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> &pov) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determine if imposter or true rendering will be used. <a href="#2cd1cb2049a288132dfb3898b47b9b6d"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <a class="el" href="structiImposter.html" title="iImposter defines the interface a mesh (or other) class must implement to be used...">iImposter</a> defines the interface a mesh (or other) class must implement to be used as imposter mesh by the engine. <p>Definition at line <a class="el" href="imposter_8h-source.html#l00039">39</a> of file <a class="el" href="imposter_8h-source.html">imposter.h</a>.</p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="be9be1681bae78bd8f476950ea482390"></a><!-- doxytag: member="iImposter::SetCameraRotationTolerance" ref="be9be1681bae78bd8f476950ea482390" args="(iSharedVariable *angle)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iImposter::SetCameraRotationTolerance </td> <td>(</td> <td class="paramtype"><a class="el" href="structiSharedVariable.html">iSharedVariable</a> * </td> <td class="paramname"> <em>angle</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Camera Rotation Tolerance is the tolerance angle between z->1 vector and object on screen. <p> Exceeding this value triggers updating of the imposter whenever the object slides too much away from the center of screen. </div> </div><p> <a class="anchor" name="2d0f562d34b2567dd29f65e1c90f148a"></a><!-- doxytag: member="iImposter::SetImposterActive" ref="2d0f562d34b2567dd29f65e1c90f148a" args="(bool flag)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iImposter::SetImposterActive </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>flag</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Self explanatory. <p> </div> </div><p> <a class="anchor" name="474a13e16a1d7730041b72aff7a5118f"></a><!-- doxytag: member="iImposter::SetMinDistance" ref="474a13e16a1d7730041b72aff7a5118f" args="(iSharedVariable *dist)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iImposter::SetMinDistance </td> <td>(</td> <td class="paramtype"><a class="el" href="structiSharedVariable.html">iSharedVariable</a> * </td> <td class="paramname"> <em>dist</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Minimum Imposter Distance is the distance from camera beyond which imposter is used. <p> Imposter gets a ptr here because value is a shared variable which can be changed at runtime for many objects. </div> </div><p> <a class="anchor" name="00cc788ea03704b3d2214802395d5d2c"></a><!-- doxytag: member="iImposter::SetRotationTolerance" ref="00cc788ea03704b3d2214802395d5d2c" args="(iSharedVariable *angle)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iImposter::SetRotationTolerance </td> <td>(</td> <td class="paramtype"><a class="el" href="structiSharedVariable.html">iSharedVariable</a> * </td> <td class="paramname"> <em>angle</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Rotation Tolerance is the maximum allowable angle difference between when the imposter was created and the current position of the camera. <p> Angle greater than this triggers a re-render of the imposter. </div> </div><p> <a class="anchor" name="2cd1cb2049a288132dfb3898b47b9b6d"></a><!-- doxytag: member="iImposter::WouldUseImposter" ref="2cd1cb2049a288132dfb3898b47b9b6d" args="(csReversibleTransform &pov) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool iImposter::WouldUseImposter </td> <td>(</td> <td class="paramtype"><a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> & </td> <td class="paramname"> <em>pov</em> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Determine if imposter or true rendering will be used. <p> </div> </div><p> <hr>The documentation for this struct was generated from the following file:<ul> <li>iengine/<a class="el" href="imposter_8h-source.html">imposter.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>