UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::FPolygonEdgeMeshGenerator Class Reference

#include <PolygonEdgeMeshGenerator.h>

+ Inheritance diagram for UE::Geometry::FPolygonEdgeMeshGenerator:

Public Member Functions

GEOMETRYCORE_API FPolygonEdgeMeshGenerator (const TArray< FFrame3d > &InPolygon, bool bInClosed, const TArray< double > &InOffsetScaleFactors, double InWidth=1.0, FVector3d InNormal=FVector3d::UnitZ(), bool bInRoundedCorners=false, double InCornerRadius=0.0, bool bInLimitCornerRadius=false, int InNumArcVertices=3)
 
GEOMETRYCORE_API ~FPolygonEdgeMeshGenerator ()
 
virtual GEOMETRYCORE_API FMeshShapeGeneratorGenerate () final
 
- Public Member Functions inherited from UE::Geometry::FMeshShapeGenerator
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)
 

Public Attributes

double UVWidth = 1.0
 
double UVHeight = 1.0
 
bool bScaleUVByAspectRatio = true
 
bool bSinglePolyGroup = false
 
bool bRoundedCorners = false
 
double CornerRadius = 0.0
 
bool bLimitCornerRadius = false
 
int NumArcVertices
 
- Public Attributes inherited from UE::Geometry::FMeshShapeGenerator
TArray< FVector3dVertices
 
TArray< FVector2fUVs
 
TArray< int > UVParentVertex
 
TArray< FVector3fNormals
 
TArray< int > NormalParentVertex
 
TArray< FIndex3iTriangles
 
TArray< FIndex3iTriangleUVs
 
TArray< FIndex3iTriangleNormals
 
TArray< int > TrianglePolygonIDs
 
bool bReverseOrientation = false
 

Additional Inherited Members

- Static Public Member Functions inherited from UE::Geometry::FMeshShapeGenerator
static FVector3d BilinearInterp (const FVector3d &v00, const FVector3d &v10, const FVector3d &v11, const FVector3d &v01, double tx, double ty)
 
static FVector2d BilinearInterp (const FVector2d &v00, const FVector2d &v10, const FVector2d &v11, const FVector2d &v01, double tx, double ty)
 
static FVector2f BilinearInterp (const FVector2f &v00, const FVector2f &v10, const FVector2f &v11, const FVector2f &v01, float tx, float ty)
 
static FVector3i LinearInterp (const FVector3i &a, const FVector3i &b, double t)
 

Detailed Description

Mesh generator that generates a quad for each edge of a closed polygon

Constructor & Destructor Documentation

◆ FPolygonEdgeMeshGenerator()

FPolygonEdgeMeshGenerator::FPolygonEdgeMeshGenerator ( const TArray< FFrame3d > &  InPolygon,
bool  bInClosed,
const TArray< double > &  InOffsetScaleFactors,
double  InWidth = 1.0,
FVector3d  InNormal = FVector3d::UnitZ(),
bool  bInRoundedCorners = false,
double  InCornerRadius = 0.0,
bool  bInLimitCornerRadius = false,
int  InNumArcVertices = 3 
)

◆ ~FPolygonEdgeMeshGenerator()

FPolygonEdgeMeshGenerator::~FPolygonEdgeMeshGenerator ( )
default

Member Function Documentation

◆ Generate()

FMeshShapeGenerator & FPolygonEdgeMeshGenerator::Generate ( )
finalvirtual

Subclasses implement this to generate mesh

Implements UE::Geometry::FMeshShapeGenerator.

Member Data Documentation

◆ bLimitCornerRadius

bool UE::Geometry::FPolygonEdgeMeshGenerator::bLimitCornerRadius = false

Limit corner radius to prevent overlapping

◆ bRoundedCorners

bool UE::Geometry::FPolygonEdgeMeshGenerator::bRoundedCorners = false

Use arc segments instead of straight lines in corners

◆ bScaleUVByAspectRatio

bool UE::Geometry::FPolygonEdgeMeshGenerator::bScaleUVByAspectRatio = true

◆ bSinglePolyGroup

bool UE::Geometry::FPolygonEdgeMeshGenerator::bSinglePolyGroup = false

If true, output mesh has a single polygroup, otherwise each quad gets a separate group

◆ CornerRadius

double UE::Geometry::FPolygonEdgeMeshGenerator::CornerRadius = 0.0

Radius of the corner arcs; this is only available if Rounded Corners is enabled

◆ NumArcVertices

int UE::Geometry::FPolygonEdgeMeshGenerator::NumArcVertices

Number of radial subdivisions for rounded corners

◆ UVHeight

double UE::Geometry::FPolygonEdgeMeshGenerator::UVHeight = 1.0

◆ UVWidth

double UE::Geometry::FPolygonEdgeMeshGenerator::UVWidth = 1.0

The documentation for this class was generated from the following files: