Navigation
API > API/Plugins > API/Plugins/ClonerEffector
Represents a logical tree used by the cloner to render its attachments Could differ from the actual physical tree used in the scene
| Name | FCEClonerAttachmentTree |
| Type | struct |
| Header File | /Engine/Plugins/VirtualProduction/ClonerEffector/Source/ClonerEffector/Public/Cloner/Attachments/CEClonerAttachmentTree.h |
| Include Path | #include "Cloner/Attachments/CEClonerAttachmentTree.h" |
Syntax
USTRUCT ()
struct FCEClonerAttachmentTree
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnAttachmentChanged | TBaseDelegate_TwoParams< void, AActor *, FCEClonerAttachmentItem & > | Cloner/Attachments/CEClonerAttachmentTree.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bItemAttachmentsDirty | bool | Whether Added/Moved/Removed items requires an update | Cloner/Attachments/CEClonerAttachmentTree.h |
|
| DirtyItemAttachments | TSet< TWeakObjectPtr< AActor > > | Attachment items that are dirty and need an update | Cloner/Attachments/CEClonerAttachmentTree.h |
|
| ItemAttachmentMap | TMap< TWeakObjectPtr< AActor >, FCEClonerAttachmentItem > | All cloner attached actor items | Cloner/Attachments/CEClonerAttachmentTree.h | |
| MergedBakedMeshes | TArray< TObjectPtr< UStaticMesh > > | Merged static meshes corresponding to the root actors for niagara, result of merging dynamic meshes together | Cloner/Attachments/CEClonerAttachmentTree.h | |
| RootActors | TArray< TWeakObjectPtr< AActor > > | Actors directly attached to the cloner actor, order is important here | Cloner/Attachments/CEClonerAttachmentTree.h | |
| Status | ECEClonerAttachmentStatus | Status of the cloner tree | Cloner/Attachments/CEClonerAttachmentTree.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AttachmentRoot | TObjectPtr< AActor > | Cloner/Attachments/CEClonerAttachmentTree.h | ||
| BehaviorImplementation | TSharedPtr< ICEClonerAttachmentTreeBehavior > | Cloner/Attachments/CEClonerAttachmentTree.h | ||
| OnItemAttachedDelegate | FOnAttachmentChanged | Called when tree item is attached | Cloner/Attachments/CEClonerAttachmentTree.h | |
| OnItemDetachedDelegate | FOnAttachmentChanged | Called when tree item is detached | Cloner/Attachments/CEClonerAttachmentTree.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void Cleanup() |
Performs cleanup before destruction | Cloner/Attachments/CEClonerAttachmentTree.h | |
void DetachItem
(
AActor* InActor |
Detach an item from the tree | Cloner/Attachments/CEClonerAttachmentTree.h | |
| Finds root actor of an actor based on this tree hierarchy by climbing up | Cloner/Attachments/CEClonerAttachmentTree.h | ||
void ForEachAttachment
(
const TFunctionRef< bool(AActor*, FCEClonerAttachmentItem&)>& InFunctor |
Traverses each attachment in tree, stops when false is returned | Cloner/Attachments/CEClonerAttachmentTree.h | |
FBox GetAttachmentBounds
(
AActor* InActor, |
Get the attachment bounds based on tree hierarchy | Cloner/Attachments/CEClonerAttachmentTree.h | |
AActor * GetAttachmentRoot() |
Gets tree attachment root | Cloner/Attachments/CEClonerAttachmentTree.h | |
void GetAttachments
(
AActor* InActor, |
Retrieves all attachments based on an actor | Cloner/Attachments/CEClonerAttachmentTree.h | |
FBox GetCacheBounds
(
AActor* InActor |
Get cached bounds for a root actor | Cloner/Attachments/CEClonerAttachmentTree.h | |
| Retrieves all root actors from this tree hierarchy | Cloner/Attachments/CEClonerAttachmentTree.h | ||
bool IsCacheAvailable
(
bool bInAllowInvalid |
True if all root meshes are valid and usable | Cloner/Attachments/CEClonerAttachmentTree.h | |
void MarkAttachmentOutdated() |
Marks the tree as outdated to perform an update | Cloner/Attachments/CEClonerAttachmentTree.h | |
void MarkCacheOutdated
(
AActor* InActor |
Marks the actor cache as outdated for an update | Cloner/Attachments/CEClonerAttachmentTree.h | |
FOnAttachmentChanged::RegistrationType & OnItemAttached() |
Cloner/Attachments/CEClonerAttachmentTree.h | ||
FOnAttachmentChanged::RegistrationType & OnItemDetached() |
Cloner/Attachments/CEClonerAttachmentTree.h | ||
void SetAttachmentRoot
(
AActor* InActor |
Sets tree attachment root to scan from | Cloner/Attachments/CEClonerAttachmentTree.h | |
void SetBehaviorImplementation
(
const TSharedRef< ICEClonerAttachmentTreeBehavior >& InImplementation |
Set the behavior implementation to use | Cloner/Attachments/CEClonerAttachmentTree.h | |
bool UpdateAttachments
(
bool bInReset |
Triggers an update of the attachment tree to detect updated items If reset is true, clears the attachment tree and rebuilds it otherwise diff update | Cloner/Attachments/CEClonerAttachmentTree.h |