13#include "TypedElementWorldInterface.generated.h"
47 UPROPERTY(BlueprintReadWrite, Category=
"TypedElementInterfaces|World|DeletionOptions", meta=(AllowPrivateAccess=
true))
51 bool bWarnAboutReferences =
true;
54 bool bWarnAboutSoftReferences =
true;
73UINTERFACE(MinimalAPI, BlueprintType, meta = (CannotImplementInterfaceInBlueprint))
323 UFUNCTION(BlueprintCallable, Category=
"TypedElementInterfaces|World")
498 bool IsElementInBox(
const FBox&
InBox,
bool bMustEncompassEntireElement =
false)
const {
return InterfacePtr->IsElementInBox(*
this,
InBox, bMustEncompassEntireElement); }
519 bool bMustEncompassEntireElement =
false;
522 bool bBSPSelectionOnly =
false;
constexpr auto MakeArrayView(OtherRangeType &&Other)
Definition ArrayView.h:873
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UINTERFACE(...)
Definition ObjectMacros.h:780
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
ETypedElementSelectionMethod
Definition TypedElementSelectionInterface.h:25
ETypedElementWorldType
Definition TypedElementWorldInterface.h:26
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition OutputDevice.h:133
Definition TypedElementWorldInterface.h:80
virtual bool CanMoveElement(const FTypedElementHandle &InElementHandle, const ETypedElementWorldType InWorldType)
Definition TypedElementWorldInterface.h:112
virtual bool GetRelativeTransform(const FTypedElementHandle &InElementHandle, FTransform &OutTransform)
Definition TypedElementWorldInterface.h:132
virtual bool CanPromoteElement(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:270
virtual bool SetWorldTransform(const FTypedElementHandle &InElementHandle, const FTransform &InTransform)
Definition TypedElementWorldInterface.h:127
virtual bool SetPivotOffset(const FTypedElementHandle &InElementHandle, const FVector &InPivotOffset)
Definition TypedElementWorldInterface.h:147
virtual TSharedPtr< FWorldElementPasteImporter > GetPasteImporter()
Definition TypedElementWorldInterface.h:260
virtual ENGINE_API bool IsElementInConvexVolume(const FTypedElementHandle &Handle, const FConvexVolume &InVolume, bool bMustEncompassEntireElement=false)
Definition TypedElementWorldInterface.cpp:14
virtual FTypedElementHandle PromoteElement(const FTypedElementHandle &InElementHandle, UWorld *OverrideWorld=nullptr)
Definition TypedElementWorldInterface.h:282
virtual bool GetBounds(const FTypedElementHandle &InElementHandle, FBoxSphereBounds &OutBounds)
Definition TypedElementWorldInterface.h:107
virtual void NotifyMovementStarted(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:152
virtual bool FindSuitableTransformAtPoint(const FTypedElementHandle &InElementHandle, const FTransform &InPotentialTransform, FTransform &OutSuitableTransform)
Definition TypedElementWorldInterface.h:167
ENGINE_API TArray< FTypedElementHandle > GetSelectionElementsInConvexVolume(const FTypedElementHandle &Handle, const FConvexVolume &InVolume, const FWorldSelectionElementArgs &SelectionArgs)
Definition TypedElementWorldInterface.cpp:49
virtual ENGINE_API class UTypedElementRegistry & GetRegistry() const
Definition TypedElementWorldInterface.cpp:425
virtual ENGINE_API TArray< FTypedElementHandle > GetSelectionElementsFromSelectionFunction(const FTypedElementHandle &Handle, const FWorldSelectionElementArgs &SelectionArgs, const TFunction< bool(const FTypedElementHandle &, const FWorldSelectionElementArgs &)> &SelectionFunction)
Definition TypedElementWorldInterface.cpp:77
virtual bool CanCopyElement(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:240
virtual ENGINE_API bool IsElementInBox(const FTypedElementHandle &Handle, const FBox &InBox, bool bMustEncompassEntireElement=false)
Definition TypedElementWorldInterface.cpp:29
virtual FTypedElementHandle DuplicateElement(const FTypedElementHandle &InElementHandle, UWorld *InWorld, const FVector &InLocationOffset)
Definition TypedElementWorldInterface.h:225
virtual bool CanDeleteElement(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:199
virtual void NotifyMovementOngoing(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:157
virtual bool FindSuitableTransformAlongPath(const FTypedElementHandle &InElementHandle, const FVector &InPathStart, const FVector &InPathEnd, const FCollisionShape &InTestShape, TArrayView< const FTypedElementHandle > InElementsToIgnore, FTransform &OutSuitableTransform)
Definition TypedElementWorldInterface.h:176
virtual bool DeleteElements(TArrayView< const FTypedElementHandle > InElementHandles, UWorld *InWorld, UTypedElementSelectionSet *InSelectionSet, const FTypedElementDeletionOptions &InDeletionOptions)
Definition TypedElementWorldInterface.h:214
virtual ULevel * GetOwnerLevel(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:97
virtual bool CanDuplicateElement(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:219
virtual bool CanScaleElement(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:117
virtual bool GetPivotOffset(const FTypedElementHandle &InElementHandle, FVector &OutPivotOffset)
Definition TypedElementWorldInterface.h:142
virtual void CopyElement(const FTypedElementHandle &InElementHandle, FOutputDevice &Out)
Definition TypedElementWorldInterface.h:247
virtual bool SetRelativeTransform(const FTypedElementHandle &InElementHandle, const FTransform &InTransform)
Definition TypedElementWorldInterface.h:137
virtual bool GetWorldTransform(const FTypedElementHandle &InElementHandle, FTransform &OutTransform)
Definition TypedElementWorldInterface.h:122
virtual void NotifyMovementEnded(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:162
virtual bool DeleteElement(const FTypedElementHandle &InElementHandle, UWorld *InWorld, UTypedElementSelectionSet *InSelectionSet, const FTypedElementDeletionOptions &InDeletionOptions)
Definition TypedElementWorldInterface.h:205
virtual bool AddIgnoredElementToCollisionQueryParams(const FTypedElementHandle &InElementHandle, FCollisionQueryParams &InOutParams, bool bAlsoIgnoreSubElements=true)
Definition TypedElementWorldInterface.h:190
virtual UWorld * GetOwnerWorld(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:102
ENGINE_API TArray< FTypedElementHandle > GetSelectionElementsInBox(const FTypedElementHandle &Handle, const FBox &InBox, const FWorldSelectionElementArgs &SelectionArgs)
Definition TypedElementWorldInterface.cpp:63
virtual bool IsTemplateElement(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:87
virtual void CopyElements(TArrayView< const FTypedElementHandle > InElementHandles, FOutputDevice &Out)
Definition TypedElementWorldInterface.h:256
virtual void DuplicateElements(TArrayView< const FTypedElementHandle > InElementHandles, UWorld *InWorld, const FVector &InLocationOffset, TArray< FTypedElementHandle > &OutNewElements)
Definition TypedElementWorldInterface.h:236
virtual bool CanEditElement(const FTypedElementHandle &InElementHandle)
Definition TypedElementWorldInterface.h:92
Definition ArrayView.h:139
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition AndroidPlatformMisc.h:14
Definition Interface.h:19
Definition TypedElementRegistry.h:55
Definition TypedElementSelectionSet.h:180
Definition TypedElementWorldInterface.h:75
@ false
Definition radaudio_common.h:23
Definition CollisionQueryParams.h:43
Definition CollisionShape.h:21
Definition ConvexVolume.h:44
Definition ShowFlags.h:56
Definition TypedElementHandle.h:625
Definition TypedElementWorldInterface.h:33
bool WarnAboutReferences() const
Definition TypedElementWorldInterface.h:41
FTypedElementDeletionOptions & SetVerifyDeletionCanHappen(const bool InVerifyDeletionCanHappen)
Definition TypedElementWorldInterface.h:37
FTypedElementDeletionOptions & SetWarnAboutReferences(const bool InWarnAboutReferences)
Definition TypedElementWorldInterface.h:40
bool WarnAboutSoftReferences() const
Definition TypedElementWorldInterface.h:44
bool VerifyDeletionCanHappen() const
Definition TypedElementWorldInterface.h:38
FTypedElementDeletionOptions & SetWarnAboutSoftReferences(const bool InWarnAboutSoftReferences)
Definition TypedElementWorldInterface.h:43
Definition TypedElementHandle.h:18
Definition TypedElementSelectionInterface.h:67
Definition TypedElementWorldInterface.h:62
FStringView Text
Definition TypedElementWorldInterface.h:65
FTypedElementListConstPtr CurrentSelection
Definition TypedElementWorldInterface.h:63
UWorld * World
Definition TypedElementWorldInterface.h:64
Definition TypedElementWorldInterface.h:58
virtual TArray< FTypedElementHandle > GetImportedElements()
Definition TypedElementWorldInterface.h:70
virtual ~FWorldElementPasteImporter()=default
virtual void Import(FContext &Context)
Definition TypedElementWorldInterface.h:68
Definition TypedElementWorldInterface.h:508
FEngineShowFlags * ShowFlags
Definition TypedElementWorldInterface.h:517
FTypedElementSelectionOptions SelectionOptions
Definition TypedElementWorldInterface.h:514
const UTypedElementSelectionSet * SelectionSet
Definition TypedElementWorldInterface.h:510
Definition TypedElementHandle.h:271
bool CanDeleteElement() const
Definition TypedElementWorldInterface.h:489
bool AddIgnoredElementToCollisionQueryParams(const FTypedElementHandle &InElementHandle, FCollisionQueryParams &InOutParams, bool bAlsoIgnoreSubElements=true) const
Definition TypedElementWorldInterface.h:488
bool CanScaleElement() const
Definition TypedElementWorldInterface.h:476
bool FindSuitableTransformAlongPath(const FVector &InPathStart, const FVector &InPathEnd, const FCollisionShape &InTestShape, TArrayView< const FTypedElementHandle > InElementsToIgnore, FTransform &OutSuitableTransform) const
Definition TypedElementWorldInterface.h:487
bool SetWorldTransform(const FTransform &InTransform) const
Definition TypedElementWorldInterface.h:478
void CopyElement(FOutputDevice &Out) const
Definition TypedElementWorldInterface.h:494
TArray< FTypedElementHandle > GetSelectionElementsInBox(const FBox &InBox, const FWorldSelectionElementArgs &SelectionArgs) const
Definition TypedElementWorldInterface.h:500
bool CanMoveElement(const ETypedElementWorldType InWorldType) const
Definition TypedElementWorldInterface.h:475
bool GetRelativeTransform(FTransform &OutTransform) const
Definition TypedElementWorldInterface.h:479
FTypedElementHandle DuplicateElement(UWorld *InWorld, const FVector &InLocationOffset) const
Definition TypedElementWorldInterface.h:492
void NotifyMovementStarted() const
Definition TypedElementWorldInterface.h:483
bool GetPivotOffset(FVector &OutPivotOffset) const
Definition TypedElementWorldInterface.h:481
TArray< FTypedElementHandle > GetSelectionElementsInConvexVolume(const FConvexVolume &InVolume, const FWorldSelectionElementArgs &SelectionArgs) const
Definition TypedElementWorldInterface.h:499
bool DeleteElement(UWorld *InWorld, UTypedElementSelectionSet *InSelectionSet, const FTypedElementDeletionOptions &InDeletionOptions) const
Definition TypedElementWorldInterface.h:490
void NotifyMovementEnded() const
Definition TypedElementWorldInterface.h:485
bool GetBounds(FBoxSphereBounds &OutBounds) const
Definition TypedElementWorldInterface.h:474
FTypedElementHandle PromoteElement(UWorld *OverrideWorld=nullptr) const
Definition TypedElementWorldInterface.h:496
bool IsTemplateElement() const
Definition TypedElementWorldInterface.h:470
bool CanDuplicateElement() const
Definition TypedElementWorldInterface.h:491
TArray< FTypedElementHandle > GetSelectionElementsFromSelectionFunction(const FWorldSelectionElementArgs &SelectionArgs, const TFunction< bool(const FTypedElementHandle &, const FWorldSelectionElementArgs &)> &SelectionFunction) const
Definition TypedElementWorldInterface.h:501
bool FindSuitableTransformAtPoint(const FTransform &InPotentialTransform, FTransform &OutSuitableTransform) const
Definition TypedElementWorldInterface.h:486
ULevel * GetOwnerLevel() const
Definition TypedElementWorldInterface.h:472
bool SetRelativeTransform(const FTransform &InTransform) const
Definition TypedElementWorldInterface.h:480
bool IsElementInConvexVolume(const FConvexVolume &InVolume, bool bMustEncompassEntireElement=false) const
Definition TypedElementWorldInterface.h:497
bool IsElementInBox(const FBox &InBox, bool bMustEncompassEntireElement=false) const
Definition TypedElementWorldInterface.h:498
bool CanCopyElement() const
Definition TypedElementWorldInterface.h:493
bool CanPromoteElement() const
Definition TypedElementWorldInterface.h:495
void NotifyMovementOngoing() const
Definition TypedElementWorldInterface.h:484
bool CanEditElement() const
Definition TypedElementWorldInterface.h:471
bool SetPivotOffset(const FVector &InPivotOffset) const
Definition TypedElementWorldInterface.h:482
bool GetWorldTransform(FTransform &OutTransform) const
Definition TypedElementWorldInterface.h:477
UWorld * GetOwnerWorld() const
Definition TypedElementWorldInterface.h:473
Definition TypedElementHandle.h:396
Definition BoxSphereBounds.h:25