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

#include <RuntimeMesh.h>

Inheritance diagram for URuntimeMesh:
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 ClearAllConvexCollisionSections ()
 
void ClearAllMeshCollisionSections ()
 
void ClearAllMeshSections ()
 
void ClearCollisionBoxes ()
 
void ClearCollisionCapsules ()
 
void ClearCollisionSpheres ()
 
void ClearConvexCollisionSection (int32 ConvexSectionIndex)
 
void ClearMeshCollisionSection (int32 CollisionSectionIndex)
 
void ClearMeshSection (int32 SectionIndex)
 
void CookCollisionNow ()
 
void CreateMeshSection (int32 SectionIndex, bool bWantsHighPrecisionTangents, bool bWantsHighPrecisionUVs, int32 NumUVs, bool bWants32BitIndices, bool bCreateCollision, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average)
 
template<typename VertexType0 , typename IndexType >
FORCEINLINE 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 >
FORCEINLINE void CreateMeshSection (int32 SectionIndex, TArray< VertexType0 > &InVertices0, TArray< IndexType > &InTriangles, const FBox &BoundingBox, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
FORCEINLINE void CreateMeshSection (int32 SectionId, const TSharedPtr< FRuntimeMeshBuilder > &MeshData, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
FORCEINLINE 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)
 
FORCEINLINE 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)
 
FORCEINLINE 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 >
FORCEINLINE 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 >
FORCEINLINE 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 CreateMeshSectionFromBuilder (int32 SectionId, URuntimeBlueprintMeshBuilder *MeshData, bool bCreateCollision=false, EUpdateFrequency UpdateFrequency=EUpdateFrequency::Average)
 
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 >
FORCEINLINE 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 >
FORCEINLINE 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
 
int32 GetAvailableSectionIndex () const
 
UBodySetup * GetBodySetup ()
 
ERuntimeMeshCollisionCookingMode GetCollisionMode () const
 
FBoxSphereBounds GetLocalBounds () const
 
UMaterialInterface * GetMaterialFromCollisionFaceIndex (int32 FaceIndex, int32 &SectionIndex) const
 
TArray< UMaterialInterface * > GetMaterials ()
 
int32 GetNumSections () const
 
FRuntimeMeshDataRef GetRuntimeMeshData () const
 
FRuntimeMeshProxyPtr GetRuntimeMeshRenderProxy () const
 
FBox GetSectionBoundingBox (int32 SectionIndex)
 
void GetSectionIdAndFaceIdFromCollisionFaceIndex (int32 FaceIndex, int32 &SectionIndex, int32 &SectionFaceIndex) const
 
int32 GetSectionIdFromCollisionFaceIndex (int32 FaceIndex) const
 
TArray< int32 > GetSectionIds () const
 
UMaterialInterface * GetSectionMaterial (int32 SectionId)
 
TUniquePtr< FRuntimeMeshScopedUpdaterGetSectionReadonly (int32 SectionId)
 
bool IsCollisionUsingAsyncCooking ()
 
bool IsCollisionUsingComplexAsSimple ()
 
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 SetCollisionBoxes (const TArray< FRuntimeMeshCollisionBox > &NewBoxes)
 
void SetCollisionCapsules (const TArray< FRuntimeMeshCollisionCapsule > &NewCapsules)
 
void SetCollisionConvexMeshes (const TArray< TArray< FVector >> &ConvexMeshes)
 
void SetCollisionMode (ERuntimeMeshCollisionCookingMode NewMode)
 
void SetCollisionSpheres (const TArray< FRuntimeMeshCollisionSphere > &NewSpheres)
 
void SetCollisionUseAsyncCooking (bool bNewValue)
 
void SetCollisionUseComplexAsSimple (bool bNewValue)
 
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)
 
void SetSectionMaterial (int32 SectionId, UMaterialInterface *Material)
 
void SetSectionTessellationTriangles (int32 SectionId, const TArray< int32 > &Triangles)
 
template<typename IndexType >
void SetSectionTessellationTriangles (int32 SectionId, const TArray< IndexType > &Triangles)
 
