UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneEntityFactory.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
8#include "Containers/Map.h"
10#include "CoreTypes.h"
17#include "Misc/InlineValue.h"
18
19#include <initializer_list>
20
21
22namespace UE
23{
24namespace MovieScene
25{
26
27struct IMutualComponentInitializer;
28
29struct FEntityRange;
30struct FEntityAllocation;
31struct FMutualComponentInitializers;
32
40{
45 {
46 ParentToChildComponentTypes.AddUnique(FComponentTypeID::Invalid(), InChildComponent);
47 }
48
57
62 template<typename ComponentType>
64
70 template<typename ComponentType>
72
78 template<typename ParentComponent, typename ChildComponent, typename InitializerCallback>
80
85
96
104
109
114
118 MOVIESCENE_API void DefineComplexInclusiveComponents(const FComplexInclusivityFilter& InFilter, std::initializer_list<FComponentTypeID> InComponents, FMutuallyInclusiveComponentParams&& Params);
119
126
133
135
136private:
137
139 TMultiMap<FComponentTypeID, FComponentTypeID> ParentToChildComponentTypes;
140 UE::MovieScene::FMutualInclusivityGraph MutualInclusivityGraph;
141};
142
143
144} // using namespace MovieScene
145} // using namespace UE
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition MovieScene.Build.cs:6
Definition ArrayView.h:139
Definition Array.h:670
Definition InlineValue.h:22
EMutuallyInclusiveComponentType
Definition MovieSceneEntitySystemTypes.h:100
Definition AdvancedWidgetsModule.cpp:13
Definition MovieSceneMutualComponentInclusivity.h:44
Definition MovieSceneEntityIDs.h:40
Definition MovieSceneEntityIDs.h:174
static FComponentTypeID Invalid()
Definition MovieSceneEntityIDs.h:179
Definition MovieSceneEntitySystemTypes.h:624
Definition MovieSceneEntityFactory.h:40
void DefineChildComponent(FComponentTypeID InChildComponent)
Definition MovieSceneEntityFactory.h:44
MOVIESCENE_API void RunInitializers(const FComponentMask &ParentType, const FComponentMask &ChildType, const FEntityAllocation *ParentAllocation, TArrayView< const int32 > ParentAllocationOffsets, const FEntityRange &InChildEntityRange)
Definition MovieSceneEntityFactory.cpp:357
MOVIESCENE_API void DefineComplexInclusiveComponents(const FComplexInclusivityFilter &InFilter, FComponentTypeID InComponent)
Definition MovieSceneEntityFactory.cpp:311
void DefineMutuallyInclusiveComponent(FComponentTypeID InComponentA, FComponentTypeID InComponentB)
Definition MovieSceneEntityFactory.h:92
void DefineChildComponent(FComponentTypeID InParentComponent, FComponentTypeID InChildComponent)
Definition MovieSceneEntityFactory.h:53
MOVIESCENE_API int32 ComputeMutuallyInclusiveComponents(EMutuallyInclusiveComponentType MutualTypes, FComponentMask &ComponentMask, FMutualComponentInitializers &OutInitializers)
Definition MovieSceneEntityFactory.cpp:352
MOVIESCENE_API void DefineMutuallyInclusiveComponents(FComponentTypeID InComponentA, std::initializer_list< FComponentTypeID > InMutualComponents)
Definition MovieSceneEntityFactory.cpp:301
void DuplicateChildComponent(TComponentTypeID< ComponentType > InComponent)
Definition MovieSceneEntityFactoryTemplates.h:175
void ConditionallyDuplicateChildComponent(TComponentTypeID< ComponentType > InComponent, FComponentMask InParentComponentMask)
Definition MovieSceneEntityFactoryTemplates.h:181
MOVIESCENE_API int32 ComputeChildComponents(const FComponentMask &ParentComponentMask, FComponentMask &ChildComponentMask)
Definition MovieSceneEntityFactory.cpp:321
Definition MovieSceneEntitySystemTypes.h:1046
Definition MovieSceneMutualComponentInclusivity.h:106
Definition MovieSceneMutualComponentInclusivity.h:239
Definition MovieSceneMutualComponentInclusivity.h:30
Definition MovieSceneEntityIDs.h:283