Skip to main content

Triangle.ixx File

Basic Triangle (line) shape for rendering. More...

Included Headers

Namespaces Index

namespacehelios
namespacerendering

Graphics rendering infrastructure. More...

namespaceasset

Rendering asset management. More...

namespaceshape

Geometric shape definitions. More...

namespacebasic

Basic primitive shapes. More...

Classes Index

structTriangle

Basic Triangle Shape. More...

Description

Basic Triangle (line) shape for rendering.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file Triangle.ixx
3 * @brief Basic Triangle (line) shape for rendering.
4 */
5module;
6
7
8#include <vector>
9
10export module helios.rendering.asset.shape.basic.Triangle;
11
12import helios.rendering.asset.shape.Shape;
13import helios.rendering.Vertex;
14import helios.rendering.mesh.PrimitiveType;
15
16using namespace helios::rendering;
17
19
20 /**
21 * @brief Basic Triangle Shape.
22 *
23 * Creates vertex and index data for a single Triangle line segment. By default, this shape
24 * defines three vertices (-1, -1, 0), (-1, 1, 0) to the point (1, 0, 0).
25 */
26 struct Triangle : public Shape {
27
29 std::vector<Vertex>{
30
31 {{ -0.5f, -0.5f, 0.0f}, { 0.0f, 0.0f, 0.0f}, {0.0f, 0.0f}},
32 {{ -0.5f, 0.5f, 0.0f}, { 0.0f, 0.0f, 0.0f}, {0.0f, 0.0f}},
33 {{ 0.5f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}, {0.0f, 0.0f}}
34 },
35 std::vector<unsigned int>{
36 0, 1, 2, 0
37 }
38 ) {}
39
40 [[nodiscard]] helios::rendering::mesh::PrimitiveType primitiveType() const noexcept override {
42 }
43
44 };
45
46}

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.