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

#include <SweepGenerator.h>

+ Inheritance diagram for UE::Geometry::FSweepGeneratorBase:

Public Member Functions

virtual ~FSweepGeneratorBase ()
 
- Public Member Functions inherited from UE::Geometry::FMeshShapeGenerator
virtual ~FMeshShapeGenerator ()
 
virtual FMeshShapeGeneratorGenerate ()=0
 
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

bool bPolygroupPerQuad = false
 
bool bProfileCurveIsClosed = true
 
- 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
 

Protected Member Functions

GEOMETRYCORE_API void ConstructMeshTopology (const FPolygon2d &CrossSection, const TArrayView< const int32 > &UVSections, const TArrayView< const int32 > &NormalSections, const TArrayView< const int32 > &SharpNormalsAlongLength, bool bEvenlySpaceUVs, const TArrayView< const FVector3d > &Path, int32 NumCrossSections, bool bLoop, const ECapType Caps[2], FVector2f SectionsUVScale, FVector2f CapUVScale, FVector2f CapUVOffset, const TArrayView< const float > &CustomCrossSectionTexCoord={}, const TArrayView< const float > &CustomPathTexCoord={})
 

Protected Attributes

int32 CapVertStart [2]
 
int32 CapNormalStart [2]
 
int32 CapUVStart [2]
 
int32 CapTriangleStart [2]
 
int32 CapPolygonStart [2]
 

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)
 

Constructor & Destructor Documentation

◆ ~FSweepGeneratorBase()

virtual UE::Geometry::FSweepGeneratorBase::~FSweepGeneratorBase ( )
inlinevirtual

Member Function Documentation

◆ ConstructMeshTopology()

void FSweepGeneratorBase::ConstructMeshTopology ( const FPolygon2d CrossSection,
const TArrayView< const int32 > &  UVSections,
const TArrayView< const int32 > &  NormalSections,
const TArrayView< const int32 > &  SharpNormalsAlongLength,
bool  bEvenlySpaceUVs,
const TArrayView< const FVector3d > &  Path,
int32  NumCrossSections,
bool  bLoop,
const ECapType  Caps[2],
FVector2f  SectionsUVScale,
FVector2f  CapUVScale,
FVector2f  CapUVOffset,
const TArrayView< const float > &  CustomCrossSectionTexCoord = {},
const TArrayView< const float > &  CustomPathTexCoord = {} 
)
protected

Shared logic for creating vertex buffers and triangulations across all sweep primitives Note: Does not set vertex positions or normals; a separate call must do that.

Member Data Documentation

◆ bPolygroupPerQuad

bool UE::Geometry::FSweepGeneratorBase::bPolygroupPerQuad = false

If true, each quad gets a separate polygroup

◆ bProfileCurveIsClosed

bool UE::Geometry::FSweepGeneratorBase::bProfileCurveIsClosed = true

If true, the last point of the profile curve is considered to be connected to the first.

◆ CapNormalStart

int32 UE::Geometry::FSweepGeneratorBase::CapNormalStart[2]
protected

◆ CapPolygonStart

int32 UE::Geometry::FSweepGeneratorBase::CapPolygonStart[2]
protected

◆ CapTriangleStart

int32 UE::Geometry::FSweepGeneratorBase::CapTriangleStart[2]
protected

◆ CapUVStart

int32 UE::Geometry::FSweepGeneratorBase::CapUVStart[2]
protected

◆ CapVertStart

int32 UE::Geometry::FSweepGeneratorBase::CapVertStart[2]
protected

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