void SetShouldSerializeMeshData (bool bShouldSerialize)
 
bool ShouldSerializeMeshData ()
 
template<typename VertexType0 >
FORCEINLINE void UpdateMeshSection (int32 SectionId, TArray< VertexType0 > &InVertices0, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 >
FORCEINLINE void UpdateMeshSection (int32 SectionId, TArray< VertexType0 > &InVertices0, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename IndexType >
FORCEINLINE void UpdateMeshSection (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< IndexType > &InTriangles, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename IndexType >
FORCEINLINE void UpdateMeshSection (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< IndexType > &InTriangles, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
FORCEINLINE void UpdateMeshSection (int32 SectionId, const TSharedPtr< FRuntimeMeshBuilder > &MeshData, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
FORCEINLINE 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)
 
FORCEINLINE 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)
 
FORCEINLINE 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)
 
FORCEINLINE 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)
 
FORCEINLINE void UpdateMeshSectionByMove (int32 SectionId, const TSharedPtr< FRuntimeMeshBuilder > &MeshData, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 >
FORCEINLINE void UpdateMeshSectionDualBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 >
FORCEINLINE void UpdateMeshSectionDualBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename IndexType >
FORCEINLINE void UpdateMeshSectionDualBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< IndexType > &InTriangles, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename IndexType >
FORCEINLINE void UpdateMeshSectionDualBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< IndexType > &InTriangles, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
void UpdateMeshSectionFromBuilder (int32 SectionId, URuntimeBlueprintMeshBuilder *MeshData)
 
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 >
FORCEINLINE void UpdateMeshSectionPrimaryBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 >
FORCEINLINE void UpdateMeshSectionPrimaryBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType1 >
FORCEINLINE void UpdateMeshSectionSecondaryBuffer (int32 SectionId, TArray< VertexType1 > &InVertices1, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType2 >
FORCEINLINE void UpdateMeshSectionTertiaryBuffer (int32 SectionId, TArray< VertexType2 > &InVertices2, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename IndexType >
FORCEINLINE void UpdateMeshSectionTriangles (int32 SectionId, TArray< IndexType > &InTriangles, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename VertexType2 >
FORCEINLINE void UpdateMeshSectionTripleBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< VertexType2 > &InVertices2, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 
template<typename VertexType0 , typename VertexType1 , typename VertexType2 >
FORCEINLINE 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 >
FORCEINLINE 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 >
FORCEINLINE void UpdateMeshSectionTripleBuffer (int32 SectionId, TArray< VertexType0 > &InVertices0, TArray< VertexType1 > &InVertices1, TArray< VertexType2 > &InVertices2, TArray< IndexType > &InTriangles, const FBox &BoundingBox, ESectionUpdateFlags UpdateFlags=ESectionUpdateFlags::None)
 

Public Attributes

FRuntimeMeshCollisionUpdatedDelegate CollisionUpdated
 

Private Member Functions

virtual bool ContainsPhysicsTriMeshData (bool InUseAllTriData) const override
 
void CopyCollisionElementsToBodySetup (UBodySetup *Setup)
 
template<typename Function >
void DoForAllLinkedComponents (Function Func)
 
FRuntimeMeshProxyPtr EnsureProxyCreated (ERHIFeatureLevel::Type InFeatureLevel)
 
void ForceProxyRecreate ()
 
virtual bool GetPhysicsTriMeshData (struct FTriMeshCollisionData *CollisionData, bool InUseAllTriData) override
 
void GetUsedMaterials (TArray< UMaterialInterface * > &OutMaterials) const
 
void Initialize ()
 
virtual void MarkChanged ()
 
void MarkCollisionDirty ()
 
void PostLoad ()
 
void RegisterLinkedComponent (URuntimeMeshComponent *NewComponent)
 
void SendSectionCreation (int32 SectionIndex)
 
void SendSectionPropertiesUpdate (int32 SectionIndex)
 
virtual void Serialize (FArchive &Ar) override
 
void SetBasicBodySetupParameters (UBodySetup *Setup)
 
void UnRegisterLinkedComponent (URuntimeMeshComponent *ComponentToRemove)
 
void UpdateCollision (bool bForceCookNow=false)
 
void UpdateLocalBounds ()
 
virtual bool WantsNegXTriMesh () override
 

Private Attributes

TArray< UBodySetup * > AsyncBodySetupQueue
 
bool bCollisionIsDirty
 
UBodySetup * BodySetup
 
bool bShouldSerializeMeshData
 
bool bUseAsyncCooking
 
bool bUseComplexAsSimpleCollision
 
ERuntimeMeshCollisionCookingMode CollisionMode
 
TUniquePtr< FRuntimeMeshCollisionCookTickObjectCookTickObject
 
FRuntimeMeshDataRef Data
 
TArray< TWeakObjectPtr< URuntimeMeshComponent > > LinkedComponents
 
TArray< UMaterialInterface * > Materials
 

Friends

struct FRuntimeMeshCollisionCookTickObject
 
class FRuntimeMeshComponentSceneProxy
 
class FRuntimeMeshData
 
class URuntimeMeshComponent
 

Detailed Description

Definition at line 47 of file RuntimeMesh.h.

Member Function Documentation

int32 URuntimeMesh::AddCollisionBox ( const FRuntimeMeshCollisionBox NewBox)
inline

Definition at line 702 of file RuntimeMesh.h.

int32 URuntimeMesh::AddCollisionCapsule ( const FRuntimeMeshCollisionCapsule NewCapsule)
inline

Definition at line 760 of file RuntimeMesh.h.

int32 URuntimeMesh::AddCollisionSphere ( const FRuntimeMeshCollisionSphere NewSphere)
inline

Definition at line 731 of file RuntimeMesh.h.

int32 URuntimeMesh::AddConvexCollisionSection ( TArray< FVector >  ConvexVerts)
inline

Definition at line 666 of file RuntimeMesh.h.

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

Definition at line 373 of file RuntimeMesh.h.

void URuntimeMesh::ClearAllConvexCollisionSections ( )
inline

Definition at line 687 of file RuntimeMesh.h.

void URuntimeMesh::ClearAllMeshCollisionSections ( )
inline

Definition at line 657 of file RuntimeMesh.h.

void URuntimeMesh::ClearAllMeshSections ( )
inline

Clear all mesh sections and reset to empty state

Definition at line 509 of file RuntimeMesh.h.

void URuntimeMesh::ClearCollisionBoxes ( )
inline

Definition at line 716 of file RuntimeMesh.h.

void URuntimeMesh::ClearCollisionCapsules ( )
inline

Definition at line 774 of file RuntimeMesh.h.

void URuntimeMesh::ClearCollisionSpheres ( )
inline

Definition at line 745 of file RuntimeMesh.h.

void URuntimeMesh::ClearConvexCollisionSection ( int32  ConvexSectionIndex)
inline

Definition at line 680 of file RuntimeMesh.h.

void URuntimeMesh::ClearMeshCollisionSection ( int32  CollisionSectionIndex)
inline

Definition at line 650 of file RuntimeMesh.h.

void URuntimeMesh::ClearMeshSection ( int32  SectionIndex)
inline

Clear a section of the procedural mesh.

Definition at line 501 of file RuntimeMesh.h.

bool URuntimeMesh::ContainsPhysicsTriMeshData ( bool  InUseAllTriData) const
overrideprivatevirtual

Definition at line 106 of file RuntimeMesh.cpp.

void URuntimeMesh::CookCollisionNow ( )

Runs any pending collision cook (Not required to call this. This is only if you need to make sure all changes are cooked before doing something)

Definition at line 75 of file RuntimeMesh.cpp.

void URuntimeMesh::CopyCollisionElementsToBodySetup ( UBodySetup *  Setup)
private

Copies the convex element geometry to a supplied body setup

Definition at line 177 of file RuntimeMesh.cpp.

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

Definition at line 135 of file RuntimeMesh.h.

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

Definition at line 142 of file RuntimeMesh.h.

template<typename VertexType0 , typename IndexType >
FORCEINLINE void URuntimeMesh::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 150 of file RuntimeMesh.h.

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

Definition at line 330 of file RuntimeMesh.h.

FORCEINLINE void URuntimeMesh::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 
)
inline

Definition at line 388 of file RuntimeMesh.h.

FORCEINLINE void URuntimeMesh::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 
)
inline

Definition at line 398 of file RuntimeMesh.h.

void URuntimeMesh::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 
)
inline

Definition at line 440 of file RuntimeMesh.h.

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

Definition at line 337 of file RuntimeMesh.h.

template<typename VertexType0 , typename VertexType1 , typename IndexType >
FORCEINLINE void URuntimeMesh::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 158 of file RuntimeMesh.h.

template<typename VertexType0 , typename VertexType1 , typename IndexType >
FORCEINLINE void URuntimeMesh::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 167 of file RuntimeMesh.h.

void URuntimeMesh::CreateMeshSectionFromBuilder ( int32  SectionId,
URuntimeBlueprintMeshBuilder MeshData,
bool  bCreateCollision = false,
EUpdateFrequency  UpdateFrequency = EUpdateFrequency::Average 
)
inline

Definition at line 345 of file RuntimeMesh.h.

void URuntimeMesh::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 
)
inline

Definition at line 461 of file RuntimeMesh.h.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
FORCEINLINE void URuntimeMesh::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 176 of file RuntimeMesh.h.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
FORCEINLINE void URuntimeMesh::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 185 of file RuntimeMesh.h.

bool URuntimeMesh::DoesSectionExist ( int32  SectionIndex) const
inline

Returns whether a particular section currently exists

Definition at line 619 of file RuntimeMesh.h.

template<typename Function >
void URuntimeMesh::DoForAllLinkedComponents ( Function  Func)
inlineprivate

Definition at line 862 of file RuntimeMesh.h.

FRuntimeMeshProxyPtr URuntimeMesh::EnsureProxyCreated ( ERHIFeatureLevel::Type  InFeatureLevel)
inlineprivate

Once async physics cook is done, create needed state, and then call the user event

Definition at line 934 of file RuntimeMesh.h.

void URuntimeMesh::ForceProxyRecreate ( )
private

Definition at line 304 of file RuntimeMesh.cpp.

int32 URuntimeMesh::GetAvailableSectionIndex ( ) const
inline

Returns first available section index

Definition at line 627 of file RuntimeMesh.h.

UBodySetup* URuntimeMesh::GetBodySetup ( )
inline

Definition at line 841 of file RuntimeMesh.h.

ERuntimeMeshCollisionCookingMode URuntimeMesh::GetCollisionMode ( ) const
inline

Definition at line 829 of file RuntimeMesh.h.

FBoxSphereBounds URuntimeMesh::GetLocalBounds ( ) const
inline

Definition at line 835 of file RuntimeMesh.h.

UMaterialInterface * URuntimeMesh::GetMaterialFromCollisionFaceIndex ( int32  FaceIndex,
int32 &  SectionIndex 
) const

Definition at line 134 of file RuntimeMesh.cpp.

TArray<UMaterialInterface*> URuntimeMesh::GetMaterials ( )
inline

Definition at line 544 of file RuntimeMesh.h.

int32 URuntimeMesh::GetNumSections ( ) const
inline

Returns number of sections currently created for this component

Definition at line 611 of file RuntimeMesh.h.

bool URuntimeMesh::GetPhysicsTriMeshData ( struct FTriMeshCollisionData *  CollisionData,
bool  InUseAllTriData 
)
overrideprivatevirtual

Definition at line 99 of file RuntimeMesh.cpp.

FRuntimeMeshDataRef URuntimeMesh::GetRuntimeMeshData ( ) const
inline

Gets the internal mesh data

Definition at line 121 of file RuntimeMesh.h.

FRuntimeMeshProxyPtr URuntimeMesh::GetRuntimeMeshRenderProxy ( ) const
inline

Definition at line 127 of file RuntimeMesh.h.

FBox URuntimeMesh::GetSectionBoundingBox ( int32  SectionIndex)
inline

Gets the bounding box of a specific section

Definition at line 552 of file RuntimeMesh.h.

void URuntimeMesh::GetSectionIdAndFaceIdFromCollisionFaceIndex ( int32  FaceIndex,
int32 &  SectionIndex,
int32 &  SectionFaceIndex 
) const

Definition at line 150 of file RuntimeMesh.cpp.

int32 URuntimeMesh::GetSectionIdFromCollisionFaceIndex ( int32  FaceIndex) const

Definition at line 145 of file RuntimeMesh.cpp.

TArray<int32> URuntimeMesh::GetSectionIds ( ) const
inline

Definition at line 633 of file RuntimeMesh.h.

UMaterialInterface* URuntimeMesh::GetSectionMaterial ( int32  SectionId)
inline

Definition at line 534 of file RuntimeMesh.h.

TUniquePtr<FRuntimeMeshScopedUpdater> URuntimeMesh::GetSectionReadonly ( int32  SectionId)
inline

Definition at line 379 of file RuntimeMesh.h.

void URuntimeMesh::GetUsedMaterials ( TArray< UMaterialInterface * > &  OutMaterials) const
inlineprivate

Definition at line 886 of file RuntimeMesh.h.

void URuntimeMesh::Initialize ( )
inlineprivate

Definition at line 849 of file RuntimeMesh.h.

bool URuntimeMesh::IsCollisionUsingAsyncCooking ( )
inline

Definition at line 815 of file RuntimeMesh.h.

bool URuntimeMesh::IsCollisionUsingComplexAsSimple ( )
inline

Definition at line 801 of file RuntimeMesh.h.

bool URuntimeMesh::IsMeshSectionCastingShadows ( int32  SectionIndex) const
inline

Returns whether a particular section is currently casting shadows

Definition at line 585 of file RuntimeMesh.h.

bool URuntimeMesh::IsMeshSectionCollisionEnabled ( int32  SectionIndex)
inline

Returns whether a particular section has collision

Definition at line 602 of file RuntimeMesh.h.

bool URuntimeMesh::IsMeshSectionVisible ( int32  SectionIndex) const
inline

Returns whether a particular section is currently visible

Definition at line 568 of file RuntimeMesh.h.

virtual void URuntimeMesh::MarkChanged ( )
inlineprivatevirtual

Definition at line 850 of file RuntimeMesh.h.

void URuntimeMesh::MarkCollisionDirty ( )
private

Triggers a rebuild of the collision data on the next tick

Definition at line 156 of file RuntimeMesh.cpp.

void URuntimeMesh::PostLoad ( )
private

Definition at line 126 of file RuntimeMesh.cpp.

void URuntimeMesh::RegisterLinkedComponent ( URuntimeMeshComponent NewComponent)
private

Definition at line 85 of file RuntimeMesh.cpp.

void URuntimeMesh::RemoveCollisionBox ( int32  Index)
inline

Definition at line 709 of file RuntimeMesh.h.

void URuntimeMesh::RemoveCollisionCapsule ( int32  Index)
inline

Definition at line 767 of file RuntimeMesh.h.

void URuntimeMesh::RemoveCollisionSphere ( int32  Index)
inline

Definition at line 738 of file RuntimeMesh.h.

void URuntimeMesh::SendSectionCreation ( int32  SectionIndex)
private

Definition at line 312 of file RuntimeMesh.cpp.

void URuntimeMesh::SendSectionPropertiesUpdate ( int32  SectionIndex)
private

Definition at line 320 of file RuntimeMesh.cpp.

void URuntimeMesh::Serialize ( FArchive &  Ar)
overrideprivatevirtual

Definition at line 113 of file RuntimeMesh.cpp.

void URuntimeMesh::SetBasicBodySetupParameters ( UBodySetup *  Setup)
private

Sets all basic configuration on body setup

Definition at line 182 of file RuntimeMesh.cpp.

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

Definition at line 723 of file RuntimeMesh.h.

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

Definition at line 781 of file RuntimeMesh.h.

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

Definition at line 693 of file RuntimeMesh.h.

void URuntimeMesh::SetCollisionMode ( ERuntimeMeshCollisionCookingMode  NewMode)
inline

Definition at line 822 of file RuntimeMesh.h.

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

Definition at line 752 of file RuntimeMesh.h.

void URuntimeMesh::SetCollisionUseAsyncCooking ( bool  bNewValue)
inline

Definition at line 808 of file RuntimeMesh.h.

void URuntimeMesh::SetCollisionUseComplexAsSimple ( bool  bNewValue)
inline

Definition at line 793 of file RuntimeMesh.h.

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

Definition at line 673 of file RuntimeMesh.h.

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

Definition at line 643 of file RuntimeMesh.h.

void URuntimeMesh::SetMeshSectionCastsShadow ( int32  SectionIndex,
bool  bNewCastsShadow 
)
inline

Control whether a particular section casts a shadow

Definition at line 577 of file RuntimeMesh.h.

void URuntimeMesh::SetMeshSectionCollisionEnabled ( int32  SectionIndex,
bool  bNewCollisionEnabled 
)
inline

Control whether a particular section has collision

Definition at line 594 of file RuntimeMesh.h.

void URuntimeMesh::SetMeshSectionVisible ( int32  SectionIndex,
bool  bNewVisibility 
)
inline

Control visibility of a particular section

Definition at line 560 of file RuntimeMesh.h.

void URuntimeMesh::SetSectionMaterial ( int32  SectionId,
UMaterialInterface *  Material 
)
inline

Definition at line 517 of file RuntimeMesh.h.

void URuntimeMesh::SetSectionTessellationTriangles ( int32  SectionId,
const TArray< int32 > &  Triangles 
)
inline

Definition at line 484 of file RuntimeMesh.h.

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

Definition at line 491 of file RuntimeMesh.h.

void URuntimeMesh::SetShouldSerializeMeshData ( bool  bShouldSerialize)
inline

Definition at line 111 of file RuntimeMesh.h.

bool URuntimeMesh::ShouldSerializeMeshData ( )
inline

Definition at line 105 of file RuntimeMesh.h.

void URuntimeMesh::UnRegisterLinkedComponent ( URuntimeMeshComponent ComponentToRemove)
private

Definition at line 90 of file RuntimeMesh.cpp.

void URuntimeMesh::UpdateCollision ( bool  bForceCookNow = false)
private

Mark collision data as dirty, and re-create on instance if necessary

Definition at line 191 of file RuntimeMesh.cpp.

void URuntimeMesh::UpdateLocalBounds ( )
private

Definition at line 296 of file RuntimeMesh.cpp.

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

Definition at line 196 of file RuntimeMesh.h.

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

Definition at line 204 of file RuntimeMesh.h.

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

Definition at line 212 of file RuntimeMesh.h.

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

Definition at line 220 of file RuntimeMesh.h.

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

Definition at line 353 of file RuntimeMesh.h.

FORCEINLINE void URuntimeMesh::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 
)
inline

