<!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>Irrlicht Engine: irr::scene::IGeometryCreator Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table class="irrlicht" > <tr valign="middle"> <td><font size="2"><a class="qindex" href="index.html"><font color="#FFFFFF">Home</font></a> | <a class="qindex" href="namespaces.html"><font color="#FFFFFF">Namespaces</font></a> | <a class="qindex" href="hierarchy.html"><font color="#FFFFFF">Hierarchy</font></a> | <a class="qindex" href="classes.html"><font color="#FFFFFF">Alphabetical List</font></a> | <a class="qindex" href="annotated.html"><font color="#FFFFFF"> Class list</font></a> | <a class="qindex" href="files.html"><font color="#FFFFFF">Files</font></a> | <a class="qindex" href="namespacemembers.html"><font color="#FFFFFF"> Namespace Members</font></a> | <a class="qindex" href="functions.html"><font color="#FFFFFF">Class members</font></a> | <a class="qindex" href="globals.html"><font color="#FFFFFF">File members</font></a> | <a class="qindex" href="pages.html"><font color="#FFFFFF">Tutorials</font></a></font> </td> </tr> </table> <!-- Generated by Doxygen 1.5.6 --> <div class="navpath"><a class="el" href="namespaceirr.html">irr</a>::<a class="el" href="namespaceirr_1_1scene.html">scene</a>::<a class="el" href="classirr_1_1scene_1_1_i_geometry_creator.html">IGeometryCreator</a> </div> <div class="contents"> <h1>irr::scene::IGeometryCreator Class Reference</h1><!-- doxytag: class="irr::scene::IGeometryCreator" --><!-- doxytag: inherits="irr::IReferenceCounted" -->Helper class for creating geometry on the fly. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="_i_geometry_creator_8h-source.html">IGeometryCreator.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for irr::scene::IGeometryCreator:</div> <div class="dynsection"> <p><center><img src="classirr_1_1scene_1_1_i_geometry_creator.png" usemap="#irr::scene::IGeometryCreator_map" border="0" alt=""></center> <map name="irr::scene::IGeometryCreator_map"> <area href="classirr_1_1_i_reference_counted.html" alt="irr::IReferenceCounted" shape="rect" coords="0,0,171,24"> </map> </div> <p> <a href="classirr_1_1scene_1_1_i_geometry_creator-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="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_geometry_creator.html#ba5b1b9a614c211eeb7a9f88d8e3ec50">createArrowMesh</a> (const <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> tesselationCylinder=4, const <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> tesselationCone=8, const <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> height=1.f, const <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> cylinderHeight=0.6f, const f32 widthCylinder=0.05f, const f32 widthCone=0.3f, const video::SColor colorCylinder=0xFFFFFFFF, const video::SColor colorCone=0xFFFFFFFF) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create an arrow mesh, composed of a cylinder and a cone. <a href="#ba5b1b9a614c211eeb7a9f88d8e3ec50"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_geometry_creator.html#f532c8fb5558cf274181eb81220db85b">createConeMesh</a> (<a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> radius, <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> length, <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> tesselation, const <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> &colorTop=<a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a>(0xffffffff), const video::SColor &colorBottom=video::SColor(0xffffffff), f32 oblique=0.f) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a cone mesh. <a href="#f532c8fb5558cf274181eb81220db85b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_geometry_creator.html#43a1310362ad8e682c21375b2b9de39b">createCubeMesh</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &size=<a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>(5.f, 5.f, 5.f)) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a simple cube mesh. <a href="#43a1310362ad8e682c21375b2b9de39b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_geometry_creator.html#87143de278ac305bc37dc905e800f5f8">createCylinderMesh</a> (<a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> radius, <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> length, <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> tesselation, const <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> &color=<a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a>(0xffffffff), bool closeTop=true, f32 oblique=0.f) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a cylinder mesh. <a href="#87143de278ac305bc37dc905e800f5f8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_geometry_creator.html#85cb5d4271a1ef4ba1706b15f70ae391">createHillPlaneMesh</a> (const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> > &tileSize, const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> > &tileCount, <a class="el" href="classirr_1_1video_1_1_s_material.html">video::SMaterial</a> *material, <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> hillHeight, const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> > &countHills, const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> > &textureRepeatCount) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a pseudo-random mesh representing a hilly terrain. <a href="#85cb5d4271a1ef4ba1706b15f70ae391"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_geometry_creator.html#b97eb5f80cc08b4611cd56a968a98521">createSphereMesh</a> (<a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> radius=5.f, <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> polyCountX=16, <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> polyCountY=16) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a sphere mesh. <a href="#b97eb5f80cc08b4611cd56a968a98521"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_geometry_creator.html#7cf8a80a7d76d91ab9a2a1d5f63d4eea">createTerrainMesh</a> (<a class="el" href="classirr_1_1video_1_1_i_image.html">video::IImage</a> *texture, <a class="el" href="classirr_1_1video_1_1_i_image.html">video::IImage</a> *heightmap, const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> > &stretchSize, <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> maxHeight, <a class="el" href="classirr_1_1video_1_1_i_video_driver.html">video::IVideoDriver</a> *driver, const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> > &defaultVertexBlockSize, bool debugBorders=false) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a terrain mesh from an image representing a heightfield. <a href="#7cf8a80a7d76d91ab9a2a1d5f63d4eea"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_geometry_creator.html#4f4e4a3c266698c375d14c1e19a91407">createVolumeLightMesh</a> (const <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> subdivideU=32, const <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> subdivideV=32, const <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> footColor=0xffffffff, const video::SColor tailColor=0xffffffff, const f32 lpDistance=8.f, const core::vector3df &lightDim=core::vector3df(1.f, 1.2f, 1.f)) const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a volume light mesh. <a href="#4f4e4a3c266698c375d14c1e19a91407"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Helper class for creating geometry on the fly. <p> You can get an instance of this class through <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html#9840cfd39b44f238d06b7bc51e6ba1f6" title="Get an instance of a geometry creator.">ISceneManager::getGeometryCreator()</a> <p>Definition at line <a class="el" href="_i_geometry_creator_8h-source.html#l00025">25</a> of file <a class="el" href="_i_geometry_creator_8h-source.html">IGeometryCreator.h</a>.</p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="ba5b1b9a614c211eeb7a9f88d8e3ec50"></a><!-- doxytag: member="irr::scene::IGeometryCreator::createArrowMesh" ref="ba5b1b9a614c211eeb7a9f88d8e3ec50" args="(const u32 tesselationCylinder=4, const u32 tesselationCone=8, const f32 height=1.f, const f32 cylinderHeight=0.6f, const f32 widthCylinder=0.05f, const f32 widthCone=0.3f, const video::SColor colorCylinder=0xFFFFFFFF, const video::SColor colorCone=0xFFFFFFFF) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IGeometryCreator::createArrowMesh </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> </td> <td class="paramname"> <em>tesselationCylinder</em> = <code>4</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> </td> <td class="paramname"> <em>tesselationCone</em> = <code>8</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>height</em> = <code>1.f</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>cylinderHeight</em> = <code>0.6f</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>widthCylinder</em> = <code>0.05f</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>widthCone</em> = <code>0.3f</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> </td> <td class="paramname"> <em>colorCylinder</em> = <code>0xFFFFFFFF</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> </td> <td class="paramname"> <em>colorCone</em> = <code>0xFFFFFFFF</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create an arrow mesh, composed of a cylinder and a cone. <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>tesselationCylinder</em> </td><td>Number of quads composing the cylinder. </td></tr> <tr><td valign="top"></td><td valign="top"><em>tesselationCone</em> </td><td>Number of triangles composing the cone's roof. </td></tr> <tr><td valign="top"></td><td valign="top"><em>height</em> </td><td>Total height of the arrow </td></tr> <tr><td valign="top"></td><td valign="top"><em>cylinderHeight</em> </td><td>Total height of the cylinder, should be lesser than total height </td></tr> <tr><td valign="top"></td><td valign="top"><em>widthCylinder</em> </td><td>Diameter of the cylinder </td></tr> <tr><td valign="top"></td><td valign="top"><em>widthCone</em> </td><td>Diameter of the cone's base, should be not smaller than the cylinder's diameter </td></tr> <tr><td valign="top"></td><td valign="top"><em>colorCylinder</em> </td><td>color of the cylinder </td></tr> <tr><td valign="top"></td><td valign="top"><em>colorCone</em> </td><td>color of the cone </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Generated mesh. </dd></dl> </div> </div><p> <a class="anchor" name="f532c8fb5558cf274181eb81220db85b"></a><!-- doxytag: member="irr::scene::IGeometryCreator::createConeMesh" ref="f532c8fb5558cf274181eb81220db85b" args="(f32 radius, f32 length, u32 tesselation, const video::SColor &colorTop=video::SColor(0xffffffff), const video::SColor &colorBottom=video::SColor(0xffffffff), f32 oblique=0.f) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IGeometryCreator::createConeMesh </td> <td>(</td> <td class="paramtype"><a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>radius</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> </td> <td class="paramname"> <em>tesselation</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> & </td> <td class="paramname"> <em>colorTop</em> = <code><a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a>(0xffffffff)</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> & </td> <td class="paramname"> <em>colorBottom</em> = <code><a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a>(0xffffffff)</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>oblique</em> = <code>0.f</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create a cone mesh. <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>radius</em> </td><td>Radius of the cone. </td></tr> <tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>Length of the cone. </td></tr> <tr><td valign="top"></td><td valign="top"><em>tesselation</em> </td><td>Number of quads around the circumference of the cone. </td></tr> <tr><td valign="top"></td><td valign="top"><em>colorTop</em> </td><td>The color of the top of the cone. </td></tr> <tr><td valign="top"></td><td valign="top"><em>colorBottom</em> </td><td>The color of the bottom of the cone. </td></tr> <tr><td valign="top"></td><td valign="top"><em>oblique</em> </td><td>(to be documented) </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Generated mesh. </dd></dl> </div> </div><p> <a class="anchor" name="43a1310362ad8e682c21375b2b9de39b"></a><!-- doxytag: member="irr::scene::IGeometryCreator::createCubeMesh" ref="43a1310362ad8e682c21375b2b9de39b" args="(const core::vector3df &size=core::vector3df(5.f, 5.f, 5.f)) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IGeometryCreator::createCubeMesh </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> & </td> <td class="paramname"> <em>size</em> = <code><a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>(5.f, 5.f, 5.f)</code> </td> <td> ) </td> <td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a simple cube mesh. <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>size</em> </td><td>Dimensions of the cube. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Generated mesh. </dd></dl> </div> </div><p> <a class="anchor" name="87143de278ac305bc37dc905e800f5f8"></a><!-- doxytag: member="irr::scene::IGeometryCreator::createCylinderMesh" ref="87143de278ac305bc37dc905e800f5f8" args="(f32 radius, f32 length, u32 tesselation, const video::SColor &color=video::SColor(0xffffffff), bool closeTop=true, f32 oblique=0.f) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IGeometryCreator::createCylinderMesh </td> <td>(</td> <td class="paramtype"><a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>radius</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> </td> <td class="paramname"> <em>tesselation</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> & </td> <td class="paramname"> <em>color</em> = <code><a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a>(0xffffffff)</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>closeTop</em> = <code>true</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>oblique</em> = <code>0.f</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create a cylinder mesh. <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>radius</em> </td><td>Radius of the cylinder. </td></tr> <tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>Length of the cylinder. </td></tr> <tr><td valign="top"></td><td valign="top"><em>tesselation</em> </td><td>Number of quads around the circumference of the cylinder. </td></tr> <tr><td valign="top"></td><td valign="top"><em>color</em> </td><td>The color of the cylinder. </td></tr> <tr><td valign="top"></td><td valign="top"><em>closeTop</em> </td><td>If true, close the ends of the cylinder, otherwise leave them open. </td></tr> <tr><td valign="top"></td><td valign="top"><em>oblique</em> </td><td>(to be documented) </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Generated mesh. </dd></dl> </div> </div><p> <a class="anchor" name="85cb5d4271a1ef4ba1706b15f70ae391"></a><!-- doxytag: member="irr::scene::IGeometryCreator::createHillPlaneMesh" ref="85cb5d4271a1ef4ba1706b15f70ae391" args="(const core::dimension2d< f32 > &tileSize, const core::dimension2d< u32 > &tileCount, video::SMaterial *material, f32 hillHeight, const core::dimension2d< f32 > &countHills, const core::dimension2d< f32 > &textureRepeatCount) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IGeometryCreator::createHillPlaneMesh </td> <td>(</td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> > & </td> <td class="paramname"> <em>tileSize</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> > & </td> <td class="paramname"> <em>tileCount</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classirr_1_1video_1_1_s_material.html">video::SMaterial</a> * </td> <td class="paramname"> <em>material</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>hillHeight</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> > & </td> <td class="paramname"> <em>countHills</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> > & </td> <td class="paramname"> <em>textureRepeatCount</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create a pseudo-random mesh representing a hilly terrain. <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>tileSize</em> </td><td>The size of each time. </td></tr> <tr><td valign="top"></td><td valign="top"><em>tileCount</em> </td><td>The number of tiles in each dimension. </td></tr> <tr><td valign="top"></td><td valign="top"><em>material</em> </td><td>The material to apply to the mesh. </td></tr> <tr><td valign="top"></td><td valign="top"><em>hillHeight</em> </td><td>The maximum height of the hills. </td></tr> <tr><td valign="top"></td><td valign="top"><em>countHills</em> </td><td>The number of hills along each dimension. </td></tr> <tr><td valign="top"></td><td valign="top"><em>textureRepeatCount</em> </td><td>The number of times to repeat the material texture along each dimension. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Generated mesh. </dd></dl> </div> </div><p> <a class="anchor" name="b97eb5f80cc08b4611cd56a968a98521"></a><!-- doxytag: member="irr::scene::IGeometryCreator::createSphereMesh" ref="b97eb5f80cc08b4611cd56a968a98521" args="(f32 radius=5.f, u32 polyCountX=16, u32 polyCountY=16) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IGeometryCreator::createSphereMesh </td> <td>(</td> <td class="paramtype"><a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>radius</em> = <code>5.f</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> </td> <td class="paramname"> <em>polyCountX</em> = <code>16</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> </td> <td class="paramname"> <em>polyCountY</em> = <code>16</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create a sphere mesh. <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>radius</em> </td><td>Radius of the sphere </td></tr> <tr><td valign="top"></td><td valign="top"><em>polyCountX</em> </td><td>Number of quads used for the horizontal tiling </td></tr> <tr><td valign="top"></td><td valign="top"><em>polyCountY</em> </td><td>Number of quads used for the vertical tiling </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Generated mesh. </dd></dl> </div> </div><p> <a class="anchor" name="7cf8a80a7d76d91ab9a2a1d5f63d4eea"></a><!-- doxytag: member="irr::scene::IGeometryCreator::createTerrainMesh" ref="7cf8a80a7d76d91ab9a2a1d5f63d4eea" args="(video::IImage *texture, video::IImage *heightmap, const core::dimension2d< f32 > &stretchSize, f32 maxHeight, video::IVideoDriver *driver, const core::dimension2d< u32 > &defaultVertexBlockSize, bool debugBorders=false) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IGeometryCreator::createTerrainMesh </td> <td>(</td> <td class="paramtype"><a class="el" href="classirr_1_1video_1_1_i_image.html">video::IImage</a> * </td> <td class="paramname"> <em>texture</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classirr_1_1video_1_1_i_image.html">video::IImage</a> * </td> <td class="paramname"> <em>heightmap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> > & </td> <td class="paramname"> <em>stretchSize</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>maxHeight</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classirr_1_1video_1_1_i_video_driver.html">video::IVideoDriver</a> * </td> <td class="paramname"> <em>driver</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d</a>< <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> > & </td> <td class="paramname"> <em>defaultVertexBlockSize</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>debugBorders</em> = <code>false</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create a terrain mesh from an image representing a heightfield. <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>texture</em> </td><td>The texture to apply to the terrain. </td></tr> <tr><td valign="top"></td><td valign="top"><em>heightmap</em> </td><td>An image that will be interpreted as a heightmap. The brightness (average colour) of each pixel is interpreted as a height, with a 255 brightness pixel producing the maximum height. </td></tr> <tr><td valign="top"></td><td valign="top"><em>stretchSize</em> </td><td>The size that each pixel will produce, i.e. a 512x512 heightmap and a stretchSize of (10.f, 20.f) will produce a mesh of size 5120.f x 10240.f </td></tr> <tr><td valign="top"></td><td valign="top"><em>maxHeight</em> </td><td>The maximum height of the terrain. </td></tr> <tr><td valign="top"></td><td valign="top"><em>driver</em> </td><td>The current <a class="el" href="namespaceirr_1_1video.html" title="The video namespace contains classes for accessing the video driver. All 2d and 3d...">video</a> driver. </td></tr> <tr><td valign="top"></td><td valign="top"><em>defaultVertexBlockSize</em> </td><td>(to be documented) </td></tr> <tr><td valign="top"></td><td valign="top"><em>debugBorders</em> </td><td>(to be documented) </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Generated mesh. </dd></dl> </div> </div><p> <a class="anchor" name="4f4e4a3c266698c375d14c1e19a91407"></a><!-- doxytag: member="irr::scene::IGeometryCreator::createVolumeLightMesh" ref="4f4e4a3c266698c375d14c1e19a91407" args="(const u32 subdivideU=32, const u32 subdivideV=32, const video::SColor footColor=0xffffffff, const video::SColor tailColor=0xffffffff, const f32 lpDistance=8.f, const core::vector3df &lightDim=core::vector3df(1.f, 1.2f, 1.f)) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IGeometryCreator::createVolumeLightMesh </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> </td> <td class="paramname"> <em>subdivideU</em> = <code>32</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> </td> <td class="paramname"> <em>subdivideV</em> = <code>32</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> </td> <td class="paramname"> <em>footColor</em> = <code>0xffffffff</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1video_1_1_s_color.html">video::SColor</a> </td> <td class="paramname"> <em>tailColor</em> = <code>0xffffffff</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> </td> <td class="paramname"> <em>lpDistance</em> = <code>8.f</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> & </td> <td class="paramname"> <em>lightDim</em> = <code><a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>(1.f, 1.2f, 1.f)</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create a volume light mesh. <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>subdivideU</em> </td><td>Horizontal patch count. </td></tr> <tr><td valign="top"></td><td valign="top"><em>subdivideV</em> </td><td>Vertical patch count. </td></tr> <tr><td valign="top"></td><td valign="top"><em>footColor</em> </td><td>Color at the bottom of the light. </td></tr> <tr><td valign="top"></td><td valign="top"><em>tailColor</em> </td><td>Color at the mid of the light. </td></tr> <tr><td valign="top"></td><td valign="top"><em>lpDistance</em> </td><td>Virtual distance of the light point for normals. </td></tr> <tr><td valign="top"></td><td valign="top"><em>lightDim</em> </td><td>Dimensions of the light. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Generated mesh. </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="_i_geometry_creator_8h-source.html">IGeometryCreator.h</a></ul> </div> <hr size="1"> <address style="align: right;"> <small> </small> </address> <table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td width="0"> <div align="left"><small><a href="http://irrlicht.sourceforge.net" target="_blank"><img src="irrlicht.png" alt="The Irrlicht Engine" align="middle" border=0 width=88 height=31></a></small></div></td> <td> <div align="left"><small><em><font size="2">The <a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht Engine</a> Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:13 2010 by <a href="http://www.doxygen.org" target="_blank">Doxygen</a> (1.5.6)</font></em></small></div></td> </tr> </table> <address style="align: right;"> </address> </body> </html>