|
| virtual GEOMETRYCORE_API FMeshShapeGenerator & | Generate () override |
| |
| virtual | ~FMeshShapeGenerator () |
| |
| bool | HasAttributes () const |
| |
| void | ResetAttributes (bool bResetPolygonIDs=false) |
| |
| void | Reset () |
| |
| void | SetBufferSizes (int NumVertices, int NumTriangles, int NumUVs, int NumNormals) |
| |
| void | ExtendBufferSizes (int AddVertices, int AddTriangles, int AddUVs, int AddNormals) |
| |
| void | SetVertex (int Index, const FVector3d &Position) |
| |
| int | AppendVertex (const FVector3d &Position) |
| |
| void | SetUV (int Index, const FVector2f &UV, int ParentVertex) |
| |
| int | AppendUV (const FVector2f &UV, int ParentVertex) |
| |
| void | SetNormal (int Index, const FVector3f &Normal, int ParentVertex) |
| |
| int | AppendNormal (const FVector3f &Normal, int ParentVertex) |
| |
| void | SetTriangle (int Index, const FIndex3i &Tri) |
| |
| void | SetTriangle (int Index, int A, int B, int C) |
| |
| void | SetTriangle (int Index, int A, int B, int C, bool bClockwiseOverride) |
| |
| int | AppendTriangle (int A, int B, int C) |
| |
| void | SetTriangleUVs (int Index, const FIndex3i &Tri) |
| |
| void | SetTriangleUVs (int Index, int A, int B, int C) |
| |
| void | SetTriangleUVs (int Index, int A, int B, int C, bool bClockwiseOverride) |
| |
| void | SetTriangleNormals (int Index, const FIndex3i &Tri) |
| |
| void | SetTriangleNormals (int Index, int A, int B, int C) |
| |
| void | SetTriangleNormals (int Index, int A, int B, int C, bool bClockwiseOverride) |
| |
| void | SetTrianglePolygon (int Index, int PolygonID) |
| |
| void | SetTriangleWithMatchedUVNormal (int Index, int A, int B, int C) |
| |
Much like FGeneralizedCylinderGenerator, but allows an arbitrary profile curve to be swept, and gives control over the frames of the sweep curve. A mesh will be properly oriented if the profile curve is oriented counterclockwise when facing down the direction in which it is being swept.
Because it supports open profile curves, as well as welded points (for welding points on an axis of rotation), it cannot actually use the utility function from FSweepGeneratorBase, and so it doesn't inherit from that class.
| TArray<int32> UE::Geometry::FProfileSweepGenerator::EndProfiles[2] |
If the sweep curve is not closed, this will store the vertex ids of the first and last instances of the profile curve. Note that even if the profile curve is closed, depending on the welding, these could be part of a single boundary (ie, a square revolved 90 degrees around a welded side actually has one open boundary rather than two, since they are joined), but the user likely wants to be given them separately for ease in making end caps.