![]() |
Public API Reference |
A primitive mesh generator. More...
#include <cstool/primitives.h>
Static Public Member Functions | |
| static void | GenerateBox (const csBox3 &box, csDirtyAccessArray< csVector3 > &mesh_vertices, csDirtyAccessArray< csVector2 > &mesh_texels, csDirtyAccessArray< csVector3 > &mesh_normals, csDirtyAccessArray< csTriangle > &mesh_triangles, uint32 flags=CS_PRIMBOX_SMOOTH, TextureMapper *mapper=0) |
| Generate a box with 24 vertices and 12 triangles so that the normals of every face point in or outwards (the normals of the vertices belonging to a face will point with the correct normal of the face). | |
| static void | GenerateCapsule (float l, float r, uint sides, csDirtyAccessArray< csVector3 > &mesh_vertices, csDirtyAccessArray< csVector2 > &mesh_texels, csDirtyAccessArray< csVector3 > &mesh_normals, csDirtyAccessArray< csTriangle > &mesh_triangles, TextureMapper *mapper=0) |
| Generate a capsule of given length and radius. | |
| static void | GenerateCone (float l, float r, uint sides, csDirtyAccessArray< csVector3 > &mesh_vertices, csDirtyAccessArray< csVector2 > &mesh_texels, csDirtyAccessArray< csVector3 > &mesh_normals, csDirtyAccessArray< csTriangle > &mesh_triangles, TextureMapper *mapper=0) |
| Generate a cone of given length and radius. | |
| static void | GenerateCylinder (float l, float r, uint sides, csDirtyAccessArray< csVector3 > &mesh_vertices, csDirtyAccessArray< csVector2 > &mesh_texels, csDirtyAccessArray< csVector3 > &mesh_normals, csDirtyAccessArray< csTriangle > &mesh_triangles, TextureMapper *mapper=0) |
| Generate a cylinder of given length and radius. | |
| static void | GenerateQuad (const csVector3 &v1, const csVector3 &v2, const csVector3 &v3, const csVector3 &v4, csDirtyAccessArray< csVector3 > &mesh_vertices, csDirtyAccessArray< csVector2 > &mesh_texels, csDirtyAccessArray< csVector3 > &mesh_normals, csDirtyAccessArray< csTriangle > &mesh_triangles, TextureMapper *mapper=0) |
| Generate a double-sided quad. | |
| static void | GenerateSphere (const csEllipsoid &ellips, int num, csDirtyAccessArray< csVector3 > &mesh_vertices, csDirtyAccessArray< csVector2 > &mesh_texels, csDirtyAccessArray< csVector3 > &mesh_normals, csDirtyAccessArray< csTriangle > &mesh_triangles, bool cyl_mapping=false, bool toponly=false, bool reversed=false, TextureMapper *mapper=0) |
| Generate a sphere with 'num' vertices on the rim. | |
| static void | GenerateTesselatedQuad (const csVector3 &v0, const csVector3 &v1, const csVector3 &v2, int tesselations, csDirtyAccessArray< csVector3 > &mesh_vertices, csDirtyAccessArray< csVector2 > &mesh_texels, csDirtyAccessArray< csVector3 > &mesh_normals, csDirtyAccessArray< csTriangle > &mesh_triangles, TextureMapper *mapper=0) |
| Generate a single-sided tesselations quad. | |
A primitive mesh generator.
Definition at line 106 of file primitives.h.
| static void CS::Geometry::Primitives::GenerateBox | ( | const csBox3 & | box, |
| csDirtyAccessArray< csVector3 > & | mesh_vertices, | ||
| csDirtyAccessArray< csVector2 > & | mesh_texels, | ||
| csDirtyAccessArray< csVector3 > & | mesh_normals, | ||
| csDirtyAccessArray< csTriangle > & | mesh_triangles, | ||
| uint32 | flags = CS_PRIMBOX_SMOOTH, |
||
| TextureMapper * | mapper = 0 |
||
| ) | [static] |
Generate a box with 24 vertices and 12 triangles so that the normals of every face point in or outwards (the normals of the vertices belonging to a face will point with the correct normal of the face).
| flags | is a combination of BoxFlags enumeration values. Default is CS_PRIMBOX_SMOOTH. |
| mapper | is an optional texture mapper. If not given the default TableTextureMapper is used with boxTable. |
| static void CS::Geometry::Primitives::GenerateCapsule | ( | float | l, |
| float | r, | ||
| uint | sides, | ||
| csDirtyAccessArray< csVector3 > & | mesh_vertices, | ||
| csDirtyAccessArray< csVector2 > & | mesh_texels, | ||
| csDirtyAccessArray< csVector3 > & | mesh_normals, | ||
| csDirtyAccessArray< csTriangle > & | mesh_triangles, | ||
| TextureMapper * | mapper = 0 |
||
| ) | [static] |
| static void CS::Geometry::Primitives::GenerateCone | ( | float | l, |
| float | r, | ||
| uint | sides, | ||
| csDirtyAccessArray< csVector3 > & | mesh_vertices, | ||
| csDirtyAccessArray< csVector2 > & | mesh_texels, | ||
| csDirtyAccessArray< csVector3 > & | mesh_normals, | ||
| csDirtyAccessArray< csTriangle > & | mesh_triangles, | ||
| TextureMapper * | mapper = 0 |
||
| ) | [static] |
| static void CS::Geometry::Primitives::GenerateCylinder | ( | float | l, |
| float | r, | ||
| uint | sides, | ||
| csDirtyAccessArray< csVector3 > & | mesh_vertices, | ||
| csDirtyAccessArray< csVector2 > & | mesh_texels, | ||
| csDirtyAccessArray< csVector3 > & | mesh_normals, | ||
| csDirtyAccessArray< csTriangle > & | mesh_triangles, | ||
| TextureMapper * | mapper = 0 |
||
| ) | [static] |
Generate a cylinder of given length and radius.
| l | Cylinder length. |
| r | Cylinder radius. |
| sides | Number of sides. |
| mapper | is an optional texture mapper. If not given the default cylinder texture mapping will be used (currently not implemented, you have to specify a mapper). |
| static void CS::Geometry::Primitives::GenerateQuad | ( | const csVector3 & | v1, |
| const csVector3 & | v2, | ||
| const csVector3 & | v3, | ||
| const csVector3 & | v4, | ||
| csDirtyAccessArray< csVector3 > & | mesh_vertices, | ||
| csDirtyAccessArray< csVector2 > & | mesh_texels, | ||
| csDirtyAccessArray< csVector3 > & | mesh_normals, | ||
| csDirtyAccessArray< csTriangle > & | mesh_triangles, | ||
| TextureMapper * | mapper = 0 |
||
| ) | [static] |
Generate a double-sided quad.
| mapper | is an optional texture mapper. If not given the default TableTextureMapper is used with quadTable. |
| static void CS::Geometry::Primitives::GenerateSphere | ( | const csEllipsoid & | ellips, |
| int | num, | ||
| csDirtyAccessArray< csVector3 > & | mesh_vertices, | ||
| csDirtyAccessArray< csVector2 > & | mesh_texels, | ||
| csDirtyAccessArray< csVector3 > & | mesh_normals, | ||
| csDirtyAccessArray< csTriangle > & | mesh_triangles, | ||
| bool | cyl_mapping = false, |
||
| bool | toponly = false, |
||
| bool | reversed = false, |
||
| TextureMapper * | mapper = 0 |
||
| ) | [static] |
Generate a sphere with 'num' vertices on the rim.
| ellips | Properties of the ellipsoid to create. |
| num | Number of vertices in the generated mesh. |
| mesh_vertices | Returns the generated vertices. |
| mesh_texels | Returns the generated texture coordinates. |
| mesh_normals | Returns the generated normals. |
| mesh_triangles | Returns the generated triangles. |
| cyl_mapping | if true then use cylindrical texture mapping. |
| toponly | if true then only generate the top half of the sphere. |
| reversed | if true then generate the sphere so it is visible from the inside. |
| mapper | is an optional texture mapper. If not given the mapping as defined by the 'cyl_mapping' flag will be used. |
| static void CS::Geometry::Primitives::GenerateTesselatedQuad | ( | const csVector3 & | v0, |
| const csVector3 & | v1, | ||
| const csVector3 & | v2, | ||
| int | tesselations, | ||
| csDirtyAccessArray< csVector3 > & | mesh_vertices, | ||
| csDirtyAccessArray< csVector2 > & | mesh_texels, | ||
| csDirtyAccessArray< csVector3 > & | mesh_normals, | ||
| csDirtyAccessArray< csTriangle > & | mesh_triangles, | ||
| TextureMapper * | mapper = 0 |
||
| ) | [static] |
Generate a single-sided tesselations quad.
v0-v1 and v0-v2 should be oriented clockwise from the visible side.
| v0 | is the origin of the quad. |
| v1 | is the first axis. |
| v2 | is the second axis. |
| tesselations | is the number of tesselations. |
| mapper | is an optional texture mapper. If not given the default DensityTextureMapper is used with density 1. |