Definition at line 409 of file RuntimeMesh.h.

FORCEINLINE void URuntimeMesh::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 
)
inline

Definition at line 416 of file RuntimeMesh.h.

FORCEINLINE void URuntimeMesh::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 
)
inline

Definition at line 423 of file RuntimeMesh.h.

FORCEINLINE void URuntimeMesh::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 
)
inline

Definition at line 430 of file RuntimeMesh.h.

void URuntimeMesh::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 
)
inline

Definition at line 451 of file RuntimeMesh.h.

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

Definition at line 359 of file RuntimeMesh.h.

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

Definition at line 228 of file RuntimeMesh.h.

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

Definition at line 236 of file RuntimeMesh.h.

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

Definition at line 244 of file RuntimeMesh.h.

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

Definition at line 252 of file RuntimeMesh.h.

void URuntimeMesh::UpdateMeshSectionFromBuilder ( int32  SectionId,
URuntimeBlueprintMeshBuilder MeshData 
)
inline

Definition at line 366 of file RuntimeMesh.h.

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

Definition at line 471 of file RuntimeMesh.h.

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

Definition at line 294 of file RuntimeMesh.h.

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

Definition at line 301 of file RuntimeMesh.h.

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

Definition at line 308 of file RuntimeMesh.h.

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

Definition at line 315 of file RuntimeMesh.h.

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

