21#include "DynamicMeshComponent.generated.h"
57template<
typename DataType>
118 NewJob->JobTimestamp = CurrentTimestamp;
125 if (
JobPtr->JobTimestamp == this->JobCounter &&
JobPtr->bCancelled ==
false)
132 JobPtr->bHasCompleted =
true;
185 virtual FDynamicMesh3* GetMesh()
override {
return MeshObject ? MeshObject->GetMeshPtr() :
nullptr; }
191 virtual const FDynamicMesh3*
GetMesh()
const override {
return MeshObject ? MeshObject->GetMeshPtr() :
nullptr; }
204 UFUNCTION(BlueprintCallable, Category =
"Dynamic Mesh Component")
234 bool IsEditable()
const {
return bIsEditable; }
241 UFUNCTION(BlueprintCallable, Category =
"Dynamic Mesh Component")
248 UFUNCTION(BlueprintCallable, Category =
"Dynamic Mesh Component")
355 UFUNCTION(BlueprintCallable, Category =
"Dynamic Mesh Component|Rendering", DisplayName =
"Notify Mesh Updated")
438 bool bIsEditable =
true;
646 UFUNCTION(BlueprintCallable, BlueprintPure, BlueprintInternalUseOnly, Category =
"Dynamic Mesh Component")
685 UE_DEPRECATED(5.6,
"Dynamic Mesh distance field support has been deprecated")
700 UFUNCTION(BlueprintCallable, Category =
"Dynamic Mesh Component")
733 UFUNCTION(BlueprintCallable, Category =
"Dynamic Mesh Component")
763 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category =
"Dynamic Mesh Component|Collision")
816 UPROPERTY(EditAnywhere, Category =
BodySetup, meta = (DisplayName = "Primitives", NoResetToDefault))
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
#define ensure( InExpression)
Definition AssertionMacros.h:464
EDynamicMeshComponentTangentsMode
Definition BaseDynamicMeshComponent.h:48
EMeshRenderAttributeFlags
Definition BaseDynamicMeshComponent.h:29
ECollisionTraceFlag
Definition BodySetupEnums.h:11
bool bSuccess
Definition ConvexDecomposition3.cpp:819
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
#define DECLARE_MULTICAST_DELEGATE_ThreeParams(DelegateName, Param1Type, Param2Type, Param3Type)
Definition DelegateCombinations.h:67
EDynamicMeshComponentRenderUpdateMode
Definition DynamicMeshComponent.h:47
return true
Definition ExternalRpcRegistry.cpp:601
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition Archive.h:1208
Definition BaseDynamicMeshSceneProxy.h:39
Definition IDelegateInstance.h:14
Definition DistanceFieldAtlas.h:241
Definition DynamicMeshSceneProxy.h:23
Definition MeshChange.h:32
Definition MeshRegionChange.h:11
Definition MeshRenderDecomposition.h:20
Definition MeshReplacementChange.h:27
Definition MeshVertexChange.h:22
Definition PrimitiveSceneProxy.h:296
Definition ProgressCancel.h:187
Definition ScopeLock.h:141
Definition Interface_CollisionDataProvider.h:23
Definition DynamicMeshComponent.h:36
virtual ~IRenderMeshPostProcessor()=default
virtual void ProcessMesh(const FDynamicMesh3 &Mesh, FDynamicMesh3 &OutRenderMesh)=0
Definition EnumAsByte.h:22
Definition AssetRegistryState.h:50
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:692
Definition FunctionFwd.h:19
Definition UniquePtr.h:107
Definition BaseDynamicMeshComponent.h:130
virtual FDynamicMesh3 * GetMesh()
Definition BaseDynamicMeshComponent.h:150
virtual void NotifyMeshUpdated()
Definition BaseDynamicMeshComponent.h:187
virtual UDynamicMesh * GetDynamicMesh()
Definition BaseDynamicMeshComponent.h:177
Definition BodySetup.h:128
Definition UDynamicMesh.h:123
Definition DynamicMesh3.h:108
Definition MeshTangents.h:76
Definition MaterialInterface.h:296
virtual ENGINE_API void BeginDestroy() override
Definition MeshComponent.cpp:559
ENGINE_API FBox CalcBounds(const FVector &P0, const FVector &P1, const FVector &P2, const FVector &P3)
Definition BezierUtilities.cpp:26
TTask< TInvokeResult_T< TaskBodyType > > Launch(const TCHAR *DebugName, TaskBodyType &&TaskBody, ETaskPriority Priority=ETaskPriority::Normal, EExtendedTaskPriority ExtendedPriority=EExtendedTaskPriority::None, ETaskFlags Flags=ETaskFlags::None)
Definition Task.h:266
bool Wait(const TaskCollectionType &Tasks, FTimespan InTimeout=FTimespan::MaxValue())
Definition Task.h:381
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition UDynamicMesh.h:69
Definition AggregateGeom.h:24
Definition MeshDescription.h:94
Definition UnrealType.h:6865
Definition Interface_CollisionDataProviderCore.h:68
Definition Interface_CollisionDataProviderCore.h:28
Definition DynamicMeshComponent.h:69
bool bCancelled
Definition DynamicMeshComponent.h:73
bool bHasCompleted
Definition DynamicMeshComponent.h:74
TUniquePtr< FProgressCancel > Progress
Definition DynamicMeshComponent.h:72
int JobTimestamp
Definition DynamicMeshComponent.h:71
UE::Tasks::FTask Task
Definition DynamicMeshComponent.h:70
Definition DynamicMeshComponent.h:59
TArray< TUniquePtr< FComputeJob > > PendingJobs
Definition DynamicMeshComponent.h:77
bool bIsShuttingDown
Definition DynamicMeshComponent.h:61
void LaunchJob(const TCHAR *DebugName, TFunction< TUniquePtr< DataType >(FProgressCancel &Progress)> JobWork)
Definition DynamicMeshComponent.h:85
FCriticalSection PendingJobsLock
Definition DynamicMeshComponent.h:78
~TAsyncComponentDataComputeQueue()
Definition DynamicMeshComponent.h:63
std::atomic< int > JobCounter
Definition DynamicMeshComponent.h:60
TFunction< void(TUniquePtr< DataType > NewData)> OnComputeCompleted
Definition DynamicMeshComponent.h:83
void WaitForAllJobsDuringShutdown()
Definition DynamicMeshComponent.h:145
Definition ObjectPtr.h:488
Definition BoxSphereBounds.h:25