void |
Description
Mesh builders can be used to create meshes.
Namespaces
namespace | Rendering::MeshUtils::MarchingCubesMeshBuilder |
namespace | Rendering::MeshUtils::PlatonicSolids |
namespace | Rendering::MeshUtils::WireShapes |
Classes
class | Rendering::MeshUtils::MeshBuilder |
class | Rendering::MeshUtils::QuadtreeMeshBuilder |
Functions
Mesh * | createBox(const VertexDescription & vd, const Geometry::Box & box) |
void | addBox(MeshBuilder & mb, const Geometry::Box & box) Adds a box to the given meshBuilder. |
Mesh * | createDome(const VertexDescription & vd, const double radius, const int horiRes, const int vertRes, const double halfSphereFraction, const double imagePercentage) |
void | addDome(MeshBuilder & mb, const double radius, const int horiRes, const int vertRes, const double halfSphereFraction, const double imagePercentage) Adds a dome to the given meshBuilder. |
Mesh * | createSphere(const VertexDescription & vd, const Geometry::Sphere_f & sphere, uint32_t inclinationSegments, uint32_t azimuthSegments) |
void | addSphere(MeshBuilder & mb, const Geometry::Sphere_f & sphere, uint32_t inclinationSegments, uint32_t azimuthSegments) Adds a shere to the given meshBuilder. |
Mesh * | createDiscSector(const VertexDescription & vd, float radius, uint8_t numSegments, float angle) |
void | addDiscSector(MeshBuilder & mb, float radius, uint8_t numSegments, float angle) Adds a disc sector to the given meshBuilder. |
Mesh * | createRingSector(const VertexDescription & vd, float innerRadius, float outerRadius, uint8_t numSegments, float angle) |
void | addRingSector(MeshBuilder & mb, float innerRadius, float outerRadius, uint8_t numSegments, float angle) Adds a ring sector to the given meshBuilder. |
Mesh * | createCone(const VertexDescription & vd, float radius, float height, uint8_t numSegments) |
void | addCone(MeshBuilder & mb, float radius, float height, uint8_t numSegments) Adds a cone to the given meshBuilder. |
Mesh * | createConicalFrustum(const VertexDescription & vd, float radiusBottom, float radiusTop, float height, uint8_t numSegments) |
void | addConicalFrustum(MeshBuilder & mb, float radiusBottom, float radiusTop, float height, uint8_t numSegments) Adds a conical frustum to the given meshBuilder. |
Mesh * | createArrow(const VertexDescription & vd, float radius, float length) |
void | addArrow(MeshBuilder & mb, float radius, float length) Adds an arrow to the given meshBuilder. |
Mesh * | createRectangle(const VertexDescription & vd, const Geometry::Rect_f & rect) |
Mesh * | createRectangle(const VertexDescription & vd, float width, float height) |
void | addRectangle(MeshBuilder & mb, const Geometry::Rect_f & rect) Adds an rectangle to the given meshBuilder. |
void | addRectangle(MeshBuilder & mb, float width, float height) Adds an rectangle to the given meshBuilder. |
Mesh * | createGrid(const VertexDescription & vd, float width, float height, uint32_t rows, uint32_t columns) |
void | addGrid(MeshBuilder & mb, float width, float height, uint32_t rows, uint32_t columns) Adds a rectangular grid to the given meshBuilder. |
Mesh * | createHexGrid(const VertexDescription & vd, float width, float height, uint32_t rows, uint32_t columns) |
void | addHexGrid(MeshBuilder & mb, float width, float height, uint32_t rows, uint32_t columns) Adds a hexagonal grid to the given meshBuilder. |
Mesh * | createVoxelMesh(const VertexDescription & vd, const Util::PixelAccessor & colorAcc, uint32_t depth) |
void | addVoxelMesh(MeshBuilder & mb, const Util::PixelAccessor & colorAcc, uint32_t depth) Adds a voxel mesh to the given meshBuilder. |
Mesh * | createTorus(const VertexDescription & vd, float innerRadius, float outerRadius, uint32_t majorSegments, uint32_t minorSegments) |
void | addTorus(MeshBuilder & mb, float innerRadius, float outerRadius, uint32_t majorSegments, uint32_t minorSegments) Adds a torus to the MeshBuilder . |
Mesh * | createMeshFromBitmaps(const VertexDescription & vd, Util::Reference < Util::PixelAccessor > depth, Util::Reference < Util::PixelAccessor > color, Util::Reference < Util::PixelAccessor > normals) |
void | addMeshFromBitmaps(MeshBuilder & mb, Util::Reference < Util::PixelAccessor > depth, Util::Reference < Util::PixelAccessor > color, Util::Reference < Util::PixelAccessor > normals) Adds a mesh from bitmap to the given meshBuilder. |
Documentation
function
createBox
public |
Mesh * createBox( | const VertexDescription & | vd, |
const Geometry::Box & | box | |
) |
Return the mesh of a three-dimensional, axis-aligned box. Positions, and normals are supported.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- box
- Geometric specification of the box
Returns
Mesh of the box
Defined in Rendering/MeshUtils/PrimitiveShapes.h:62
function
addBox
public |
void addBox( | MeshBuilder & | mb, |
const Geometry::Box & | box | |
) |
Adds a box to the given meshBuilder.
See also: createBox (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:65
function
createDome
public |
Mesh * createDome( | const VertexDescription & | vd, |
const double | radius, | |
const int | horiRes, | |
const int | vertRes, | |
const double | halfSphereFraction, | |
const double | imagePercentage | |
) |
Creates a mesh for a sky dome with texture coordinates.
Note: adapted from [alc]http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=13887&sid=25788d2b93c73294fd7abe76db6fab1e
Defined in Rendering/MeshUtils/PrimitiveShapes.h:69
function
addDome
public |
void addDome( | MeshBuilder & | mb, |
const double | radius, | |
const int | horiRes, | |
const int | vertRes, | |
const double | halfSphereFraction, | |
const double | imagePercentage | |
) |
Adds a dome to the given meshBuilder.
See also: createDome (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:72
function
createSphere
public |
Mesh * createSphere( | const VertexDescription & | vd, |
const Geometry::Sphere_f & | sphere, | |
uint32_t | inclinationSegments, | |
uint32_t | azimuthSegments | |
) |
Return a sphere, which is generated by subdividing the sphere surface into segements. The surface is subdivided into the given number of subdivisions of the inclination angle and the azimuth angle, respectively. The sphere is centered at the origin and the vertices are lying on the unit sphere. The given vertex description specifies which information is generated for every vertex. Positions, normals, colors, and texture coordinates are supported.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- inclinationSegments
- Number of subdivisions of the inclination angle
- azimuthSegments
- Number of subdivisions of the azimuth angle
Returns
Sphere Mesh
Defined in Rendering/MeshUtils/PrimitiveShapes.h:87
function
addSphere
public |
void addSphere( | MeshBuilder & | mb, |
const Geometry::Sphere_f & | sphere, | |
uint32_t | inclinationSegments, | |
uint32_t | azimuthSegments | |
) |
Adds a shere to the given meshBuilder.
See also: createSphere (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:90
function
createDiscSector
public |
Mesh * createDiscSector( | const VertexDescription & | vd, |
float | radius, | |
uint8_t | numSegments, | |
float | angle | |
) |
Return a sector of a disc. The center of the disc is the origin. The disc is aligned with the y-z plane and the normals are pointing into negative x direction. Positions and normals for the vertices are generated.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- radius
- Radius of the disc
- numSegments
- Number of segments for the disc
- angle
- Central angle of the sector in degrees
Returns
Disc Mesh ornullptr
if the number of segments is smaller than two.
Defined in Rendering/MeshUtils/PrimitiveShapes.h:104
function
addDiscSector
public |
void addDiscSector( | MeshBuilder & | mb, |
float | radius, | |
uint8_t | numSegments, | |
float | angle | |
) |
Adds a disc sector to the given meshBuilder.
See also: createDiscSector (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:107
function
createRingSector
public |
Mesh * createRingSector( | const VertexDescription & | vd, |
float | innerRadius, | |
float | outerRadius, | |
uint8_t | numSegments, | |
float | angle | |
) |
Return a sector of a ring. The center of the disc is the origin. The disc is aligned with the y-z plane and the normals are pointing into negative x direction. Positions and normals for the vertices are generated.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- innerRadius
- inner radius of the ring
- outerRadius
- outer radius of the ring
- numSegments
- Number of segments for the disc
- angle
- Central angle of the sector in degrees
Returns
Disc Mesh ornullptr
if the number of segments is smaller than two or innerRadius >= outerRadius
Defined in Rendering/MeshUtils/PrimitiveShapes.h:122
function
addRingSector
public |
void addRingSector( | MeshBuilder & | mb, |
float | innerRadius, | |
float | outerRadius, | |
uint8_t | numSegments, | |
float | angle | |
) |
Adds a ring sector to the given meshBuilder.
See also: createRingSector (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:125
function
createCone
public |
Mesh * createCone( | const VertexDescription & | vd, |
float | radius, | |
float | height, | |
uint8_t | numSegments | |
) |
Return a cone with the radius given. The cap end is not created. The center of the base is the origin. The apex lies on the x-axis at distanceheightfrom the origin. Positions and normals for the vertices are generated.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- radius
- Radius of the base
- height
- Distance between the base and the apex
- numSegments
- Number of segments for the circle at the base and the lateral surface
Returns
Cone Mesh ornullptr
if the number of segments is smaller than two
See also: createDisc() for creation of a cap end
Defined in Rendering/MeshUtils/PrimitiveShapes.h:141
function
addCone
public |
void addCone( | MeshBuilder & | mb, |
float | radius, | |
float | height, | |
uint8_t | numSegments | |
) |
Adds a cone to the given meshBuilder.
See also: createCone (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:144
function
createConicalFrustum
public |
Mesh * createConicalFrustum( | const VertexDescription & | vd, |
float | radiusBottom, | |
float | radiusTop, | |
float | height, | |
uint8_t | numSegments | |
) |
Return a conical frustum with the radii given. The cap ends are not created. The center of the bottom circle is the origin. The center of the top circle lies on the x-axis at distanceheightfrom the origin. If both radii have the same value, a cylinder is created. Positions and normals for the vertices are generated.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- radiusBottom
- Radius of the bottom circle
- radiusTop
- Radius of the top circle
- height
- Distance between both circles
- numSegments
- Number of segments for the circles and the lateral surface
Returns
Conical frustum Mesh ornullptr
if the number of segments is smaller than two
See also: createDisc() for creation of cap ends
Defined in Rendering/MeshUtils/PrimitiveShapes.h:162
function
addConicalFrustum
public |
void addConicalFrustum( | MeshBuilder & | mb, |
float | radiusBottom, | |
float | radiusTop, | |
float | height, | |
uint8_t | numSegments | |
) |
Adds a conical frustum to the given meshBuilder.
See also: createConicalFrustum (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:165
function
createArrow
public |
Mesh * createArrow( | const VertexDescription & | vd, |
float | radius, | |
float | length | |
) |
Returns an arrow which consists of a ConicalFrustum and 2 Cones at one end.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- radius
- Radius of the arrow
- length
- Overall length of the arrow
Returns
Arrow Mesh
Defined in Rendering/MeshUtils/PrimitiveShapes.h:175
function
addArrow
public |
void addArrow( | MeshBuilder & | mb, |
float | radius, | |
float | length | |
) |
Adds an arrow to the given meshBuilder.
See also: createArrow (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:178
function
createRectangle
public |
Mesh * createRectangle( | const VertexDescription & | vd, |
const Geometry::Rect_f & | rect | |
) |
Returns a Rectangle consisting of 2 triangles (oriented in x-y-plane)
Parameters
- vd
- Vertex description specifying the vertex information to generate
- rect
- the rectangle
Returns
Rectangle Mesh
Defined in Rendering/MeshUtils/PrimitiveShapes.h:187
function
createRectangle
public | inline |
Mesh * createRectangle( | const VertexDescription & | vd, |
float | width, | |
float | height | |
) |
Returns a Rectangle consisting of 2 triangles with origin in the center (oriented in x-y-plane)
Parameters
- vd
- Vertex description specifying the vertex information to generate
- width
- The width of the rectangle
- height
- The height of the rectangle
Returns
Rectangle Mesh
Defined in Rendering/MeshUtils/PrimitiveShapes.h:197
function
addRectangle
public |
void addRectangle( | MeshBuilder & | mb, |
const Geometry::Rect_f & | rect | |
) |
Adds an rectangle to the given meshBuilder.
See also: createRectangle (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:202
function
addRectangle
public | inline |
void addRectangle( | MeshBuilder & | mb, |
float | width, | |
float | height | |
) |
Adds an rectangle to the given meshBuilder.
See also: createRectangle (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:204
function
createGrid
public |
Mesh * createGrid( | const VertexDescription & | vd, |
float | width, | |
float | height, | |
uint32_t | rows, | |
uint32_t | columns | |
) |
Creates a rectangular grid in the x-z-plane.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- width
- The width of the grid
- height
- The height of the grid
- rows
- number of rows
- columns
- number of columns
Defined in Rendering/MeshUtils/PrimitiveShapes.h:217
function
addGrid
public |
void addGrid( | MeshBuilder & | mb, |
float | width, | |
float | height, | |
uint32_t | rows, | |
uint32_t | columns | |
) |
Adds a rectangular grid to the given meshBuilder.
See also: createGrid (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:220
function
createHexGrid
public |
Mesh * createHexGrid( | const VertexDescription & | vd, |
float | width, | |
float | height, | |
uint32_t | rows, | |
uint32_t | columns | |
) |
Creates a hexagonal grid in the x-z-plane.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- width
- The width of the grid
- height
- The height of the grid
- rows
- number of rows. Needs to be at least 3
- columns
- number of columns. Needs to be at least 4
Defined in Rendering/MeshUtils/PrimitiveShapes.h:231
function
addHexGrid
public |
void addHexGrid( | MeshBuilder & | mb, |
float | width, | |
float | height, | |
uint32_t | rows, | |
uint32_t | columns | |
) |
Adds a hexagonal grid to the given meshBuilder.
See also: createHexGrid (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:234
function
createVoxelMesh
public |
Mesh * createVoxelMesh( | const VertexDescription & | vd, |
const Util::PixelAccessor & | colorAcc, | |
uint32_t | depth | |
) |
Creates a mesh from a voxel bitmap as exported from a 3D Texture . The bitmap should have a height of depth*heiht, i.e., each depth layer is stored from top to bottom in the vertical direction of the bitmap. The height and width of the voxel grid is derived from the bitmap width and height. The actual height of the voxel grid is bitmap-height/depth. A voxel box of size 1^3 is created for every pixel with a positive alpha value. The local point (0,0,0) in the resulting mesh corresponds to the (0,0,0) coordinate in the voxel bitmap. To scale the mesh afterwards, use MeshUtils::transform
Parameters
- vd
- Vertex description specifying the vertex information to generate
- colorAcc
- the bitmap that defines the voxel grid. Every pixel with non-zero alpha value defines a voxel.
- the
- depth of the voxel grid. The height of the bitmap should be divisible by this value
Defined in Rendering/MeshUtils/PrimitiveShapes.h:248
function
addVoxelMesh
public |
void addVoxelMesh( | MeshBuilder & | mb, |
const Util::PixelAccessor & | colorAcc, | |
uint32_t | depth | |
) |
Adds a voxel mesh to the given meshBuilder.
See also: createHexGrid (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:251
function
createTorus
public |
Mesh * createTorus( | const VertexDescription & | vd, |
float | innerRadius, | |
float | outerRadius, | |
uint32_t | majorSegments, | |
uint32_t | minorSegments | |
) |
Creates a torus mesh. The center of the torus is located at the origin. The aligned is aligned with the x-z plane.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- innerRadius
- inner radius of the torus. Should be greater than or equal 0.
- outerRadius
- outer radius of the torus. Should be greater than inner radius.
- majorSegments
- Number of major segments. Minimum is 3.
- minorSegments
- Number of minor segments. Minimum is 3.
Returns
The mesh
Defined in Rendering/MeshUtils/PrimitiveShapes.h:265
function
addTorus
public |
void addTorus( | MeshBuilder & | mb, |
float | innerRadius, | |
float | outerRadius, | |
uint32_t | majorSegments, | |
uint32_t | minorSegments | |
) |
Adds a torus to the MeshBuilder .
See also: addTorus (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:268
function
createMeshFromBitmaps
public |
Mesh * createMeshFromBitmaps( | const VertexDescription & | vd, |
Util::Reference < Util::PixelAccessor > | depth, | |
Util::Reference < Util::PixelAccessor > | color, | |
Util::Reference < Util::PixelAccessor > | normals | |
) |
Creates a mesh from the input bitmap.
Parameters
- vd
- Vertex description specifying the vertex information to generate
- depth
- Bitmap with depth values. Translates to the y-values of the mesh.
- color
- Bitmap with colors.
- normals
- Bitmap with normals.
Returns
The mesh
Defined in Rendering/MeshUtils/PrimitiveShapes.h:280
function
addMeshFromBitmaps
public |
void addMeshFromBitmaps( | MeshBuilder & | mb, |
Util::Reference < Util::PixelAccessor > | depth, | |
Util::Reference < Util::PixelAccessor > | color, | |
Util::Reference < Util::PixelAccessor > | normals | |
) |
Adds a mesh from bitmap to the given meshBuilder.
See also: createMeshFromBitmaps (…)
Defined in Rendering/MeshUtils/PrimitiveShapes.h:283