Definition at line 322 of file RuntimeMesh.h.

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

Definition at line 260 of file RuntimeMesh.h.

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

Definition at line 268 of file RuntimeMesh.h.

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

Definition at line 276 of file RuntimeMesh.h.

template<typename VertexType0 , typename VertexType1 , typename VertexType2 , typename IndexType >
FORCEINLINE void URuntimeMesh::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 284 of file RuntimeMesh.h.

virtual bool URuntimeMesh::WantsNegXTriMesh ( )
inlineoverrideprivatevirtual

Definition at line 894 of file RuntimeMesh.h.

Friends And Related Function Documentation

Definition at line 952 of file RuntimeMesh.h.

friend class FRuntimeMeshComponentSceneProxy
friend

Definition at line 951 of file RuntimeMesh.h.

friend class FRuntimeMeshData
friend

Definition at line 949 of file RuntimeMesh.h.

friend class URuntimeMeshComponent
friend

Definition at line 950 of file RuntimeMesh.h.

Member Data Documentation

TArray<UBodySetup*> URuntimeMesh::AsyncBodySetupQueue
private

Queue of pending collision cooks

Definition at line 100 of file RuntimeMesh.h.

bool URuntimeMesh::bCollisionIsDirty
private

Do we need to update our collision?

Definition at line 61 of file RuntimeMesh.h.

