Navigation
API > API/Runtime > API/Runtime/GeometryCore > API/Runtime/GeometryCore/Generators
Inheritance Hierarchy
- FMeshShapeGenerator
- FCapsuleGenerator
- FChaosVDConvexMeshGenerator
- FChaosVDHeightFieldMeshGenerator
- FChaosVDTriMeshGenerator
- FDiscMeshGenerator
- FPuncturedDiscMeshGenerator
- FFlatTriangulationMeshGenerator
- FGridBoxMeshGenerator
- FBoxSphereGenerator
- FMarchingCubes
- FMinimalBoxMeshGenerator
- FPlanarPolygonMeshGenerator
- FPolygonEdgeMeshGenerator
- FProfileSweepGenerator
- FRectangleMeshGenerator
- FRoundedRectangleMeshGenerator
- FSphereGenerator
- FStairGenerator
- FCurvedStairGenerator
- FSpiralStairGenerator
- FLinearStairGenerator
- FFloatingStairGenerator
- FSweepGeneratorBase
- FGeneralizedCylinderGenerator
- FVerticalCylinderGeneratorBase
- FArrowGenerator
- FCylinderGenerator
References
| Module | GeometryCore |
| Header | /Engine/Source/Runtime/GeometryCore/Public/Generators/MeshShapeGenerator.h |
| Include | #include "Generators/MeshShapeGenerator.h" |
Syntax
class FMeshShapeGenerator
Remarks
Base class for triangle mesh generators (eg like to generate sphere, cylinder, etc) Subclasses must implement Generate()
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bReverseOrientation | If true, reverse orientation of created mesh | |
| TArray< int > | NormalParentVertex | Parent vertex index for each Normal. Same length as Normals array. | |
| TArray< FVector3f > | Normals | Array of Normals. | |
| TArray< FIndex3i > | TriangleNormals | Array of triangle corner Normals, stored as tuples of indices into Normals array. | |
| TArray< int > | TrianglePolygonIDs | Array of per-triangle integer polygon IDs. Same length as Triangles array. | |
| TArray< FIndex3i > | Triangles | Array of triangle corner positions, stored as tuples of indices into Vertices array | |
| TArray< FIndex3i > | TriangleUVs | Array of triangle corner UVs, stored as tuples of indices into UVs array. | |
| TArray< int > | UVParentVertex | Parent vertex index for each UV. Same length as UVs array. | |
| TArray< FVector2f > | UVs | Array of UV positions. | |
| TArray< FVector3d > | Vertices | Array of vertex positions |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| int | AppendNormal
(
const FVector3f& Normal, |
||
| int | AppendTriangle
(
int A, |
||
| int | AppendUV
(
const FVector2f& UV, |
||
| int | AppendVertex
(
const FVector3d& Position |
Append a new vertex at the given Position | |
| FVector2f | BilinearInterp
(
const FVector2f& v00, |
||
| FVector2d | BilinearInterp
(
const FVector2d& v00, |
||
| FVector3d | BilinearInterp
(
const FVector3d& v00, |
||
| void | ExtendBufferSizes
(
int AddVertices, |
Extends the various internal buffers to the correct sizes for the given additional element counts | |
| FMeshShapeGenerator & | Generate () |
Subclasses implement this to generate mesh | |
| bool | |||
| FVector3i | LinearInterp
(
const FVector3i& a, |
||
| void | Reset () |
Clear arrays so that Generate() can be run again | |
| void | SetBufferSizes
(
int NumVertices, |
Set the various internal buffers to the correct sizes for the given element counts | |
| void | SetNormal
(
int Index, |
Set Normal at Index to given value with given ParentVertex | |
| void | SetTriangle
(
int Index, |
||
| void | SetTriangle
(
int Index, |
||
| void | SetTriangle
(
int Index, |
||
| void | SetTriangleNormals
(
int Index, |
||
| void | SetTriangleNormals
(
int Index, |
||
| void | SetTriangleNormals
(
int Index, |
||
| void | SetTrianglePolygon
(
int Index, |
||
| void | SetTriangleUVs
(
int Index, |
||
| void | SetTriangleUVs
(
int Index, |
||
| void | SetTriangleUVs
(
int Index, |
||
| void | SetTriangleWithMatchedUVNormal
(
int Index, |
Set triangle and UVs and normals with matching indices Convenience function for shapes with no uv or normal seams | |
| void | SetUV
(
int Index, |
Set UV at Index to given value with given ParentVertex | |
| void | SetVertex
(
int Index, |
Set vertex at Index to given Position |