| FMeshShapeGenerator
|
Module |
|
Header |
/Engine/Plugins/Experimental/GeometryProcessing/Source/GeometricObjects/Public/Generators/SweepGenerator.h |
Include |
#include "Generators/SweepGenerator.h" |
class FProfileSweepGenerator : public FMeshShapeGenerator
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.
Name | Description | ||
---|---|---|---|
|
bProfileCurveIsClosed |
If true, the last point of the profile curve is considered to be connected to the first. |
|
|
bSharpNormals |
If true, each triangle will have its own normals at each vertex, rather than sharing averaged ones with nearby triangles. |
|
|
bSweepCurveIsClosed |
If true, the last point of the sweep curve is considered to be connected to the first. |
|
|
bUVScaleRelativeWorld |
When true, the generator attempts to scale UV's in a way that preserves scaling across different mesh results, aiming for 1.0 in UV space to be equal to UnitUVInWorldCoordinates in world space. |
|
|
bUVsSkipFullyWeldedEdges |
If true, welded-to-welded connections in the profile curve (which can't result in triangles) do not affect the UV layout. |
|
|
double |
DiagonalTolerance |
When QuadSplitMode is ShortestDiagonal, biases one of the diagonals so that symmetric quads are split uniformly. |
|
EndProfiles |
If the sweep curve is not closed, this will store the vertex ids of the first and last instances of the profile curve. |
|
|
PolygonGroupingMode |
||
|
ProfileCurve |
Curve that will be swept along the curve, given in coordinates of the frames used in the sweep curve. |
|
|
Progress |
If not null, this pointer is intermittently used to check whether the current operation should stop early. |
|
|
QuadSplitMethod |
||
|
SweepCurve |
Curve along which to sweep the profile curve. |
|
|
float |
UnitUVInWorldCoordinates |
Only relevant if bUVScaleRelativeWorld is true (see that description) |
|
UVOffset |
These values will be added to the generated UV coordinates after applying UVScale. |
|
|
UVScale |
Generated UV coordinates will be multiplied by these values. |
|
|
WeldedVertices |
Indices into ProfileCurve that should not be swept along the curve, instead being instantiated just once. |
Name | Description | ||
---|---|---|---|
|
AdjustNormalsForTriangle |
Utility function for calculating the triangle normal contributions to average normals. |
|
|
AdjustNormalsForTriangle |
Utility function for calculating the contribution of triangle normals to average normals. |
|
|
InitializeUvBuffer |
TODO: We could output other boundaries too, but that's probably only worth doing once we find a case where we would actually use them. |
Name | Description | ||
---|---|---|---|
|
FMeshShapeGe... |
Generate() |
TODO: We could allow the user to dissallow bowtie vertex creation, which currently could happen depending on which vertices are welded. |