23 template <
class TV3_PTS,
class TV3_NORM,
class TV2,
class TV_INT3>
76 Indices[Idx] =
FIntVector(Tri[0], Tri[1], Tri[2]);
80 MaterialIndex[Idx] = Idx;
88 TangentV[Tri[
Axis]] = (
Normal ^ TangentU[Tri[
Axis]]).GetSafeNormal();
102 Sections[Element].MaterialID = Element;
105 Sections[Element].MinVertexIndex = 0;
106 Sections[Element].MaxVertexIndex = Vertices.
Num() - 1;
203 int32 ClosestFromIndex = -1;
204 Chaos::FReal ClosestDist = UE_MAX_FLT;
205 for (int32 FromIndex = 0, ni = FromVertex.Num(); FromIndex < ni ; ++FromIndex)
207 Chaos::FReal CurrDist = FVector3f::DistSquared(FromVertex[FromIndex], ToVertex[ToIndex]);
208 if (CurrDist < ClosestDist)
210 ClosestDist = CurrDist;
211 ClosestFromIndex = FromIndex;
void ParallelFor(int32 Num, TFunctionRef< void(int32)> Body, bool bForceSingleThread, bool bPumpRenderingThread=false)
Definition ParallelFor.h:481
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FORCEINLINE uint32 ToIndex(FHairStrandsTiles::ETileType Type)
Definition HairStrandsData.h:93
#define FVector
Definition IOSSystemIncludes.h:8
UE::Math::TVector2< float > FVector2f
Definition MathFwd.h:74
UE::Math::TVector< float > FVector3f
Definition MathFwd.h:73
UE::Math::TTransform< float > FTransform3f
Definition MathFwd.h:79
UE::Math::TVector2< double > FVector2D
Definition MathFwd.h:48
FInt32Vector3 FIntVector
Definition MathFwd.h:115
if(Failed) console_printf("Failed.\n")
Definition GeometryCollection.h:32
TManagedArray< bool > Internal
Definition GeometryCollection.h:347
static CHAOS_API const FName FacesGroup
Definition GeometryCollection.h:100
TManagedArray< int32 > SimulationType
Definition GeometryCollection.h:307
TManagedArray< FLinearColor > Color
Definition GeometryCollection.h:336
TManagedArray< FVector3f > TangentV
Definition GeometryCollection.h:338
TManagedArray< FVector3f > TangentU
Definition GeometryCollection.h:337
@ FST_Rigid
Definition GeometryCollection.h:133
TManagedArray< FIntVector > Indices
Definition GeometryCollection.h:343
TManagedArray< int32 > MaterialID
Definition GeometryCollection.h:346
TManagedArray< FGeometryCollectionSection > Sections
Definition GeometryCollection.h:360
TManagedArray< int32 > MaterialIndex
Definition GeometryCollection.h:345
static CHAOS_API const FName MaterialGroup
Definition GeometryCollection.h:103
TManagedArray< FVector3f > Vertex
Definition GeometryCollection.h:313
TManagedArray< bool > Visible
Definition GeometryCollection.h:344
TManagedArray< int32 > BoneMap
Definition GeometryCollection.h:340
TManagedArray< FVector3f > Normal
Definition GeometryCollection.h:339
TManagedArray< FVector2f > * FindUVLayer(int32 UVLayer)
Definition GeometryCollection.h:327
static CHAOS_API const FName VerticesGroup
Definition GeometryCollection.h:99
Definition NameTypes.h:617
FORCEINLINE int32 Num() const override
Definition ManagedArray.h:519
Definition ManagedArray.h:1099
Definition SharedPointer.h:692
Definition CollectionBoundsFacade.cpp:13
TSharedPtr< FGeometryCollection > MakeCubeElement(const FTransform ¢er, FVector Scale, int NumberOfMaterials)
Definition GeometryCollectionUtility.cpp:18
void AttributeTransfer(const FGeometryCollection *FromCollection, FGeometryCollection *ToCollection, const FName FromAttributeName, const FName ToAttributeName)
Definition GeometryCollectionUtility.h:189
void SetupTwoClusteredCubesCollection(FGeometryCollection *Collection)
Definition GeometryCollectionUtility.cpp:200
void ComputeInnerAndOuterRadiiFromGeometryVertices(const TManagedArray< FVector3f > &Vertices, const int32 VertexStart, const int32 VertexCount, float &OutInnerRadius, float &OutOuterRadius)
Definition GeometryCollectionUtility.cpp:262
void GenerateTemporaryGuids(FManagedArrayCollection *Collection, int32 StartIdx, bool bForceInit)
Definition GeometryCollectionUtility.cpp:491
void AddGeometryProperties(FManagedArrayCollection *InCollection)
Definition GeometryCollectionUtility.cpp:290
void SetupNestedBoneCollection(FGeometryCollection *Collection)
Definition GeometryCollectionUtility.cpp:238
TSharedPtr< FGeometryCollection > MakeMeshElement(const TArray< TV3_PTS > &PointsIn, const TArray< TV3_NORM > &NormalsIn, const TArray< TV_INT3 > &TrianglesIn, const TArray< TV2 > &UVsIn, const FTransform &Xf, const FTransform &GeoXf=FTransform::Identity, const int NumberOfMaterials=2)
Definition GeometryCollectionUtility.h:24
void SetupCubeGridExample(TSharedPtr< FGeometryCollection > RestCollectionIn)
Definition GeometryCollectionUtility.cpp:167
void MakeMaterialsContiguous(FGeometryCollection *Collection)
Definition GeometryCollectionUtility.cpp:460
static CORE_API const FLinearColor White
Definition Color.h:456
Definition ManagedArrayCollection.h:56
CHAOS_API int32 AddElements(int32 NumberElements, FName Group)
Definition ManagedArrayCollection.cpp:246