8#include "Containers/Array.h"
10#include "Containers/Set.h"
124 for (
int Idx = 0; Idx < 3; Idx++)
347#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_7
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::Math::TVector2< double > FVector2d
Definition MathFwd.h:61
Definition ProgressCancel.h:187
Definition ArrayView.h:139
Definition SweepGenerator.h:108
float StickRadius
Definition SweepGenerator.h:110
int AdditionalLengthSamples[3]
Definition SweepGenerator.h:116
virtual GEOMETRYCORE_API FMeshShapeGenerator & Generate() override
Definition SweepGenerator.cpp:561
void DistributeAdditionalLengthSamples(int TargetSamples)
Definition SweepGenerator.h:118
float HeadTipRadius
Definition SweepGenerator.h:113
float HeadLength
Definition SweepGenerator.h:114
float HeadBaseRadius
Definition SweepGenerator.h:112
float StickLength
Definition SweepGenerator.h:111
Definition SweepGenerator.h:93
float Height
Definition SweepGenerator.h:96
int LengthSamples
Definition SweepGenerator.h:97
virtual GEOMETRYCORE_API FMeshShapeGenerator & Generate() override
Definition SweepGenerator.cpp:536
float Radius[2]
Definition SweepGenerator.h:95
Definition SweepGenerator.h:144
FFrame3d InitialFrame
Definition SweepGenerator.h:149
bool bAlignFramesToSampledTangents
Definition SweepGenerator.h:169
bool bUVScaleRelativeWorld
Definition SweepGenerator.h:190
double EndScale
Definition SweepGenerator.h:161
void EnableMitering(double InMiterLimit=10)
Definition SweepGenerator.h:172
bool bCapped
Definition SweepGenerator.h:155
TArray< float > PathTexCoord
Definition SweepGenerator.h:219
void SetMiterLimitByAngle(double MiterAngleLimitInDeg)
Definition SweepGenerator.h:180
FPolygon2d CrossSection
Definition SweepGenerator.h:146
TArray< FFrame3d > PathFrames
Definition SweepGenerator.h:151
float UnitUVInWorldCoordinates
Definition SweepGenerator.h:193
virtual GEOMETRYCORE_API FMeshShapeGenerator & Generate() override
Definition SweepGenerator.cpp:603
bool bLoop
Definition SweepGenerator.h:156
TArray< FVector2d > PathScales
Definition SweepGenerator.h:153
double MiterLimit
Definition SweepGenerator.h:166
double StartScale
Definition SweepGenerator.h:160
ECapType CapType
Definition SweepGenerator.h:157
TArray< FVector3d > Path
Definition SweepGenerator.h:147
TArray< float > CrossSectionTexCoord
Definition SweepGenerator.h:207
Definition MeshShapeGenerator.h:19
Definition SweepGenerator.h:257
FVector2d UVOffset
Definition SweepGenerator.h:278
bool bSharpNormals
Definition SweepGenerator.h:298
GEOMETRYCORE_API void AdjustNormalsForTriangle(int32 TriIndex, int32 FirstIndex, int32 SecondIndex, int32 ThirdIndex, TArray< FVector3d > &WeightedNormals)
Definition SweepGenerator.cpp:780
FVector2d UVScale
Definition SweepGenerator.h:275
float UnitUVInWorldCoordinates
Definition SweepGenerator.h:288
EProfileSweepQuadSplit QuadSplitMethod
Definition SweepGenerator.h:304
bool bSweepCurveIsClosed
Definition SweepGenerator.h:291
TArray< int32 > EndProfiles[2]
Definition SweepGenerator.h:329
bool bProfileCurveIsClosed
Definition SweepGenerator.h:294
double DiagonalTolerance
Definition SweepGenerator.h:308
TArray< FVector3d > ProfileCurve
Definition SweepGenerator.h:261
bool bUVsSkipFullyWeldedEdges
Definition SweepGenerator.h:302
FProgressCancel * Progress
Definition SweepGenerator.h:313
TArray< FVector3d > SweepScaleCurve
Definition SweepGenerator.h:267
virtual GEOMETRYCORE_API FMeshShapeGenerator & Generate() override
Definition SweepGenerator.cpp:817
GEOMETRYCORE_API void InitializeUvBuffer(const TArray< int32 > &VertPositionOffsets, int32 &NumUvRowsOut, int32 &NumUvColumnsOut)
Definition SweepGenerator.cpp:1167
EProfileSweepPolygonGrouping PolygonGroupingMode
Definition SweepGenerator.h:310
bool bUVScaleRelativeWorld
Definition SweepGenerator.h:285
TArray< FFrame3d > SweepCurve
Definition SweepGenerator.h:264
TSet< int32 > WeldedVertices
Definition SweepGenerator.h:272
Definition SweepGenerator.h:38
int32 CapPolygonStart[2]
Definition SweepGenerator.h:51
int32 CapNormalStart[2]
Definition SweepGenerator.h:51
int32 CapVertStart[2]
Definition SweepGenerator.h:51
bool bPolygroupPerQuad
Definition SweepGenerator.h:45
int32 CapTriangleStart[2]
Definition SweepGenerator.h:51
virtual ~FSweepGeneratorBase()
Definition SweepGenerator.h:40
int32 CapUVStart[2]
Definition SweepGenerator.h:51
bool bProfileCurveIsClosed
Definition SweepGenerator.h:48
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={})
Definition SweepGenerator.cpp:13
Definition SweepGenerator.h:77
bool bUVScaleMatchSidesAndCaps
Definition SweepGenerator.h:81
int AngleSamples
Definition SweepGenerator.h:79
GEOMETRYCORE_API bool GenerateVerticalCircleSweep(const TArrayView< float > &Radii, const TArrayView< float > &Heights, const TArrayView< int > &SharpNormalsAlongLength)
Definition SweepGenerator.cpp:400
bool bCapped
Definition SweepGenerator.h:80
static GEOMETRYCORE_API float ComputeSegLengths(const TArrayView< float > &Radii, const TArrayView< float > &Heights, TArray< float > &AlongPercents)
Definition SweepGenerator.cpp:381
ECapType CapType
Definition SweepGenerator.h:82
EProfileSweepQuadSplit
Definition SweepGenerator.h:240
EProfileSweepPolygonGrouping
Definition SweepGenerator.h:227
ECapType
Definition SweepGenerator.h:30
Definition AdvancedWidgetsModule.cpp:13
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592