![]() |
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. |