Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
FRuntimeMeshData Class Reference

#include <RuntimeMeshData.h>

Inheritance diagram for FRuntimeMeshData:
Inheritance graph
[legend]

Public Member Functions

int32 AddCollisionBox (const FRuntimeMeshCollisionBox &NewBox)
 
int32 AddCollisionCapsule (const FRuntimeMeshCollisionCapsule &NewCapsule)
 
int32 AddCollisionSphere (const FRuntimeMeshCollisionSphere &NewSphere)
 
int32 AddConvexCollisionSection (TArray< FVector > ConvexVerts)
 
TUniquePtr< FRuntimeMeshScopedUpdaterBeginSectionUpdate (int32 SectionId, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void ClearAllMeshCollisionSections ()
 
void ClearAllMeshSections ()
 
void ClearCollisionBoxes ()
 
void ClearCollisionCapsules ()
 
void ClearCollisionSpheres ()
 
void ClearConvexCollisionSections ()
 
void ClearMeshCollisionSection (int32 CollisionSectionIndex)
 
void ClearMeshSection (int32 SectionIndex)
 
void CreateMeshSection (int32 SectionIndex, bool bWantsHighPrecisionTangents, bool bWantsHighPrecisionUVs, int32 NumUVs, bool bWants32BitIndices, bool bCreateCollision, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average)
 
template<typename VertexType0 , typename IndexType >
void CreateMeshSection (int32 SectionIndex, TArray< VertexType0 > &InVertices0, TArray< IndexType > &InTriangles, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename IndexType >
void CreateMeshSection (int32 SectionIndex, TArray< VertexType0 > &InVertices0, TArray< IndexType > &InTriangles, const FBox &BoundingBox, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void CreateMeshSection (int32 SectionId, const TSharedPtr< FRuntimeMeshBuilder > &MeshData, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void CreateMeshSection (int32 SectionIndex, const TArray< FVector > &Vertices, const TArray< int32 > &Triangles, const TArray< FVector > &Normals, const TArray< FVector2D > &UV0, const TArray< FColor > &Colors, const TArray< FRuntimeMeshTangent > &Tangents, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None, bool bUseHighPrecisionTangents=false, bool bUseHighPrecisionUVs=true)
 
void CreateMeshSection (int32 SectionIndex, const TArray< FVector > &Vertices, const TArray< int32 > &Triangles, const TArray< FVector > &Normals, const TArray< FVector2D > &UV0, const TArray< FVector2D > &UV1, const TArray< FColor > &Colors, const TArray< FRuntimeMeshTangent > &Tangents, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None, bool bUseHighPrecisionTangents=false, bool bUseHighPrecisionUVs=true)
 
void CreateMeshSection_Blueprint (int32 SectionIndex, const TArray< FVector > &Vertices, const TArray< int32 > &Triangles, const TArray< FVector > &Normals, const TArray< FRuntimeMeshTangent > &Tangents, const TArray< FVector2D > &UV0, const TArray< FVector2D > &UV1, const TArray< FLinearColor > &Colors, bool bCreateCollision=false, bool bCalculateNormalTangent=false, bool bShouldCreateHardTangents=false, bool bGenerateTessellationTriangles=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, bool bUseHighPrecisionTangents=false, bool bUseHighPrecisionUVs=true)
 
void CreateMeshSectionByMove (int32 SectionId, const TSharedPtr< FRuntimeMeshBuilder > &MeshData, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename IndexType >
void CreateMeshSectionDualBuffer (int32 SectionIndex, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< IndexType > &InTriangles, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename IndexType >
void CreateMeshSectionDualBuffer (int32 SectionIndex, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< IndexType > &InTriangles, const FBox &BoundingBox, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void CreateMeshSectionPacked_Blueprint (int32 SectionIndex, const TArray< FRuntimeMeshBlueprintVertexSimple > &Vertices, const TArray< int32 > &Triangles, bool bCreateCollision=false, bool bCalculateNormalTangent=false, bool bShouldCreateHardTangents=false, bool bGenerateTessellationTriangles=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, bool bUseHighPrecisionTangents=false, bool bUseHighPrecisionUVs=true)
 
template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void CreateMeshSectionTripleBuffer (int32 SectionIndex, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< VertexType2 > &InVertices2, TArray< IndexType > &InTriangles, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void CreateMeshSectionTripleBuffer (int32 SectionIndex, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< VertexType2 > &InVertices2, TArray< IndexType > &InTriangles, const FBox &BoundingBox, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
bool DoesSectionExist (int32 SectionIndex) const
 
void EnterSerializedMode ()
 
 FRuntimeMeshData ()
 
int32 GetAvailableSectionIndex () const
 
int32 GetLastSectionIndex () const
 
FBoxSphereBounds GetLocalBounds () const
 
int32 GetNumSections () const
 
FBox GetSectionBoundingBox (int32 SectionIndex)
 
TArray< int32 > GetSectionIds () const
 
TUniquePtr< FRuntimeMeshScopedUpdaterGetSectionReadonly (int32 SectionId)
 
bool IsMeshSectionCastingShadows (int32 SectionIndex) const
 
bool IsMeshSectionCollisionEnabled (int32 SectionIndex)
 
bool IsMeshSectionVisible (int32 SectionIndex) const
 
void RemoveCollisionBox (int32 Index)
 
void RemoveCollisionCapsule (int32 Index)
 
void RemoveCollisionSphere (int32 Index)
 
void RemoveConvexCollisionSection (int32 ConvexSectionIndex)
 
void SetCollisionBoxes (const TArray< FRuntimeMeshCollisionBox > &NewBoxes)
 
void SetCollisionCapsules (const TArray< FRuntimeMeshCollisionCapsule > &NewCapsules)
 
void SetCollisionConvexMeshes (const TArray< TArray< FVector >> &ConvexMeshes)
 
void SetCollisionSpheres (const TArray< FRuntimeMeshCollisionSphere > &NewSpheres)
 
void SetConvexCollisionSection (int32 ConvexSectionIndex, TArray< FVector > ConvexVerts)
 
void SetMeshCollisionSection (int32 CollisionSectionIndex, const TArray< FVector > &Vertices, const TArray< int32 > &Triangles)
 
void SetMeshSectionCastsShadow (int32 SectionIndex, bool bNewCastsShadow)
 
void SetMeshSectionCollisionEnabled (int32 SectionIndex, bool bNewCollisionEnabled)
 
void SetMeshSectionVisible (int32 SectionIndex, bool bNewVisibility)
 
template<typename IndexType >
void SetSectionTessellationTriangles (int32 SectionId, const TArray< IndexType > &Triangles)
 
template<typename VertexType0 >
void UpdateMeshSection (int32 SectionId, TArray< VertexType0 > &InVertices0, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 >
void UpdateMeshSection (int32 SectionId, TArray< VertexType0 > &InVertices0, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename IndexType >
void UpdateMeshSection (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< IndexType > &InTriangles, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename IndexType >
void UpdateMeshSection (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< IndexType > &InTriangles, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void UpdateMeshSection (int32 SectionId, const TSharedPtr< FRuntimeMeshBuilder > &MeshData, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void UpdateMeshSection (int32 SectionIndex, const TArray< FVector > &Vertices, const TArray< FVector > &Normals, const TArray< FVector2D > &UV0, const TArray< FColor > &Colors, const TArray< FRuntimeMeshTangent > &Tangents, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void UpdateMeshSection (int32 SectionIndex, const TArray< FVector > &Vertices, const TArray< FVector > &Normals, const TArray< FVector2D > &UV0, const TArray< FVector2D > &UV1, const TArray< FColor > &Colors, const TArray< FRuntimeMeshTangent > &Tangents, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void UpdateMeshSection (int32 SectionIndex, const TArray< FVector > &Vertices, const TArray< int32 > &Triangles, const TArray< FVector > &Normals, const TArray< FVector2D > &UV0, const TArray< FColor > &Colors, const TArray< FRuntimeMeshTangent > &Tangents, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void UpdateMeshSection (int32 SectionIndex, const TArray< FVector > &Vertices, const TArray< int32 > &Triangles, const TArray< FVector > &Normals, const TArray< FVector2D > &UV0, const TArray< FVector2D > &UV1, const TArray< FColor > &Colors, const TArray< FRuntimeMeshTangent > &Tangents, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void UpdateMeshSection_Blueprint (int32 SectionIndex, const TArray< FVector > &Vertices, const TArray< int32 > &Triangles, const TArray< FVector > &Normals, const TArray< FRuntimeMeshTangent > &Tangents, const TArray< FVector2D > &UV0, const TArray< FVector2D > &UV1, const TArray< FLinearColor > &Colors, bool bCalculateNormalTangent=false, bool bShouldCreateHardTangents=false, bool bGenerateTessellationTriangles=false)
 
void UpdateMeshSectionByMove (int32 SectionId, const TSharedPtr< FRuntimeMeshBuilder > &MeshData, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void UpdateMeshSectionColors (int32 SectionIndex, TArray< FColor > &Colors, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 >
void UpdateMeshSectionDualBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 >
void UpdateMeshSectionDualBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename IndexType >
void UpdateMeshSectionDualBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< IndexType > &InTriangles, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename IndexType >
void UpdateMeshSectionDualBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< IndexType > &InTriangles, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void UpdateMeshSectionPacked_Blueprint (int32 SectionIndex, const TArray< FRuntimeMeshBlueprintVertexSimple > &Vertices, const TArray< int32 > &Triangles, bool bCalculateNormalTangent=false, bool bShouldCreateHardTangents=false, bool bGenerateTessellationTriangles=false)
 
template<typename VertexType0 >
void UpdateMeshSectionPrimaryBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 >
void UpdateMeshSectionPrimaryBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType1 >
void UpdateMeshSectionSecondaryBuffer (int32 SectionId, TArray< VertexType1 > &InVertices1, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType2 >
void UpdateMeshSectionTertiaryBuffer (int32 SectionId, TArray< VertexType2 > &InVertices2, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename IndexType >
void UpdateMeshSectionTriangles (int32 SectionId, TArray< IndexType > &InTriangles, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename VertexType2 >
void UpdateMeshSectionTripleBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< VertexType2 > &InVertices2, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename VertexType2 >
void UpdateMeshSectionTripleBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< VertexType2 > &InVertices2, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void UpdateMeshSectionTripleBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< VertexType2 > &InVertices2, TArray< IndexType > &InTriangles, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void UpdateMeshSectionTripleBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< VertexType2 > &InVertices2, TArray< IndexType > &InTriangles, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
 ~FRuntimeMeshData ()
 

Private Member Functions

void CheckBoundingBox (const FBox &Box) const
 
void CheckCreate (int32 NumUVs, bool bIndexIsValid) const
 
template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void CheckCreateLegacy () const
 
void CheckCreateLegacyInternal (const FRuntimeMeshVertexStreamStructure &Stream0Structure, const FRuntimeMeshVertexStreamStructure &Stream1Structure, const FRuntimeMeshVertexStreamStructure &Stream2Structure, bool bIsIndexValid) const
 
void CheckUpdate (bool bUseHighPrecisionTangents, bool bUseHighPrecisionUVs, int32 NumUVs, bool b32BitIndices, int32 SectionIndex, bool bShouldCheckIndexType, bool bCheckTangentVertexStream, bool bCheckUVVertexStream) const
 
template<typename TangentType , typename UVType , typename IndexType >
void CheckUpdate (int32 SectionIndex, bool bShouldCheckIndexType, bool bCheckTangentVertexStream, bool bCheckUVVertexStream) const
 
template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void CheckUpdateLegacy (int32 SectionIndex, bool bShouldCheckIndexType=true) const
 
bool ContainsPhysicsTriMeshData (bool InUseAllTriData) const
 
void CopyCollisionElementsToBodySetup (UBodySetup *Setup)
 
void CreateMeshSectionFromComponents (int32 SectionIndex, const TArray< FVector > &Vertices, const TArray< int32 > &Triangles, const TArray< FVector > &Normals, const TArray< FVector2D > &UV0, const TArray< FVector2D > &UV1, TFunction< FColor(int32 Index)> ColorAccessor, int32 NumColors, const TArray< FRuntimeMeshTangent > &Tangents, bool bCreateCollision, EUpdateFrequency UpdateFrequency, ESectionUpdateFlags UpdateFlags, bool bUseHighPrecisionTangents, bool bUseHighPrecisionUVs, bool bWantsSecondUV)
 
template<typename TangentType , typename UVType , typename IndexType >
FRuntimeMeshSectionPtr CreateOrResetSection (int32 SectionId, EUpdateFrequency UpdateFrequency)
 
FRuntimeMeshSectionPtr CreateOrResetSection (int32 SectionId, bool bInUseHighPrecisionTangents, bool bInUseHighPrecisionUVs, int32 InNumUVs, bool b32BitIndices, EUpdateFrequency UpdateFrequency)
 
FRuntimeMeshSectionPtr CreateOrResetSectionForBlueprint (int32 SectionId, bool bWantsSecondUV, bool bHighPrecisionTangents, bool bHighPrecisionUVs, EUpdateFrequency UpdateFrequency)
 
void CreateSectionInternal (int32 SectionIndex, ESectionUpdateFlags UpdateFlags)
 
void DoOnGameThread (FRuntimeMeshGameThreadTaskDelegate Func)
 
void EndSectionUpdate (FRuntimeMeshScopedUpdater *Updater, ERuntimeMeshBuffersToUpdate BuffersToUpdate, const FBox *BoundingBox=nullptr)
 
FRuntimeMeshProxyPtr EnsureProxyCreated (ERHIFeatureLevel::Type InFeatureLevel)
 
bool GetPhysicsTriMeshData (struct FTriMeshCollisionData *CollisionData, bool InUseAllTriData)
 
TSharedPtr< const FRuntimeMeshAccessorGetReadonlyMeshAccessor (int32 SectionId)
 
FRuntimeMeshProxyPtr GetRenderProxy () const
 
FRuntimeMeshSectionPtr GetSection (int32 SectionIndex)
 
int32 GetSectionAndFaceFromCollisionFaceIndex (int32 &FaceIndex) const
 
int32 GetSectionFromCollisionFaceIndex (int32 FaceIndex) const
 
void HandleCommonSectionUpdateFlags (int32 SectionIndex, ESectionUpdateFlags UpdateFlags, ERuntimeMeshBuffersToUpdate &BuffersToUpdate)
 
void Initialize ()
 
void MarkChanged ()
 
void MarkCollisionDirty (bool bSkipChangedFlag=false)
 
void MarkRenderStateDirty ()
 
void SendSectionPropertiesUpdate (int32 SectionIndex)
 
void Setup (TWeakObjectPtr< URuntimeMesh > InParentMeshObject)
 
void UpdateLocalBounds ()
 
void UpdateMeshSectionFromComponents (int32 SectionIndex, const TArray< FVector > &Vertices, const TArray< int32 > &Triangles, const TArray< FVector > &Normals, const TArray< FVector2D > &UV0, const TArray< FVector2D > &UV1, TFunction< FColor(int32 Index)> ColorAccessor, int32 NumColors, const TArray< FRuntimeMeshTangent > &Tangents, ESectionUpdateFlags UpdateFlags)
 
void UpdateSectionInternal (int32 SectionIndex, ERuntimeMeshBuffersToUpdate BuffersToUpdate, ESectionUpdateFlags UpdateFlags)
 
void UpdateSectionPropertiesInternal (int32 SectionIndex, bool bUpdateRequiresProxyRecreateIfStatic)
 

Private Attributes

TArray< FRuntimeMeshCollisionBoxCollisionBoxes
 
TArray< FRuntimeMeshCollisionCapsuleCollisionCapsules
 
TArray< FRuntimeMeshCollisionSphereCollisionSpheres
 
TMap< int32, FRuntimeMeshCollisionConvexMeshConvexCollisionSections
 
FBoxSphereBounds LocalBounds
 
TMap< int32, FRuntimeMeshCollisionSectionMeshCollisionSections
 
TArray< FRuntimeMeshSectionPtrMeshSections
 
TWeakObjectPtr< URuntimeMeshParentMeshObject
 
FRuntimeMeshProxyPtr RenderProxy
 
TUniquePtr< FRuntimeMeshLockProviderSyncRoot
 

Friends

class FRuntimeMeshScopedUpdater
 
FArchive & operator<< (FArchive &Ar, FRuntimeMeshData &MeshData)
 
class URuntimeMesh
 

Detailed Description

Definition at line 61 of file RuntimeMeshData.h.

Constructor & Destructor Documentation

FRuntimeMeshData::FRuntimeMeshData ( )

Definition at line 69 of file RuntimeMeshData.cpp.

FRuntimeMeshData::~FRuntimeMeshData ( )

Definition at line 74 of file RuntimeMeshData.cpp.

Member Function Documentation

int32 FRuntimeMeshData::AddCollisionBox ( const FRuntimeMeshCollisionBox NewBox)

Definition at line 992 of file RuntimeMeshData.cpp.

int32 FRuntimeMeshData::AddCollisionCapsule ( const FRuntimeMeshCollisionCapsule NewCapsule)

Definition at line 1050 of file RuntimeMeshData.cpp.

int32 FRuntimeMeshData::AddCollisionSphere ( const FRuntimeMeshCollisionSphere NewSphere)

Definition at line 1021 of file RuntimeMeshData.cpp.

int32 FRuntimeMeshData::AddConvexCollisionSection ( TArray< FVector >  ConvexVerts)

Definition at line 911 of file RuntimeMeshData.cpp.

TUniquePtr< FRuntimeMeshScopedUpdater > FRuntimeMeshData::BeginSectionUpdate ( int32  SectionId,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)

Definition at line 285 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CheckBoundingBox ( const FBox &  Box) const
private

Definition at line 155 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CheckCreate ( int32  NumUVs,
bool  bIndexIsValid 
) const
private

Definition at line 83 of file RuntimeMeshData.cpp.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void FRuntimeMeshData::CheckCreateLegacy ( ) const
inlineprivate

Definition at line 97 of file RuntimeMeshData.h.

void FRuntimeMeshData::CheckCreateLegacyInternal ( const FRuntimeMeshVertexStreamStructure Stream0Structure,
const FRuntimeMeshVertexStreamStructure Stream1Structure,
const FRuntimeMeshVertexStreamStructure Stream2Structure,
bool  bIsIndexValid 
) const
private

Definition at line 101 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CheckUpdate ( bool  bUseHighPrecisionTangents,
bool  bUseHighPrecisionUVs,
int32  NumUVs,
bool  b32BitIndices,
int32  SectionIndex,
bool  bShouldCheckIndexType,
bool  bCheckTangentVertexStream,
bool  bCheckUVVertexStream 
) const
private

Definition at line 126 of file RuntimeMeshData.cpp.

template<typename TangentType , typename UVType , typename IndexType >
void FRuntimeMeshData::CheckUpdate ( int32  SectionIndex,
bool  bShouldCheckIndexType,
bool  bCheckTangentVertexStream,
bool  bCheckUVVertexStream 
) const
inlineprivate

Definition at line 106 of file RuntimeMeshData.h.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void FRuntimeMeshData::CheckUpdateLegacy ( int32  SectionIndex,
bool  bShouldCheckIndexType = true 
) const
inlineprivate

Definition at line 117 of file RuntimeMeshData.h.

void FRuntimeMeshData::ClearAllMeshCollisionSections ( )

Definition at line 899 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::ClearAllMeshSections ( )

Clear all mesh sections and reset to empty state

Definition at line 685 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::ClearCollisionBoxes ( )

Definition at line 1007 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::ClearCollisionCapsules ( )

Definition at line 1065 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::ClearCollisionSpheres ( )

Definition at line 1036 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::ClearConvexCollisionSections ( )

Definition at line 959 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::ClearMeshCollisionSection ( int32  CollisionSectionIndex)

Definition at line 888 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::ClearMeshSection ( int32  SectionIndex)

Clear a section of the procedural mesh.

Definition at line 651 of file RuntimeMeshData.cpp.

bool FRuntimeMeshData::ContainsPhysicsTriMeshData ( bool  InUseAllTriData) const
private

Definition at line 1289 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CopyCollisionElementsToBodySetup ( UBodySetup *  Setup)
private

Definition at line 1383 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CreateMeshSection ( int32  SectionIndex,
bool  bWantsHighPrecisionTangents,
bool  bWantsHighPrecisionUVs,
int32  NumUVs,
bool  bWants32BitIndices,
bool  bCreateCollision,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average 
)

Definition at line 176 of file RuntimeMeshData.cpp.

template<typename VertexType0 , typename IndexType >
void FRuntimeMeshData::CreateMeshSection ( int32  SectionIndex,
TArray< VertexType0 > &  InVertices0,
TArray< IndexType > &  InTriangles,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 135 of file RuntimeMeshData.h.

template<typename VertexType0 , typename IndexType >
void FRuntimeMeshData::CreateMeshSection ( int32  SectionIndex,
TArray< VertexType0 > &  InVertices0,
TArray< IndexType > &  InTriangles,
const FBox &  BoundingBox,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 172 of file RuntimeMeshData.h.

void FRuntimeMeshData::CreateMeshSection ( int32  SectionId,
const TSharedPtr< FRuntimeMeshBuilder > &  MeshData,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)

Definition at line 193 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CreateMeshSection ( int32  SectionIndex,
const TArray< FVector > &  Vertices,
const TArray< int32 > &  Triangles,
const TArray< FVector > &  Normals,
const TArray< FVector2D > &  UV0,
const TArray< FColor > &  Colors,
const TArray< FRuntimeMeshTangent > &  Tangents,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None,
bool  bUseHighPrecisionTangents = false,
bool  bUseHighPrecisionUVs = true 
)

Definition at line 475 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CreateMeshSection ( int32  SectionIndex,
const TArray< FVector > &  Vertices,
const TArray< int32 > &  Triangles,
const TArray< FVector > &  Normals,
const TArray< FVector2D > &  UV0,
const TArray< FVector2D > &  UV1,
const TArray< FColor > &  Colors,
const TArray< FRuntimeMeshTangent > &  Tangents,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None,
bool  bUseHighPrecisionTangents = false,
bool  bUseHighPrecisionUVs = true 
)

Definition at line 483 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CreateMeshSection_Blueprint ( int32  SectionIndex,
const TArray< FVector > &  Vertices,
const TArray< int32 > &  Triangles,
const TArray< FVector > &  Normals,
const TArray< FRuntimeMeshTangent > &  Tangents,
const TArray< FVector2D > &  UV0,
const TArray< FVector2D > &  UV1,
const TArray< FLinearColor > &  Colors,
bool  bCreateCollision = false,
bool  bCalculateNormalTangent = false,
bool  bShouldCreateHardTangents = false,
bool  bGenerateTessellationTriangles = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
bool  bUseHighPrecisionTangents = false,
bool  bUseHighPrecisionUVs = true 
)

Definition at line 519 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CreateMeshSectionByMove ( int32  SectionId,
const TSharedPtr< FRuntimeMeshBuilder > &  MeshData,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)

Definition at line 217 of file RuntimeMeshData.cpp.

template<typename VertexType0 , typename VertexType1 , typename IndexType >
void FRuntimeMeshData::CreateMeshSectionDualBuffer ( int32  SectionIndex,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
TArray< IndexType > &  InTriangles,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 209 of file RuntimeMeshData.h.

template<typename VertexType0 , typename VertexType1 , typename IndexType >
void FRuntimeMeshData::CreateMeshSectionDualBuffer ( int32  SectionIndex,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
TArray< IndexType > &  InTriangles,
const FBox &  BoundingBox,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 246 of file RuntimeMeshData.h.

void FRuntimeMeshData::CreateMeshSectionFromComponents ( int32  SectionIndex,
const TArray< FVector > &  Vertices,
const TArray< int32 > &  Triangles,
const TArray< FVector > &  Normals,
const TArray< FVector2D > &  UV0,
const TArray< FVector2D > &  UV1,
TFunction< FColor(int32 Index)>  ColorAccessor,
int32  NumColors,
const TArray< FRuntimeMeshTangent > &  Tangents,
bool  bCreateCollision,
EUpdateFrequency  UpdateFrequency,
ESectionUpdateFlags  UpdateFlags,
bool  bUseHighPrecisionTangents,
bool  bUseHighPrecisionUVs,
bool  bWantsSecondUV 
)
private

Definition at line 327 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CreateMeshSectionPacked_Blueprint ( int32  SectionIndex,
const TArray< FRuntimeMeshBlueprintVertexSimple > &  Vertices,
const TArray< int32 > &  Triangles,
bool  bCreateCollision = false,
bool  bCalculateNormalTangent = false,
bool  bShouldCreateHardTangents = false,
bool  bGenerateTessellationTriangles = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
bool  bUseHighPrecisionTangents = false,
bool  bUseHighPrecisionUVs = true 
)

Definition at line 546 of file RuntimeMeshData.cpp.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void FRuntimeMeshData::CreateMeshSectionTripleBuffer ( int32  SectionIndex,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
TArray< VertexType2 > &  InVertices2,
TArray< IndexType > &  InTriangles,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 283 of file RuntimeMeshData.h.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void FRuntimeMeshData::CreateMeshSectionTripleBuffer ( int32  SectionIndex,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
TArray< VertexType2 > &  InVertices2,
TArray< IndexType > &  InTriangles,
const FBox &  BoundingBox,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 320 of file RuntimeMeshData.h.

template<typename TangentType , typename UVType , typename IndexType >
FRuntimeMeshSectionPtr FRuntimeMeshData::CreateOrResetSection ( int32  SectionId,
EUpdateFrequency  UpdateFrequency 
)
inlineprivate

Definition at line 1058 of file RuntimeMeshData.h.

FRuntimeMeshSectionPtr FRuntimeMeshData::CreateOrResetSection ( int32  SectionId,
bool  bInUseHighPrecisionTangents,
bool  bInUseHighPrecisionUVs,
int32  InNumUVs,
bool  b32BitIndices,
EUpdateFrequency  UpdateFrequency 
)
private

Definition at line 1086 of file RuntimeMeshData.cpp.

FRuntimeMeshSectionPtr FRuntimeMeshData::CreateOrResetSectionForBlueprint ( int32  SectionId,
bool  bWantsSecondUV,
bool  bHighPrecisionTangents,
bool  bHighPrecisionUVs,
EUpdateFrequency  UpdateFrequency 
)
private

Definition at line 1102 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::CreateSectionInternal ( int32  SectionIndex,
ESectionUpdateFlags  UpdateFlags 
)
private

Definition at line 1110 of file RuntimeMeshData.cpp.

bool FRuntimeMeshData::DoesSectionExist ( int32  SectionIndex) const

Returns whether a particular section currently exists

Definition at line 818 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::DoOnGameThread ( FRuntimeMeshGameThreadTaskDelegate  Func)
private

Definition at line 1553 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::EndSectionUpdate ( FRuntimeMeshScopedUpdater Updater,
ERuntimeMeshBuffersToUpdate  BuffersToUpdate,
const FBox *  BoundingBox = nullptr 
)
private

Definition at line 309 of file RuntimeMeshData.cpp.

FRuntimeMeshProxyPtr FRuntimeMeshData::EnsureProxyCreated ( ERHIFeatureLevel::Type  InFeatureLevel)
private

Definition at line 1258 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::EnterSerializedMode ( )

Definition at line 168 of file RuntimeMeshData.cpp.

int32 FRuntimeMeshData::GetAvailableSectionIndex ( ) const

Returns first available section index

Definition at line 825 of file RuntimeMeshData.cpp.

int32 FRuntimeMeshData::GetLastSectionIndex ( ) const

Definition at line 843 of file RuntimeMeshData.cpp.

FBoxSphereBounds FRuntimeMeshData::GetLocalBounds ( ) const

Definition at line 1080 of file RuntimeMeshData.cpp.

int32 FRuntimeMeshData::GetNumSections ( ) const

Returns number of sections currently created for this component

Definition at line 811 of file RuntimeMeshData.cpp.

bool FRuntimeMeshData::GetPhysicsTriMeshData ( struct FTriMeshCollisionData *  CollisionData,
bool  InUseAllTriData 
)
private

Definition at line 1315 of file RuntimeMeshData.cpp.

TSharedPtr< const FRuntimeMeshAccessor > FRuntimeMeshData::GetReadonlyMeshAccessor ( int32  SectionId)
private

Definition at line 639 of file RuntimeMeshData.cpp.

FRuntimeMeshProxyPtr FRuntimeMeshData::GetRenderProxy ( ) const
inlineprivate

Definition at line 1053 of file RuntimeMeshData.h.

FRuntimeMeshSectionPtr FRuntimeMeshData::GetSection ( int32  SectionIndex)
inlineprivate

Definition at line 1049 of file RuntimeMeshData.h.

int32 FRuntimeMeshData::GetSectionAndFaceFromCollisionFaceIndex ( int32 &  FaceIndex) const
private

Definition at line 1484 of file RuntimeMeshData.cpp.

FBox FRuntimeMeshData::GetSectionBoundingBox ( int32  SectionIndex)

Gets the bounding box of a specific section

Definition at line 703 of file RuntimeMeshData.cpp.

int32 FRuntimeMeshData::GetSectionFromCollisionFaceIndex ( int32  FaceIndex) const
private

Definition at line 1474 of file RuntimeMeshData.cpp.

TArray< int32 > FRuntimeMeshData::GetSectionIds ( ) const

Definition at line 855 of file RuntimeMeshData.cpp.

TUniquePtr< FRuntimeMeshScopedUpdater > FRuntimeMeshData::GetSectionReadonly ( int32  SectionId)

Definition at line 297 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::HandleCommonSectionUpdateFlags ( int32  SectionIndex,
ESectionUpdateFlags  UpdateFlags,
ERuntimeMeshBuffersToUpdate BuffersToUpdate 
)
private

Definition at line 1183 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::Initialize ( )
private

Definition at line 1275 of file RuntimeMeshData.cpp.

bool FRuntimeMeshData::IsMeshSectionCastingShadows ( int32  SectionIndex) const

Returns whether a particular section is currently casting shadows

Definition at line 762 of file RuntimeMeshData.cpp.

bool FRuntimeMeshData::IsMeshSectionCollisionEnabled ( int32  SectionIndex)

Returns whether a particular section has collision

Definition at line 796 of file RuntimeMeshData.cpp.

bool FRuntimeMeshData::IsMeshSectionVisible ( int32  SectionIndex) const

Returns whether a particular section is currently visible

Definition at line 732 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::MarkChanged ( )
private

Definition at line 1572 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::MarkCollisionDirty ( bool  bSkipChangedFlag = false)
private

Definition at line 1434 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::MarkRenderStateDirty ( )
private

Definition at line 1456 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::RemoveCollisionBox ( int32  Index)

Definition at line 1000 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::RemoveCollisionCapsule ( int32  Index)

Definition at line 1058 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::RemoveCollisionSphere ( int32  Index)

Definition at line 1029 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::RemoveConvexCollisionSection ( int32  ConvexSectionIndex)

Definition at line 947 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::SendSectionPropertiesUpdate ( int32  SectionIndex)
private

Definition at line 1465 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::SetCollisionBoxes ( const TArray< FRuntimeMeshCollisionBox > &  NewBoxes)

Definition at line 1014 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::SetCollisionCapsules ( const TArray< FRuntimeMeshCollisionCapsule > &  NewCapsules)

Definition at line 1072 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::SetCollisionConvexMeshes ( const TArray< TArray< FVector >> &  ConvexMeshes)

Definition at line 970 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::SetCollisionSpheres ( const TArray< FRuntimeMeshCollisionSphere > &  NewSpheres)

Definition at line 1043 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::SetConvexCollisionSection ( int32  ConvexSectionIndex,
TArray< FVector >  ConvexVerts 
)

Definition at line 933 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::SetMeshCollisionSection ( int32  CollisionSectionIndex,
const TArray< FVector > &  Vertices,
const TArray< int32 > &  Triangles 
)

Definition at line 874 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::SetMeshSectionCastsShadow ( int32  SectionIndex,
bool  bNewCastsShadow 
)

Control whether a particular section casts a shadow

Definition at line 747 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::SetMeshSectionCollisionEnabled ( int32  SectionIndex,
bool  bNewCollisionEnabled 
)

Control whether a particular section has collision

Definition at line 777 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::SetMeshSectionVisible ( int32  SectionIndex,
bool  bNewVisibility 
)

Control visibility of a particular section

Definition at line 717 of file RuntimeMeshData.cpp.

template<typename IndexType >
void FRuntimeMeshData::SetSectionTessellationTriangles ( int32  SectionId,
const TArray< IndexType > &  Triangles 
)
inline

Definition at line 927 of file RuntimeMeshData.h.

void FRuntimeMeshData::Setup ( TWeakObjectPtr< URuntimeMesh InParentMeshObject)
private

Definition at line 78 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::UpdateLocalBounds ( )
private

Update LocalBounds member from the local box of each section

Definition at line 1233 of file RuntimeMeshData.cpp.

template<typename VertexType0 >
void FRuntimeMeshData::UpdateMeshSection ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 359 of file RuntimeMeshData.h.

template<typename VertexType0 >
void FRuntimeMeshData::UpdateMeshSection ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
const FBox &  BoundingBox,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 381 of file RuntimeMeshData.h.

template<typename VertexType0 , typename IndexType >
void FRuntimeMeshData::UpdateMeshSection ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
TArray< IndexType > &  InTriangles,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 404 of file RuntimeMeshData.h.

template<typename VertexType0 , typename IndexType >
void FRuntimeMeshData::UpdateMeshSection ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
TArray< IndexType > &  InTriangles,
const FBox &  BoundingBox,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 433 of file RuntimeMeshData.h.

void FRuntimeMeshData::UpdateMeshSection ( int32  SectionId,
const TSharedPtr< FRuntimeMeshBuilder > &  MeshData,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)

Definition at line 240 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::UpdateMeshSection ( int32  SectionIndex,
const TArray< FVector > &  Vertices,
const TArray< FVector > &  Normals,
const TArray< FVector2D > &  UV0,
const TArray< FColor > &  Colors,
const TArray< FRuntimeMeshTangent > &  Tangents,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)

Definition at line 491 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::UpdateMeshSection ( int32  SectionIndex,
const TArray< FVector > &  Vertices,
const TArray< FVector > &  Normals,
const TArray< FVector2D > &  UV0,
const TArray< FVector2D > &  UV1,
const TArray< FColor > &  Colors,
const TArray< FRuntimeMeshTangent > &  Tangents,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)

Definition at line 498 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::UpdateMeshSection ( int32  SectionIndex,
const TArray< FVector > &  Vertices,
const TArray< int32 > &  Triangles,
const TArray< FVector > &  Normals,
const TArray< FVector2D > &  UV0,
const TArray< FColor > &  Colors,
const TArray< FRuntimeMeshTangent > &  Tangents,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)

Definition at line 505 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::UpdateMeshSection ( int32  SectionIndex,
const TArray< FVector > &  Vertices,
const TArray< int32 > &  Triangles,
const TArray< FVector > &  Normals,
const TArray< FVector2D > &  UV0,
const TArray< FVector2D > &  UV1,
const TArray< FColor > &  Colors,
const TArray< FRuntimeMeshTangent > &  Tangents,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)

Definition at line 512 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::UpdateMeshSection_Blueprint ( int32  SectionIndex,
const TArray< FVector > &  Vertices,
const TArray< int32 > &  Triangles,
const TArray< FVector > &  Normals,
const TArray< FRuntimeMeshTangent > &  Tangents,
const TArray< FVector2D > &  UV0,
const TArray< FVector2D > &  UV1,
const TArray< FLinearColor > &  Colors,
bool  bCalculateNormalTangent = false,
bool  bShouldCreateHardTangents = false,
bool  bGenerateTessellationTriangles = false 
)

Definition at line 532 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::UpdateMeshSectionByMove ( int32  SectionId,
const TSharedPtr< FRuntimeMeshBuilder > &  MeshData,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)

Definition at line 261 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::UpdateMeshSectionColors ( int32  SectionIndex,
TArray< FColor > &  Colors,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)

Definition at line 450 of file RuntimeMeshData.cpp.

template<typename VertexType0 , typename VertexType1 >
void FRuntimeMeshData::UpdateMeshSectionDualBuffer ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 464 of file RuntimeMeshData.h.

template<typename VertexType0 , typename VertexType1 >
void FRuntimeMeshData::UpdateMeshSectionDualBuffer ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
const FBox &  BoundingBox,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 491 of file RuntimeMeshData.h.

template<typename VertexType0 , typename VertexType1 , typename IndexType >
void FRuntimeMeshData::UpdateMeshSectionDualBuffer ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
TArray< IndexType > &  InTriangles,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 519 of file RuntimeMeshData.h.

template<typename VertexType0 , typename VertexType1 , typename IndexType >
void FRuntimeMeshData::UpdateMeshSectionDualBuffer ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
TArray< IndexType > &  InTriangles,
const FBox &  BoundingBox,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 553 of file RuntimeMeshData.h.

void FRuntimeMeshData::UpdateMeshSectionFromComponents ( int32  SectionIndex,
const TArray< FVector > &  Vertices,
const TArray< int32 > &  Triangles,
const TArray< FVector > &  Normals,
const TArray< FVector2D > &  UV0,
const TArray< FVector2D > &  UV1,
TFunction< FColor(int32 Index)>  ColorAccessor,
int32  NumColors,
const TArray< FRuntimeMeshTangent > &  Tangents,
ESectionUpdateFlags  UpdateFlags 
)
private

Definition at line 369 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::UpdateMeshSectionPacked_Blueprint ( int32  SectionIndex,
const TArray< FRuntimeMeshBlueprintVertexSimple > &  Vertices,
const TArray< int32 > &  Triangles,
bool  bCalculateNormalTangent = false,
bool  bShouldCreateHardTangents = false,
bool  bGenerateTessellationTriangles = false 
)

Definition at line 586 of file RuntimeMeshData.cpp.

template<typename VertexType0 >
void FRuntimeMeshData::UpdateMeshSectionPrimaryBuffer ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 730 of file RuntimeMeshData.h.

template<typename VertexType0 >
void FRuntimeMeshData::UpdateMeshSectionPrimaryBuffer ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
const FBox &  BoundingBox,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 752 of file RuntimeMeshData.h.

template<typename VertexType1 >
void FRuntimeMeshData::UpdateMeshSectionSecondaryBuffer ( int32  SectionId,
TArray< VertexType1 > &  InVertices1,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 775 of file RuntimeMeshData.h.

template<typename VertexType2 >
void FRuntimeMeshData::UpdateMeshSectionTertiaryBuffer ( int32  SectionId,
TArray< VertexType2 > &  InVertices2,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 797 of file RuntimeMeshData.h.

template<typename IndexType >
void FRuntimeMeshData::UpdateMeshSectionTriangles ( int32  SectionId,
TArray< IndexType > &  InTriangles,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 819 of file RuntimeMeshData.h.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 >
void FRuntimeMeshData::UpdateMeshSectionTripleBuffer ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
TArray< VertexType2 > &  InVertices2,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 588 of file RuntimeMeshData.h.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 >
void FRuntimeMeshData::UpdateMeshSectionTripleBuffer ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
TArray< VertexType2 > &  InVertices2,
const FBox &  BoundingBox,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 619 of file RuntimeMeshData.h.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void FRuntimeMeshData::UpdateMeshSectionTripleBuffer ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
TArray< VertexType2 > &  InVertices2,
TArray< IndexType > &  InTriangles,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 651 of file RuntimeMeshData.h.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
void FRuntimeMeshData::UpdateMeshSectionTripleBuffer ( int32  SectionId,
TArray< VertexType0 > &  InVertices0,
TArray< VertexType1 > &  InVertices1,
TArray< VertexType2 > &  InVertices2,
TArray< IndexType > &  InTriangles,
const FBox &  BoundingBox,
ESectionUpdateFlags  UpdateFlags = ESectionUpdateFlags::None 
)
inline

Definition at line 689 of file RuntimeMeshData.h.

void FRuntimeMeshData::UpdateSectionInternal ( int32  SectionIndex,
ERuntimeMeshBuffersToUpdate  BuffersToUpdate,
ESectionUpdateFlags  UpdateFlags 
)
private

Definition at line 1147 of file RuntimeMeshData.cpp.

void FRuntimeMeshData::UpdateSectionPropertiesInternal ( int32  SectionIndex,
bool  bUpdateRequiresProxyRecreateIfStatic 
)
private

Definition at line 1206 of file RuntimeMeshData.cpp.

Friends And Related Function Documentation

friend class FRuntimeMeshScopedUpdater
friend

Definition at line 1138 of file RuntimeMeshData.h.

FArchive& operator<< ( FArchive &  Ar,
FRuntimeMeshData MeshData 
)
friend

Definition at line 1114 of file RuntimeMeshData.h.

friend class URuntimeMesh
friend

Definition at line 1137 of file RuntimeMeshData.h.

Member Data Documentation

TArray<FRuntimeMeshCollisionBox> FRuntimeMeshData::CollisionBoxes
private

Definition at line 72 of file RuntimeMeshData.h.

TArray<FRuntimeMeshCollisionCapsule> FRuntimeMeshData::CollisionCapsules
private

Definition at line 74 of file RuntimeMeshData.h.

TArray<FRuntimeMeshCollisionSphere> FRuntimeMeshData::CollisionSpheres
private

Definition at line 73 of file RuntimeMeshData.h.

TMap<int32, FRuntimeMeshCollisionConvexMesh> FRuntimeMeshData::ConvexCollisionSections
private

Convex shapes used for simple collision

Definition at line 70 of file RuntimeMeshData.h.

FBoxSphereBounds FRuntimeMeshData::LocalBounds
private

Local space bounds of mesh

Definition at line 77 of file RuntimeMeshData.h.

TMap<int32, FRuntimeMeshCollisionSection> FRuntimeMeshData::MeshCollisionSections
private

Definition at line 67 of file RuntimeMeshData.h.

TArray<FRuntimeMeshSectionPtr> FRuntimeMeshData::MeshSections
private

Array of sections of mesh

Definition at line 64 of file RuntimeMeshData.h.

TWeakObjectPtr<URuntimeMesh> FRuntimeMeshData::ParentMeshObject
private

Parent mesh object that owns this data.

Definition at line 80 of file RuntimeMeshData.h.

FRuntimeMeshProxyPtr FRuntimeMeshData::RenderProxy
private

Render proxy for this mesh

Definition at line 83 of file RuntimeMeshData.h.

TUniquePtr<FRuntimeMeshLockProvider> FRuntimeMeshData::SyncRoot
private

Definition at line 85 of file RuntimeMeshData.h.


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


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:50:31