#include <RuntimeMeshData.h>
Public Member Functions | |
int32 | AddCollisionBox (const FRuntimeMeshCollisionBox &NewBox) |
int32 | AddCollisionCapsule (const FRuntimeMeshCollisionCapsule &NewCapsule) |
int32 | AddCollisionSphere (const FRuntimeMeshCollisionSphere &NewSphere) |
int32 | AddConvexCollisionSection (TArray< FVector > ConvexVerts) |
TUniquePtr< FRuntimeMeshScopedUpdater > | BeginSectionUpdate (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< FRuntimeMeshScopedUpdater > | GetSectionReadonly (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 FRuntimeMeshAccessor > | GetReadonlyMeshAccessor (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< FRuntimeMeshCollisionBox > | CollisionBoxes |
TArray< FRuntimeMeshCollisionCapsule > | CollisionCapsules |
TArray< FRuntimeMeshCollisionSphere > | CollisionSpheres |
TMap< int32, FRuntimeMeshCollisionConvexMesh > | ConvexCollisionSections |
FBoxSphereBounds | LocalBounds |
TMap< int32, FRuntimeMeshCollisionSection > | MeshCollisionSections |
TArray< FRuntimeMeshSectionPtr > | MeshSections |
TWeakObjectPtr< URuntimeMesh > | ParentMeshObject |
FRuntimeMeshProxyPtr | RenderProxy |
TUniquePtr< FRuntimeMeshLockProvider > | SyncRoot |
Friends | |
class | FRuntimeMeshScopedUpdater |
FArchive & | operator<< (FArchive &Ar, FRuntimeMeshData &MeshData) |
class | URuntimeMesh |
Definition at line 61 of file RuntimeMeshData.h.
FRuntimeMeshData::FRuntimeMeshData | ( | ) |
Definition at line 69 of file RuntimeMeshData.cpp.
FRuntimeMeshData::~FRuntimeMeshData | ( | ) |
Definition at line 74 of file RuntimeMeshData.cpp.
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.
|
private |
Definition at line 155 of file RuntimeMeshData.cpp.
|
private |
Definition at line 83 of file RuntimeMeshData.cpp.
|
inlineprivate |
Definition at line 97 of file RuntimeMeshData.h.
|
private |
Definition at line 101 of file RuntimeMeshData.cpp.
|
private |
Definition at line 126 of file RuntimeMeshData.cpp.
|
inlineprivate |
Definition at line 106 of file RuntimeMeshData.h.
|
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.
|
private |
Definition at line 1289 of file RuntimeMeshData.cpp.
|
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.
|
inline |
Definition at line 135 of file RuntimeMeshData.h.
|
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.
|
inline |
Definition at line 209 of file RuntimeMeshData.h.
|
inline |
Definition at line 246 of file RuntimeMeshData.h.
|
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.
|
inline |
Definition at line 283 of file RuntimeMeshData.h.
|
inline |
Definition at line 320 of file RuntimeMeshData.h.
|
inlineprivate |
Definition at line 1058 of file RuntimeMeshData.h.
|
private |
Definition at line 1086 of file RuntimeMeshData.cpp.
|
private |
Definition at line 1102 of file RuntimeMeshData.cpp.
|
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.
|
private |
Definition at line 1553 of file RuntimeMeshData.cpp.
|
private |
Definition at line 309 of file RuntimeMeshData.cpp.
|
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.
|
private |
Definition at line 1315 of file RuntimeMeshData.cpp.
|
private |
Definition at line 639 of file RuntimeMeshData.cpp.
|
inlineprivate |
Definition at line 1053 of file RuntimeMeshData.h.
|
inlineprivate |
Definition at line 1049 of file RuntimeMeshData.h.
|
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.
|
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.
|
private |
Definition at line 1183 of file RuntimeMeshData.cpp.
|
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.
|
private |
Definition at line 1572 of file RuntimeMeshData.cpp.
|
private |
Definition at line 1434 of file RuntimeMeshData.cpp.
|
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.
|
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.
|
inline |
Definition at line 927 of file RuntimeMeshData.h.
|
private |
Definition at line 78 of file RuntimeMeshData.cpp.
|
private |
Update LocalBounds member from the local box of each section
Definition at line 1233 of file RuntimeMeshData.cpp.
|
inline |
Definition at line 359 of file RuntimeMeshData.h.
|
inline |
Definition at line 381 of file RuntimeMeshData.h.
|
inline |
Definition at line 404 of file RuntimeMeshData.h.
|
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.
|
inline |
Definition at line 464 of file RuntimeMeshData.h.
|
inline |
Definition at line 491 of file RuntimeMeshData.h.
|
inline |
Definition at line 519 of file RuntimeMeshData.h.
|
inline |
Definition at line 553 of file RuntimeMeshData.h.
|
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.
|
inline |
Definition at line 730 of file RuntimeMeshData.h.
|
inline |
Definition at line 752 of file RuntimeMeshData.h.
|
inline |
Definition at line 775 of file RuntimeMeshData.h.
|
inline |
Definition at line 797 of file RuntimeMeshData.h.
|
inline |
Definition at line 819 of file RuntimeMeshData.h.
|
inline |
Definition at line 588 of file RuntimeMeshData.h.
|
inline |
Definition at line 619 of file RuntimeMeshData.h.
|
inline |
Definition at line 651 of file RuntimeMeshData.h.
|
inline |
Definition at line 689 of file RuntimeMeshData.h.
|
private |
Definition at line 1147 of file RuntimeMeshData.cpp.
|
private |
Definition at line 1206 of file RuntimeMeshData.cpp.
|
friend |
Definition at line 1138 of file RuntimeMeshData.h.
|
friend |
Definition at line 1114 of file RuntimeMeshData.h.
|
friend |
Definition at line 1137 of file RuntimeMeshData.h.
|
private |
Definition at line 72 of file RuntimeMeshData.h.
|
private |
Definition at line 74 of file RuntimeMeshData.h.
|
private |
Definition at line 73 of file RuntimeMeshData.h.
|
private |
Convex shapes used for simple collision
Definition at line 70 of file RuntimeMeshData.h.
|
private |
Local space bounds of mesh
Definition at line 77 of file RuntimeMeshData.h.
|
private |
Definition at line 67 of file RuntimeMeshData.h.
|
private |
Array of sections of mesh
Definition at line 64 of file RuntimeMeshData.h.
|
private |
Parent mesh object that owns this data.
Definition at line 80 of file RuntimeMeshData.h.
|
private |
Render proxy for this mesh
Definition at line 83 of file RuntimeMeshData.h.
|
private |
Definition at line 85 of file RuntimeMeshData.h.