<!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: csMeshObject Class 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>csMeshObject Class Reference</h1><!-- doxytag: class="csMeshObject" --><!-- doxytag: inherits="scfImplementationExt1< csMeshObject, csObjectModel, iMeshObject >" -->This is an abstract implementation of <a class="el" href="structiMeshObject.html" title="This is a general mesh object that the engine can interact with.">iMeshObject</a>. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="meshobjtmpl_8h-source.html">cstool/meshobjtmpl.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for csMeshObject:</div> <div class="dynsection"> <p><center><img src="classcsMeshObject__inherit__graph.png" border="0" usemap="#csMeshObject__inherit__map" alt="Inheritance graph"></center> <map name="csMeshObject__inherit__map"> <area shape="rect" href="classscfImplementationExt1.html" title="scfImplementationExt1\< csMeshObject, csObjectModel, iMeshObject \>" alt="" coords="85,316,565,343"><area shape="rect" href="classcsObjectModel.html" title="Helper class to make it easier to implement iObjectModel in mesh objects." alt="" coords="203,239,317,265"><area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\< csObjectModel, iObjectModel \>" alt="" coords="35,161,397,188"><area shape="rect" href="classscfImplementation.html" title="scfImplementation\< csObjectModel \>" alt="" coords="5,84,269,111"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="317,7,373,33"><area shape="rect" href="structiObjectModel.html" title="This interface represents data related to some geometry in object space." alt="" coords="293,84,397,111"><area shape="rect" href="structiMeshObject.html" title="This is a general mesh object that the engine can interact with." alt="" coords="341,239,440,265"><area shape="rect" href="classCS_1_1Memory_1_1CustomAllocated.html" title="Class that overrides operator new/operator delete/etc." alt="" coords="27,7,248,33"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classcsMeshObject-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="classcsMeshObject.html#e52a469459d5a4010da4ceedc192617d">BuildDecal</a> (const <a class="el" href="classcsVector3.html">csVector3</a> *pos, float decalRadius, <a class="el" href="structiDecalBuilder.html">iDecalBuilder</a> *decalBuilder)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#e52a469459d5a4010da4ceedc192617d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br> < <a class="el" href="structiMeshObject.html">iMeshObject</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#f9e658c5c46042d036fe2fbcf8bb71c6">Clone</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#f9e658c5c46042d036fe2fbcf8bb71c6"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#247b63c6ff4bb4c64d45186ad701a7df">csMeshObject</a> (<a class="el" href="structiEngine.html">iEngine</a> *engine)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#247b63c6ff4bb4c64d45186ad701a7df"></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="classcsMeshObject.html#850ba51b52fcf8f586e097f5fef3d20d">GetColor</a> (<a class="el" href="classcsColor.html">csColor</a> &color) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#850ba51b52fcf8f586e097f5fef3d20d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br> <a class="el" href="structiMeshObjectFactory.html">iMeshObjectFactory</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#62171d50176bd3c6eca041121ebc8107">GetFactory</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#62171d50176bd3c6eca041121ebc8107"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsFlags.html">csFlags</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#90bfc7a55d27707d7d6d2ff2a0e22783">GetFlags</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#90bfc7a55d27707d7d6d2ff2a0e22783"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br> <a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#b3dc7436b849f54a092e92475c95207a">GetMaterialWrapper</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#b3dc7436b849f54a092e92475c95207a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#11e1a6fcf6f23c9da607cfcb4b9b31c4">GetMeshWrapper</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#11e1a6fcf6f23c9da607cfcb4b9b31c4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#f2daaae57d328595a9cbc58d9ad6ce82">GetMixMode</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get mix mode. <a href="#f2daaae57d328595a9cbc58d9ad6ce82"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classcsBox3.html">csBox3</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#6b12a1613e96da40db30c4d4df243b1e">GetObjectBoundingBox</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2objmodel_8h.html" title="Mesh object models.">imesh/objmodel.h</a> for specification. <a href="#6b12a1613e96da40db30c4d4df243b1e"></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="classcsMeshObject.html#b92ebdbe8387c1052ffc5022fd87a8f0">GetObjectBoundingBox</a> (<a class="el" href="classcsBox3.html">csBox3</a> &bbox)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2objmodel_8h.html" title="Mesh object models.">imesh/objmodel.h</a> for specification. <a href="#b92ebdbe8387c1052ffc5022fd87a8f0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiObjectModel.html">iObjectModel</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#7ba41244fa8a8707447472c040684a55">GetObjectModel</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#7ba41244fa8a8707447472c040684a55"></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="classcsMeshObject.html#a3da2433e42166e84c4038241ee70698">GetRadius</a> (float &radius, <a class="el" href="classcsVector3.html">csVector3</a> &center)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2objmodel_8h.html" title="Mesh object models.">imesh/objmodel.h</a> for specification. <a href="#a3da2433e42166e84c4038241ee70698"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structcsRenderMesh.html">csRenderMesh</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#c3f9e1e93019e69fa375ab3b55c8e631">GetRenderMeshes</a> (int &num, <a class="el" href="structiRenderView.html">iRenderView</a> *, <a class="el" href="structiMovable.html">iMovable</a> *, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#c3f9e1e93019e69fa375ab3b55c8e631"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTerraFormer.html">iTerraFormer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#27632054cc980e5c59eab9e92c9b2b32">GetTerraFormerColldet</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2objmodel_8h.html" title="Mesh object models.">imesh/objmodel.h</a> for specification. <a href="#27632054cc980e5c59eab9e92c9b2b32"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTerrainSystem.html">iTerrainSystem</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#e70dd21501643528c7fbfbfae068f92a">GetTerrainColldet</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get a terrain representing the geometry of the object. <a href="#e70dd21501643528c7fbfbfae068f92a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br> <a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#40a02d7286d6ef1428a6e50fcb4499ea">GetVisibleCallback</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#40a02d7286d6ef1428a6e50fcb4499ea"></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="classcsMeshObject.html#8ad069f5d874c7f71bdff041ef199600">HardTransform</a> (const <a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> &t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#8ad069f5d874c7f71bdff041ef199600"></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="classcsMeshObject.html#da02b9acb07f3a103ceae80ab28fcbd4">HitBeamObject</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &start, const <a class="el" href="classcsVector3.html">csVector3</a> &end, <a class="el" href="classcsVector3.html">csVector3</a> &isect, float *pr, int *polygon_idx=0, <a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> **=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#da02b9acb07f3a103ceae80ab28fcbd4"></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="classcsMeshObject.html#cbb48b6900d940849ab4d9faa1c08eb3">HitBeamOutline</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &start, const <a class="el" href="classcsVector3.html">csVector3</a> &end, <a class="el" href="classcsVector3.html">csVector3</a> &isect, float *pr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#cbb48b6900d940849ab4d9faa1c08eb3"></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="classcsMeshObject.html#1ee99e73092eb2afbd1ce0681de75739">InvalidateMaterialHandles</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#1ee99e73092eb2afbd1ce0681de75739"></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="classcsMeshObject.html#e1c70fb365fb22abdf6815a84094cff3">NextFrame</a> (<a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> current_time, const <a class="el" href="classcsVector3.html">csVector3</a> &pos, <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> currentFrame)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#e1c70fb365fb22abdf6815a84094cff3"></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="classcsMeshObject.html#74acd09d8ffb5b1519cd5daef2ad0749">PositionChild</a> (<a class="el" href="structiMeshObject.html">iMeshObject</a> *, <a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#74acd09d8ffb5b1519cd5daef2ad0749"></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="classcsMeshObject.html#b2f028f361a4d50948780657f958e45d">SetColor</a> (const <a class="el" href="classcsColor.html">csColor</a> &color)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#b2f028f361a4d50948780657f958e45d"></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="classcsMeshObject.html#252f3c5d2054f096603b18cc051a0cd7">SetMaterialWrapper</a> (<a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *material)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#252f3c5d2054f096603b18cc051a0cd7"></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="classcsMeshObject.html#643a4e35393a96d06e14accf046b7acf">SetMeshWrapper</a> (<a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> *logparent)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#643a4e35393a96d06e14accf046b7acf"></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="classcsMeshObject.html#9fa4d60637214ee639f9d10b23e4dcd7">SetMixMode</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set mix mode. Default implementation doesn't do anything. <a href="#9fa4d60637214ee639f9d10b23e4dcd7"></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="classcsMeshObject.html#89fa6d5e00ff5d19410b6d4041477c67">SetObjectBoundingBox</a> (const <a class="el" href="classcsBox3.html">csBox3</a> &bbox)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2objmodel_8h.html" title="Mesh object models.">imesh/objmodel.h</a> for specification. <a href="#89fa6d5e00ff5d19410b6d4041477c67"></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="classcsMeshObject.html#552d5f5ccc5208b31eabdec43598f48a">SetVisibleCallback</a> (<a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a> *cb)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#552d5f5ccc5208b31eabdec43598f48a"></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="classcsMeshObject.html#c8f9ce689f18ec8f50c6694d497b9168">SupportsHardTransform</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <a href="#c8f9ce689f18ec8f50c6694d497b9168"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#7e1b69dad76b4599f8d2139d72954dba">~csMeshObject</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#7e1b69dad76b4599f8d2139d72954dba"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#602e093d1f32d3717fa6e937987d30cd">WantToDie</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Tell the engine that this object wants to be deleted. <a href="#602e093d1f32d3717fa6e937987d30cd"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsBox3.html">csBox3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#b98e814c72a4bf8c03f092b9b32194a0">boundingbox</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The bounding box. <a href="#b98e814c72a4bf8c03f092b9b32194a0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structiEngine.html">iEngine</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#b39ad5a444f9cb8f5a4670f140d462da">Engine</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to the engine if available. <a href="#b39ad5a444f9cb8f5a4670f140d462da"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsFlags.html">csFlags</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#5cdebe6065a7a10d7cf112e73f5f2715">flags</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Flags. <a href="#5cdebe6065a7a10d7cf112e73f5f2715"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#9bf695b8211f89bffbf6abbd218c8b1d">LogParent</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">logical parent (usually the wrapper object from the engine) <a href="#9bf695b8211f89bffbf6abbd218c8b1d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsRef.html">csRef</a><br> < <a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMeshObject.html#cd09ea4e1c26f0d00ecb6bb2ba6580f4">VisCallback</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the drawing callback <a href="#cd09ea4e1c26f0d00ecb6bb2ba6580f4"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This is an abstract implementation of <a class="el" href="structiMeshObject.html" title="This is a general mesh object that the engine can interact with.">iMeshObject</a>. <p> It can be used to write custom mesh object implementations more easily. Currently it supports the following common functions of mesh objects:<ul> <li>Implementation of <a class="el" href="structiMeshObject.html" title="This is a general mesh object that the engine can interact with.">iMeshObject</a></li><li>Implementation of <a class="el" href="structiObjectModel.html" title="This interface represents data related to some geometry in object space.">iObjectModel</a></li><li>Storing a "visible callback"</li><li>Storing a logical parent</li><li>Storing object model properties</li><li>Default implementation of most methods </li></ul> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00075">75</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="247b63c6ff4bb4c64d45186ad701a7df"></a><!-- doxytag: member="csMeshObject::csMeshObject" ref="247b63c6ff4bb4c64d45186ad701a7df" args="(iEngine *engine)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">csMeshObject::csMeshObject </td> <td>(</td> <td class="paramtype"><a class="el" href="structiEngine.html">iEngine</a> * </td> <td class="paramname"> <em>engine</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor. <p> </div> </div><p> <a class="anchor" name="7e1b69dad76b4599f8d2139d72954dba"></a><!-- doxytag: member="csMeshObject::~csMeshObject" ref="7e1b69dad76b4599f8d2139d72954dba" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual csMeshObject::~csMeshObject </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="e52a469459d5a4010da4ceedc192617d"></a><!-- doxytag: member="csMeshObject::BuildDecal" ref="e52a469459d5a4010da4ceedc192617d" args="(const csVector3 *pos, float decalRadius, iDecalBuilder *decalBuilder)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::BuildDecal </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">float </td> <td class="paramname"> <em>decalRadius</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structiDecalBuilder.html">iDecalBuilder</a> * </td> <td class="paramname"> <em>decalBuilder</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> see <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does nothing. <p>Implements <a class="el" href="structiMeshObject.html#d25b87c6bd504ce2a48ab1766536b4e8">iMeshObject</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00242">242</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="f9e658c5c46042d036fe2fbcf8bb71c6"></a><!-- doxytag: member="csMeshObject::Clone" ref="f9e658c5c46042d036fe2fbcf8bb71c6" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a><<a class="el" href="structiMeshObject.html">iMeshObject</a>> csMeshObject::Clone </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does nothing and returns 0. <p>Implements <a class="el" href="structiMeshObject.html#f53886ae52e6a94a741e1481f6ebf281">iMeshObject</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00115">115</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="850ba51b52fcf8f586e097f5fef3d20d"></a><!-- doxytag: member="csMeshObject::GetColor" ref="850ba51b52fcf8f586e097f5fef3d20d" args="(csColor &color) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool csMeshObject::GetColor </td> <td>(</td> <td class="paramtype"><a class="el" href="classcsColor.html">csColor</a> & </td> <td class="paramname"> <em>color</em> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does not support a base color. <p>Implements <a class="el" href="structiMeshObject.html#0822835a232c9e3dee44c6403ed07e91">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="62171d50176bd3c6eca041121ebc8107"></a><!-- doxytag: member="csMeshObject::GetFactory" ref="62171d50176bd3c6eca041121ebc8107" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiMeshObjectFactory.html">iMeshObjectFactory</a>* csMeshObject::GetFactory </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> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> There is no default implementation for this method. <p>Implements <a class="el" href="structiMeshObject.html#4c5ac09b770173c1e31ca45b5a99d10f">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="90bfc7a55d27707d7d6d2ff2a0e22783"></a><!-- doxytag: member="csMeshObject::GetFlags" ref="90bfc7a55d27707d7d6d2ff2a0e22783" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classcsFlags.html">csFlags</a>& csMeshObject::GetFlags </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> <p>Implements <a class="el" href="structiMeshObject.html#b252bb85e845a9c03522395d2377258d">iMeshObject</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00120">120</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="b3dc7436b849f54a092e92475c95207a"></a><!-- doxytag: member="csMeshObject::GetMaterialWrapper" ref="b3dc7436b849f54a092e92475c95207a" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a>* csMeshObject::GetMaterialWrapper </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does not support a material. <p>Implements <a class="el" href="structiMeshObject.html#566e1f5e7ced08916b2d107e6bfcf560">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="11e1a6fcf6f23c9da607cfcb4b9b31c4"></a><!-- doxytag: member="csMeshObject::GetMeshWrapper" ref="11e1a6fcf6f23c9da607cfcb4b9b31c4" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiMeshWrapper.html">iMeshWrapper</a>* csMeshObject::GetMeshWrapper </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> This function is handled completely in <a class="el" href="classcsMeshObject.html" title="This is an abstract implementation of iMeshObject.">csMeshObject</a>. <p>Implements <a class="el" href="structiMeshObject.html#f1962ca596487f6701fc78acefca04b3">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="f2daaae57d328595a9cbc58d9ad6ce82"></a><!-- doxytag: member="csMeshObject::GetMixMode" ref="f2daaae57d328595a9cbc58d9ad6ce82" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> csMeshObject::GetMixMode </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get mix mode. <p> <p>Implements <a class="el" href="structiMeshObject.html#e2be0da94727ab789cf1d1569f0e1e06">iMeshObject</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00224">224</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> <p>References <a class="el" href="graph3d_8h-source.html#l00332">CS_FX_COPY</a>.</p> </div> </div><p> <a class="anchor" name="6b12a1613e96da40db30c4d4df243b1e"></a><!-- doxytag: member="csMeshObject::GetObjectBoundingBox" ref="6b12a1613e96da40db30c4d4df243b1e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const <a class="el" href="classcsBox3.html">csBox3</a>& csMeshObject::GetObjectBoundingBox </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2objmodel_8h.html" title="Mesh object models.">imesh/objmodel.h</a> for specification. <p> The default implementation returns an infinite bounding box. <p>Implements <a class="el" href="structiObjectModel.html#78960c01493abf081e0b8257405138c2">iObjectModel</a>.</p> </div> </div><p> <a class="anchor" name="b92ebdbe8387c1052ffc5022fd87a8f0"></a><!-- doxytag: member="csMeshObject::GetObjectBoundingBox" ref="b92ebdbe8387c1052ffc5022fd87a8f0" args="(csBox3 &bbox)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::GetObjectBoundingBox </td> <td>(</td> <td class="paramtype"><a class="el" href="classcsBox3.html">csBox3</a> & </td> <td class="paramname"> <em>bbox</em> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2objmodel_8h.html" title="Mesh object models.">imesh/objmodel.h</a> for specification. <p> The default implementation returns an infinite bounding box. <p>Implements <a class="el" href="structiObjectModel.html#3cda3f14f08428ecc897134f3b27f80a">iObjectModel</a>.</p> </div> </div><p> <a class="anchor" name="7ba41244fa8a8707447472c040684a55"></a><!-- doxytag: member="csMeshObject::GetObjectModel" ref="7ba41244fa8a8707447472c040684a55" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiObjectModel.html">iObjectModel</a>* csMeshObject::GetObjectModel </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> <p>Implements <a class="el" href="structiMeshObject.html#6d9cdc0093694cf3977740d72168b6cc">iMeshObject</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00195">195</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="a3da2433e42166e84c4038241ee70698"></a><!-- doxytag: member="csMeshObject::GetRadius" ref="a3da2433e42166e84c4038241ee70698" args="(float &radius, csVector3 &center)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::GetRadius </td> <td>(</td> <td class="paramtype">float & </td> <td class="paramname"> <em>radius</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> & </td> <td class="paramname"> <em>center</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2objmodel_8h.html" title="Mesh object models.">imesh/objmodel.h</a> for specification. <p> The default implementation returns an infinite radius. <p>Implements <a class="el" href="structiObjectModel.html#3464f62b8d1efdedf06456adacabf008">iObjectModel</a>.</p> </div> </div><p> <a class="anchor" name="c3f9e1e93019e69fa375ab3b55c8e631"></a><!-- doxytag: member="csMeshObject::GetRenderMeshes" ref="c3f9e1e93019e69fa375ab3b55c8e631" args="(int &num, iRenderView *, iMovable *, uint32)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structcsRenderMesh.html">csRenderMesh</a>** csMeshObject::GetRenderMeshes </td> <td>(</td> <td class="paramtype">int & </td> <td class="paramname"> <em>num</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structiRenderView.html">iRenderView</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structiMovable.html">iMovable</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> </td> <td class="paramname"></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does nothing and always returns 0. <p>Implements <a class="el" href="structiMeshObject.html#be10e3c39a941ffdb51ee14998e6a02c">iMeshObject</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00126">126</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="27632054cc980e5c59eab9e92c9b2b32"></a><!-- doxytag: member="csMeshObject::GetTerraFormerColldet" ref="27632054cc980e5c59eab9e92c9b2b32" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiTerraFormer.html">iTerraFormer</a>* csMeshObject::GetTerraFormerColldet </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2objmodel_8h.html" title="Mesh object models.">imesh/objmodel.h</a> for specification. <p> The default implementation returns 0. <p>Reimplemented from <a class="el" href="classcsObjectModel.html#4cffdad0c34be68df1fce291195c3d91">csObjectModel</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00275">275</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="e70dd21501643528c7fbfbfae068f92a"></a><!-- doxytag: member="csMeshObject::GetTerrainColldet" ref="e70dd21501643528c7fbfbfae068f92a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiTerrainSystem.html">iTerrainSystem</a>* csMeshObject::GetTerrainColldet </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get a terrain representing the geometry of the object. <p> This class is useful for collision detection. Can return 0 if this object model doesn't support that. <p>Reimplemented from <a class="el" href="classcsObjectModel.html#8f92cd29ac8d2f9a7452986dccc1c554">csObjectModel</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00277">277</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="40a02d7286d6ef1428a6e50fcb4499ea"></a><!-- doxytag: member="csMeshObject::GetVisibleCallback" ref="40a02d7286d6ef1428a6e50fcb4499ea" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a>* csMeshObject::GetVisibleCallback </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> This function is handled completely in <a class="el" href="classcsMeshObject.html" title="This is an abstract implementation of iMeshObject.">csMeshObject</a>. <p>Implements <a class="el" href="structiMeshObject.html#2d9e58895ab6b2b049d9511da906ec6e">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="8ad069f5d874c7f71bdff041ef199600"></a><!-- doxytag: member="csMeshObject::HardTransform" ref="8ad069f5d874c7f71bdff041ef199600" args="(const csReversibleTransform &t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::HardTransform </td> <td>(</td> <td class="paramtype">const <a class="el" href="classcsReversibleTransform.html">csReversibleTransform</a> & </td> <td class="paramname"> <em>t</em> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does nothing. <p>Implements <a class="el" href="structiMeshObject.html#d86b9fa26b3338779deefa8ab2952dd3">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="da02b9acb07f3a103ceae80ab28fcbd4"></a><!-- doxytag: member="csMeshObject::HitBeamObject" ref="da02b9acb07f3a103ceae80ab28fcbd4" args="(const csVector3 &start, const csVector3 &end, csVector3 &isect, float *pr, int *polygon_idx=0, iMaterialWrapper **=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool csMeshObject::HitBeamObject </td> <td>(</td> <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> & </td> <td class="paramname"> <em>start</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>end</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> & </td> <td class="paramname"> <em>isect</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"> <em>pr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>polygon_idx</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> ** </td> <td class="paramname"> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation will always return a miss. <p>Implements <a class="el" href="structiMeshObject.html#11f23a1e8e26b8a48de7d3b991bab5a9">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="cbb48b6900d940849ab4d9faa1c08eb3"></a><!-- doxytag: member="csMeshObject::HitBeamOutline" ref="cbb48b6900d940849ab4d9faa1c08eb3" args="(const csVector3 &start, const csVector3 &end, csVector3 &isect, float *pr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool csMeshObject::HitBeamOutline </td> <td>(</td> <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> & </td> <td class="paramname"> <em>start</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>end</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> & </td> <td class="paramname"> <em>isect</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"> <em>pr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation will always return a miss. <p>Implements <a class="el" href="structiMeshObject.html#8c8e970d67c2cdc5acbe106a12cfcbf4">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="1ee99e73092eb2afbd1ce0681de75739"></a><!-- doxytag: member="csMeshObject::InvalidateMaterialHandles" ref="1ee99e73092eb2afbd1ce0681de75739" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::InvalidateMaterialHandles </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> see <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does nothing. <p>Implements <a class="el" href="structiMeshObject.html#5e6a81d2a6667dc224529892ad94411e">iMeshObject</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00230">230</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="e1c70fb365fb22abdf6815a84094cff3"></a><!-- doxytag: member="csMeshObject::NextFrame" ref="e1c70fb365fb22abdf6815a84094cff3" args="(csTicks current_time, const csVector3 &pos, uint currentFrame)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::NextFrame </td> <td>(</td> <td class="paramtype"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> </td> <td class="paramname"> <em>current_time</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"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> </td> <td class="paramname"> <em>currentFrame</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does nothing. <p>Implements <a class="el" href="structiMeshObject.html#5c43a5f3c88f5d9d3cb40e7376ce8337">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="74acd09d8ffb5b1519cd5daef2ad0749"></a><!-- doxytag: member="csMeshObject::PositionChild" ref="74acd09d8ffb5b1519cd5daef2ad0749" args="(iMeshObject *, csTicks)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::PositionChild </td> <td>(</td> <td class="paramtype"><a class="el" href="structiMeshObject.html">iMeshObject</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> </td> <td class="paramname"></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> see <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does nothing. <p>Implements <a class="el" href="structiMeshObject.html#dbb570428356c6ec6afa144c549d859b">iMeshObject</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00236">236</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="b2f028f361a4d50948780657f958e45d"></a><!-- doxytag: member="csMeshObject::SetColor" ref="b2f028f361a4d50948780657f958e45d" args="(const csColor &color)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool csMeshObject::SetColor </td> <td>(</td> <td class="paramtype">const <a class="el" href="classcsColor.html">csColor</a> & </td> <td class="paramname"> <em>color</em> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does not support a base color. <p>Implements <a class="el" href="structiMeshObject.html#3e34007c6472db5e2363e8740650ab4e">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="252f3c5d2054f096603b18cc051a0cd7"></a><!-- doxytag: member="csMeshObject::SetMaterialWrapper" ref="252f3c5d2054f096603b18cc051a0cd7" args="(iMaterialWrapper *material)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool csMeshObject::SetMaterialWrapper </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> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation does not support a material. <p>Implements <a class="el" href="structiMeshObject.html#1ca174351028acb8ffb1c49284407566">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="643a4e35393a96d06e14accf046b7acf"></a><!-- doxytag: member="csMeshObject::SetMeshWrapper" ref="643a4e35393a96d06e14accf046b7acf" args="(iMeshWrapper *logparent)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::SetMeshWrapper </td> <td>(</td> <td class="paramtype"><a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> * </td> <td class="paramname"> <em>logparent</em> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> This function is handled completely in <a class="el" href="classcsMeshObject.html" title="This is an abstract implementation of iMeshObject.">csMeshObject</a>. <p>Implements <a class="el" href="structiMeshObject.html#f288c9ecd53bbbee752c85e0a66901c9">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="9fa4d60637214ee639f9d10b23e4dcd7"></a><!-- doxytag: member="csMeshObject::SetMixMode" ref="9fa4d60637214ee639f9d10b23e4dcd7" args="(uint)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::SetMixMode </td> <td>(</td> <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set mix mode. Default implementation doesn't do anything. <p> <p>Implements <a class="el" href="structiMeshObject.html#ac39de11a28f461024207dd86c61e245">iMeshObject</a>.</p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00222">222</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="89fa6d5e00ff5d19410b6d4041477c67"></a><!-- doxytag: member="csMeshObject::SetObjectBoundingBox" ref="89fa6d5e00ff5d19410b6d4041477c67" args="(const csBox3 &bbox)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::SetObjectBoundingBox </td> <td>(</td> <td class="paramtype">const <a class="el" href="classcsBox3.html">csBox3</a> & </td> <td class="paramname"> <em>bbox</em> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2objmodel_8h.html" title="Mesh object models.">imesh/objmodel.h</a> for specification. <p> Overrides the default bounding box. <p>Implements <a class="el" href="structiObjectModel.html#0fbd58df3a157434eca28b045d15cde8">iObjectModel</a>.</p> </div> </div><p> <a class="anchor" name="552d5f5ccc5208b31eabdec43598f48a"></a><!-- doxytag: member="csMeshObject::SetVisibleCallback" ref="552d5f5ccc5208b31eabdec43598f48a" args="(iMeshObjectDrawCallback *cb)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csMeshObject::SetVisibleCallback </td> <td>(</td> <td class="paramtype"><a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a> * </td> <td class="paramname"> <em>cb</em> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> This function is handled completely in <a class="el" href="classcsMeshObject.html" title="This is an abstract implementation of iMeshObject.">csMeshObject</a>. The actual implementation just has to use the VisCallback variable to perform the callback. <p>Implements <a class="el" href="structiMeshObject.html#86ced7e2cd64c8b543c3e709d67e8518">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="c8f9ce689f18ec8f50c6694d497b9168"></a><!-- doxytag: member="csMeshObject::SupportsHardTransform" ref="c8f9ce689f18ec8f50c6694d497b9168" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool csMeshObject::SupportsHardTransform </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> See <a class="el" href="imesh_2object_8h.html" title="Mesh object and mesh object factory interfaces.">imesh/object.h</a> for specification. <p> The default implementation returns false. <p>Implements <a class="el" href="structiMeshObject.html#a472c50dbddf2eedbad7c37bb34e8089">iMeshObject</a>.</p> </div> </div><p> <a class="anchor" name="602e093d1f32d3717fa6e937987d30cd"></a><!-- doxytag: member="csMeshObject::WantToDie" ref="602e093d1f32d3717fa6e937987d30cd" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void csMeshObject::WantToDie </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Tell the engine that this object wants to be deleted. <p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="b98e814c72a4bf8c03f092b9b32194a0"></a><!-- doxytag: member="csMeshObject::boundingbox" ref="b98e814c72a4bf8c03f092b9b32194a0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classcsBox3.html">csBox3</a> <a class="el" href="classcsMeshObject.html#b98e814c72a4bf8c03f092b9b32194a0">csMeshObject::boundingbox</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> The bounding box. <p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00095">95</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="b39ad5a444f9cb8f5a4670f140d462da"></a><!-- doxytag: member="csMeshObject::Engine" ref="b39ad5a444f9cb8f5a4670f140d462da" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structiEngine.html">iEngine</a>* <a class="el" href="classcsMeshObject.html#b39ad5a444f9cb8f5a4670f140d462da">csMeshObject::Engine</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> pointer to the engine if available. <p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00086">86</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="5cdebe6065a7a10d7cf112e73f5f2715"></a><!-- doxytag: member="csMeshObject::flags" ref="5cdebe6065a7a10d7cf112e73f5f2715" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classcsFlags.html">csFlags</a> <a class="el" href="classcsMeshObject.html#5cdebe6065a7a10d7cf112e73f5f2715">csMeshObject::flags</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> Flags. <p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00092">92</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="9bf695b8211f89bffbf6abbd218c8b1d"></a><!-- doxytag: member="csMeshObject::LogParent" ref="9bf695b8211f89bffbf6abbd218c8b1d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structiMeshWrapper.html">iMeshWrapper</a>* <a class="el" href="classcsMeshObject.html#9bf695b8211f89bffbf6abbd218c8b1d">csMeshObject::LogParent</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> logical parent (usually the wrapper object from the engine) <p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00083">83</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <a class="anchor" name="cd09ea4e1c26f0d00ecb6bb2ba6580f4"></a><!-- doxytag: member="csMeshObject::VisCallback" ref="cd09ea4e1c26f0d00ecb6bb2ba6580f4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classcsRef.html">csRef</a><<a class="el" href="structiMeshObjectDrawCallback.html">iMeshObjectDrawCallback</a>> <a class="el" href="classcsMeshObject.html#cd09ea4e1c26f0d00ecb6bb2ba6580f4">csMeshObject::VisCallback</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> the drawing callback <p> <p>Definition at line <a class="el" href="meshobjtmpl_8h-source.html#l00080">80</a> of file <a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.h</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>cstool/<a class="el" href="meshobjtmpl_8h-source.html">meshobjtmpl.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>