UBodySetup* URuntimeMesh::BodySetup
private

Collision data

Definition at line 96 of file RuntimeMesh.h.

bool URuntimeMesh::bShouldSerializeMeshData
private

Controls whether the mesh data should be serialized with the component.

Definition at line 88 of file RuntimeMesh.h.

bool URuntimeMesh::bUseAsyncCooking
private

Controls whether the physics cooking is done in parallel. This will increase throughput in multiple RMC scenarios, and keep from blocking the game thread, but when the collision becomes queryable is non-deterministic. See callback event for notification on collision updated.

Definition at line 82 of file RuntimeMesh.h.

bool URuntimeMesh::bUseComplexAsSimpleCollision
private

Controls whether the complex (Per poly) geometry should be treated as 'simple' collision. Should be set to false if this component is going to be given simple collision and simulated.

Definition at line 74 of file RuntimeMesh.h.

ERuntimeMeshCollisionCookingMode URuntimeMesh::CollisionMode
private

Collision cooking configuration. Prefer runtime performance or cooktime speed

Definition at line 92 of file RuntimeMesh.h.

FRuntimeMeshCollisionUpdatedDelegate URuntimeMesh::CollisionUpdated

Event called when the collision has finished updated, this works both with standard following frame synchronous updates, as well as async updates

Definition at line 118 of file RuntimeMesh.h.

TUniquePtr<FRuntimeMeshCollisionCookTickObject> URuntimeMesh::CookTickObject
private

Object used to tick the collision cooking at the end of the frame

Definition at line 64 of file RuntimeMesh.h.

FRuntimeMeshDataRef URuntimeMesh::Data
private

Reference to the underlying data object

Definition at line 53 of file RuntimeMesh.h.

TArray<TWeakObjectPtr<URuntimeMeshComponent> > URuntimeMesh::LinkedComponents
private

All RuntimeMeshComponents linked to this mesh. Used to alert the components of changes

Definition at line 67 of file RuntimeMesh.h.

TArray<UMaterialInterface*> URuntimeMesh::Materials
private

Materials for this Runtime Mesh

Definition at line 57 of file RuntimeMesh.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:33