Irrlicht Engine: irr::scene::IGeometryCreator Class Reference

Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# irr::scene::IGeometryCreator Class Reference

Helper class for creating geometry on the fly. More...

`#include <IGeometryCreator.h>`

Inheritance diagram for irr::scene::IGeometryCreator:

List of all members.

## Public Member Functions
virtual IMesh * | createArrowMesh (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
| Create an arrow mesh, composed of a cylinder and a cone.
virtual IMesh * | createConeMesh (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
| Create a cone mesh.
virtual IMesh * | createCubeMesh (const core::vector3df &size=core::vector3df(5.f, 5.f, 5.f)) const =0
| Creates a simple cube mesh.
virtual IMesh * | createCylinderMesh (f32 radius, f32 length, u32 tesselation, const video::SColor &color=video::SColor(0xffffffff), bool closeTop=true, f32 oblique=0.f) const =0
| Create a cylinder mesh.
virtual IMesh * | createHillPlaneMesh (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
| Create a pseudo-random mesh representing a hilly terrain.
IMesh * | createPlaneMesh (const core::dimension2d< f32 > &tileSize, const core::dimension2d< u32 > &tileCount, video::SMaterial *material, const core::dimension2d< f32 > &textureRepeatCount) const
| Create a simple rectangular textured plane mesh.
virtual IMesh * | createSphereMesh (f32 radius=5.f, u32 polyCountX=16, u32 polyCountY=16) const =0
| Create a sphere mesh.
virtual IMesh * | createTerrainMesh (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
| Create a terrain mesh from an image representing a heightfield.
virtual IMesh * | createVolumeLightMesh (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
| Create a volume light mesh.

## Detailed Description

Helper class for creating geometry on the fly.

You can get an instance of this class through ISceneManager::getGeometryCreator()

Definition at line 25 of file IGeometryCreator.h.

## Member Function Documentation

virtual IMesh* irr::scene::IGeometryCreator::createArrowMesh | ( | 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`[pure virtual]`

Create an arrow mesh, composed of a cylinder and a cone.

Parameters:

  | tesselationCylinder | Number of quads composing the cylinder.
  | tesselationCone | Number of triangles composing the cone's roof.
  | height | Total height of the arrow
  | cylinderHeight | Total height of the cylinder, should be lesser than total height
  | widthCylinder | Diameter of the cylinder
  | widthCone | Diameter of the cone's base, should be not smaller than the cylinder's diameter
  | colorCylinder | color of the cylinder
  | colorCone | color of the cone

Returns:
  Generated mesh.

virtual IMesh* irr::scene::IGeometryCreator::createConeMesh | ( | 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`[pure virtual]`

Create a cone mesh.

Parameters:

  | radius | Radius of the cone.
  | length | Length of the cone.
  | tesselation | Number of quads around the circumference of the cone.
  | colorTop | The color of the top of the cone.
  | colorBottom | The color of the bottom of the cone.
  | oblique | (to be documented)

Returns:
  Generated mesh.

virtual IMesh* irr::scene::IGeometryCreator::createCubeMesh | ( | const core::vector3df & | size = `core::vector3df(5.f, 5.f, 5.f)` | ) | const`[pure virtual]`

Creates a simple cube mesh.

Parameters:

  | size | Dimensions of the cube.

Returns:
  Generated mesh.

virtual IMesh* irr::scene::IGeometryCreator::createCylinderMesh | ( | f32 | radius,
|  | f32 | length,
|  | u32 | tesselation,
|  | const video::SColor & | color = `video::SColor(0xffffffff)`,
|  | bool | closeTop = `true`,
|  | f32 | oblique = `0.f` |
| ) |  |  | const`[pure virtual]`

Create a cylinder mesh.

Parameters:

  | radius | Radius of the cylinder.
  | length | Length of the cylinder.
  | tesselation | Number of quads around the circumference of the cylinder.
  | color | The color of the cylinder.
  | closeTop | If true, close the ends of the cylinder, otherwise leave them open.
  | oblique | (to be documented)

Returns:
  Generated mesh.

virtual IMesh* irr::scene::IGeometryCreator::createHillPlaneMesh | ( | 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`[pure virtual]`

Create a pseudo-random mesh representing a hilly terrain.

Parameters:

  | tileSize | The size of each tile.
  | tileCount | The number of tiles in each dimension.
  | material | The material to apply to the mesh.
  | hillHeight | The maximum height of the hills.
  | countHills | The number of hills along each dimension.
  | textureRepeatCount | The number of times to repeat the material texture along each dimension.

Returns:
  Generated mesh.

Referenced by createPlaneMesh().

IMesh* irr::scene::IGeometryCreator::createPlaneMesh | ( | const core::dimension2d< f32 > & | tileSize,
|  | const core::dimension2d< u32 > & | tileCount,
|  | video::SMaterial * | material,
|  | const core::dimension2d< f32 > & | textureRepeatCount |
| ) |  |  | const`[inline]`

Create a simple rectangular textured plane mesh.

Parameters:

  | tileSize | The size of each tile.
  | tileCount | The number of tiles in each dimension.
  | material | The material to apply to the mesh.
  | textureRepeatCount | The number of times to repeat the material texture along each dimension.

Returns:
  Generated mesh.

Definition at line 61 of file IGeometryCreator.h.

References createHillPlaneMesh().

virtual IMesh* irr::scene::IGeometryCreator::createSphereMesh | ( | f32 | radius = `5.f`,
|  | u32 | polyCountX = `16`,
|  | u32 | polyCountY = `16` |
| ) |  |  | const`[pure virtual]`

Create a sphere mesh.

Parameters:

  | radius | Radius of the sphere
  | polyCountX | Number of quads used for the horizontal tiling
  | polyCountY | Number of quads used for the vertical tiling

Returns:
  Generated mesh.

virtual IMesh* irr::scene::IGeometryCreator::createTerrainMesh | ( | 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`[pure virtual]`

Create a terrain mesh from an image representing a heightfield.

Parameters:

  | texture | The texture to apply to the terrain.
  | heightmap | 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.
  | stretchSize | 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
  | maxHeight | The maximum height of the terrain.
  | driver | The current video driver.
  | defaultVertexBlockSize | (to be documented)
  | debugBorders | (to be documented)

Returns:
  Generated mesh.

virtual IMesh* irr::scene::IGeometryCreator::createVolumeLightMesh | ( | 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`[pure virtual]`

Create a volume light mesh.

Parameters:

  | subdivideU | Horizontal patch count.
  | subdivideV | Vertical patch count.
  | footColor | Color at the bottom of the light.
  | tailColor | Color at the mid of the light.
  | lpDistance | Virtual distance of the light point for normals.
  | lightDim | Dimensions of the light.

Returns:
  Generated mesh.

The documentation for this class was generated from the following file:

- IGeometryCreator.h

| The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Oct 24 12:42:07 2010 by Doxygen (1.6.2)