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

#include <SweepGenerator.h>

+ Inheritance diagram for UE::Geometry::FArrowGenerator:

Public Member Functions

void DistributeAdditionalLengthSamples (int TargetSamples)
 
virtual GEOMETRYCORE_API FMeshShapeGeneratorGenerate () override
 
- Public Member Functions inherited from UE::Geometry::FVerticalCylinderGeneratorBase
GEOMETRYCORE_API bool GenerateVerticalCircleSweep (const TArrayView< float > &Radii, const TArrayView< float > &Heights, const TArrayView< int > &SharpNormalsAlongLength)
 
- Public Member Functions inherited from UE::Geometry::FSweepGeneratorBase
virtual ~FSweepGeneratorBase ()
 
- 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

float StickRadius = 0.5f
 
float StickLength = 1.0f
 
float HeadBaseRadius = 1.0f
 
float HeadTipRadius = 0.01f
 
float HeadLength = 0.5f
 
int AdditionalLengthSamples [3] { 0,0,0 }
 
- Public Attributes inherited from UE::Geometry::FVerticalCylinderGeneratorBase
int AngleSamples = 16
 
bool bCapped = false
 
bool bUVScaleMatchSidesAndCaps = true
 
ECapType CapType = ECapType::FlatMidpointFan
 
- Public Attributes inherited from UE::Geometry::FSweepGeneratorBase
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
 

Additional Inherited Members

- Static Public Member Functions inherited from UE::Geometry::FVerticalCylinderGeneratorBase
static GEOMETRYCORE_API float ComputeSegLengths (const TArrayView< float > &Radii, const TArrayView< float > &Heights, TArray< float > &AlongPercents)
 
- 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)
 
- Protected Member Functions inherited from UE::Geometry::FSweepGeneratorBase
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 inherited from UE::Geometry::FSweepGeneratorBase
int32 CapVertStart [2]
 
int32 CapNormalStart [2]
 
int32 CapUVStart [2]
 
int32 CapTriangleStart [2]
 
int32 CapPolygonStart [2]
 

Detailed Description

Generate a 3D arrow

Member Function Documentation

◆ DistributeAdditionalLengthSamples()

void UE::Geometry::FArrowGenerator::DistributeAdditionalLengthSamples ( int  TargetSamples)
inline

◆ Generate()

FMeshShapeGenerator & FArrowGenerator::Generate ( )
overridevirtual

Generate the mesh

Implements UE::Geometry::FMeshShapeGenerator.

Member Data Documentation

◆ AdditionalLengthSamples

int UE::Geometry::FArrowGenerator::AdditionalLengthSamples[3] { 0,0,0 }

◆ HeadBaseRadius

float UE::Geometry::FArrowGenerator::HeadBaseRadius = 1.0f

◆ HeadLength

float UE::Geometry::FArrowGenerator::HeadLength = 0.5f

◆ HeadTipRadius

float UE::Geometry::FArrowGenerator::HeadTipRadius = 0.01f

◆ StickLength

float UE::Geometry::FArrowGenerator::StickLength = 1.0f

◆ StickRadius

float UE::Geometry::FArrowGenerator::StickRadius = 0.5f

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