20class UPrimitiveComponent;
24#if WITH_EDITORONLY_DATA
120 if (AlignMaxAngle > 0.f)
142#if WITH_EDITORONLY_DATA
165#if WITH_EDITORONLY_DATA
198#if WITH_EDITORONLY_DATA
209#if WITH_EDITORONLY_DATA
217 virtual void Uninitialize() = 0;
219 virtual int32 GetInstanceCount()
const = 0;
222 virtual void RemoveInstance(
int32 InstanceIndex) = 0;
226 virtual FTransform GetInstanceWorldTransform(
int32 InstanceIndex)
const = 0;
230 virtual bool IsOwnedComponent(
const UPrimitiveComponent* PrimitiveComponent)
const = 0;
243 virtual void BeginUpdate() {}
244 virtual void EndUpdate() {}
275#if WITH_EDITORONLY_DATA
410 return Info !=
nullptr
422 return !(*
this ==
InRHS);
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
@ ForceInit
Definition CoreMiscDefines.h:155
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
int32 FFoliageInstanceBaseId
Definition FoliageInstanceBase.h:11
#define FVector
Definition IOSSystemIncludes.h:8
EFoliageInstanceFlags
Definition InstancedFoliage.h:39
@ FOLIAGE_InstanceDeleted
Definition InstancedFoliage.h:43
@ FOLIAGE_Readjusted
Definition InstancedFoliage.h:42
@ FOLIAGE_NoRandomYaw
Definition InstancedFoliage.h:41
@ FOLIAGE_AlignToNormal
Definition InstancedFoliage.h:40
EFoliageImplType
Definition InstancedFoliage.h:183
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
UE::Math::TQuat< double > FQuat
Definition MathFwd.h:50
UE::Math::TVector< float > FVector3f
Definition MathFwd.h:73
UE::Math::TTransform< double > FTransform
Definition MathFwd.h:53
UE::Math::TRotator< double > FRotator
Definition MathFwd.h:57
const bool
Definition NetworkReplayStreaming.h:178
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
Definition InstancedFoliageActor.h:29
Definition Archive.h:1208
Definition UObjectGlobals.h:2492
Definition ArrayView.h:139
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition UniquePtr.h:107
Definition ActorComponent.h:152
Definition FoliageType_InstancedStaticMesh.h:14
Definition FoliageType.h:106
Definition HierarchicalInstancedStaticMeshComponent.h:136
Definition InstancedStaticMeshComponent.h:158
Definition StaticMesh.h:593
Definition InstancedFoliage.h:452
Type
Definition InstancedFoliage.h:454
@ Manual
Definition InstancedFoliage.h:455
@ Procedural
Definition InstancedFoliage.h:456
Definition InstancedFoliage.cpp:94
bool FoliageInstanceElementsEnabled()
Definition InstancedFoliage.cpp:103
U16 Index
Definition radfft.cpp:71
Definition BodyInstance.h:320
Definition InstancedFoliage.h:463
FVector EndTrace
Definition InstancedFoliage.h:490
FDesiredFoliageInstance(const FVector &InStartTrace, const FVector &InEndTrace, const UFoliageType *InFoliageType, const float InTraceRadius=0.f)
Definition InstancedFoliage.h:476
FQuat Rotation
Definition InstancedFoliage.h:491
FVector StartTrace
Definition InstancedFoliage.h:489
const struct FBodyInstance * ProceduralVolumeBodyInstance
Definition InstancedFoliage.h:494
FGuid ProceduralGuid
Definition InstancedFoliage.h:488
EFoliagePlacementMode::Type PlacementMode
Definition InstancedFoliage.h:495
float TraceRadius
Definition InstancedFoliage.h:492
FDesiredFoliageInstance()
Definition InstancedFoliage.h:464
float Age
Definition InstancedFoliage.h:493
const UFoliageType * FoliageType
Definition InstancedFoliage.h:487
Definition InstancedFoliage.h:196
virtual void GetOverlappingMeshCount(const FSphere &Sphere, TMap< UStaticMesh *, int32 > &OutCounts) const
Definition InstancedFoliage.h:264
virtual void PostLoad()
Definition InstancedFoliage.h:207
FFoliageImpl(FFoliageInfo *InInfo)
Definition InstancedFoliage.h:197
virtual void AddReferencedObjects(UObject *InThis, FReferenceCollector &Collector)
Definition InstancedFoliage.h:204
virtual void Serialize(FArchive &Ar)=0
virtual int32 GetOverlappingBoxCount(const FBox &Box) const
Definition InstancedFoliage.h:262
virtual ~FFoliageImpl()
Definition InstancedFoliage.h:202
virtual void PostSerialize(FArchive &Ar)
Definition InstancedFoliage.h:206
virtual int32 GetOverlappingSphereCount(const FSphere &Sphere) const
Definition InstancedFoliage.h:261
virtual void GetOverlappingBoxTransforms(const FBox &Box, TArray< FTransform > &OutTransforms) const
Definition InstancedFoliage.h:263
Definition InstancedFoliage.h:271
FFoliageInfo(const FFoliageInfo &)=delete
FOLIAGE_API UHierarchicalInstancedStaticMeshComponent * GetComponent() const
Definition InstancedFoliage.cpp:2026
int32 GetOverlappingBoxCount(const FBox &Box) const
Definition InstancedFoliage.cpp:2092
TUniquePtr< FFoliageImpl > Implementation
Definition InstancedFoliage.h:273
void AddReferencedObjects(UObject *InThis, FReferenceCollector &Collector)
Definition InstancedFoliage.cpp:2037
FFoliageInfo & operator=(FFoliageInfo &&Other)=default
FOLIAGE_API bool IsInitialized() const
void PostSerialize(FArchive &Ar)
Definition InstancedFoliage.cpp:2045
void GetOverlappingBoxTransforms(const FBox &Box, TArray< FTransform > &OutTransforms) const
Definition InstancedFoliage.cpp:2102
void GetOverlappingMeshCount(const FSphere &Sphere, TMap< UStaticMesh *, int32 > &OutCounts) const
Definition InstancedFoliage.cpp:2110
FOLIAGE_API FFoliageInfo()
Definition InstancedFoliage.cpp:2014
FOLIAGE_API void Initialize(const UFoliageType *FoliageType)
void PostLoad()
Definition InstancedFoliage.cpp:2053
FFoliageInfo & operator=(const FFoliageInfo &)=delete
FOLIAGE_API ~FFoliageInfo()
Definition InstancedFoliage.cpp:2023
EFoliageImplType Type
Definition InstancedFoliage.h:272
FFoliageInfo(FFoliageInfo &&Other)=default
FOLIAGE_API void CreateImplementation(EFoliageImplType InType)
Definition InstancedFoliage.cpp:2061
FOLIAGE_API void Uninitialize()
FOLIAGE_API friend FArchive & operator<<(FArchive &Ar, FFoliageInfo &MeshInfo)
Definition InstancedFoliage.cpp:494
int32 GetOverlappingSphereCount(const FSphere &Sphere) const
Definition InstancedFoliage.cpp:2082
Definition InstancedFoliage.h:407
bool operator!=(const FFoliageInstanceId &InRHS) const
Definition InstancedFoliage.h:420
bool operator==(const FFoliageInstanceId &InRHS) const
Definition InstancedFoliage.h:414
int32 Index
Definition InstancedFoliage.h:447
FFoliageInfo * Info
Definition InstancedFoliage.h:446
friend uint32 GetTypeHash(const FFoliageInstanceId &InId)
Definition InstancedFoliage.h:441
Definition InstancedFoliage.h:50
FRotator PreAlignRotation
Definition InstancedFoliage.h:53
FVector Location
Definition InstancedFoliage.h:51
FFoliageInstancePlacementInfo()
Definition InstancedFoliage.h:58
FRotator Rotation
Definition InstancedFoliage.h:52
FVector3f DrawScale3D
Definition InstancedFoliage.h:54
uint32 Flags
Definition InstancedFoliage.h:56
float ZOffset
Definition InstancedFoliage.h:55
Definition InstancedFoliage.h:72
UActorComponent * Base
Definition InstancedFoliage.h:73
FGuid ProceduralGuid
Definition InstancedFoliage.h:74
friend FArchive & operator<<(FArchive &Ar, FFoliageInstance_Deprecated &Instance)
Definition InstancedFoliage.cpp:277
Definition InstancedFoliage.h:82
FFoliageInstanceBaseId BaseId
Definition InstancedFoliage.h:84
FTransform GetInstanceWorldTransform() const
Definition InstancedFoliage.h:97
FGuid ProceduralGuid
Definition InstancedFoliage.h:86
void AlignToNormal(const FVector &InNormal, float AlignMaxAngle=0.f)
Definition InstancedFoliage.h:109
friend FArchive & operator<<(FArchive &Ar, FFoliageInstance &Instance)
Definition InstancedFoliage.cpp:318
UActorComponent * BaseComponent
Definition InstancedFoliage.h:88
FFoliageInstance()
Definition InstancedFoliage.h:90
void SetInstanceWorldTransform(const FTransform &Transform)
Definition InstancedFoliage.h:102
Definition InstancedFoliage.h:162
friend FArchive & operator<<(FArchive &Ar, FFoliageMeshInfo_Deprecated2 &MeshInfo)
Definition InstancedFoliage.cpp:482
UHierarchicalInstancedStaticMeshComponent * Component
Definition InstancedFoliage.h:163
FFoliageMeshInfo_Deprecated2()
Definition InstancedFoliage.cpp:478
Definition InstancedFoliage.h:139
friend FArchive & operator<<(FArchive &Ar, FFoliageMeshInfo_Deprecated &MeshInfo)
Definition InstancedFoliage.cpp:450
UHierarchicalInstancedStaticMeshComponent * Component
Definition InstancedFoliage.h:140
FFoliageMeshInfo_Deprecated()
Definition InstancedFoliage.h:150
Definition SMInstanceElementId.h:20
T Pitch
Definition Rotator.h:46
static double NormalizeAxis(double Angle)
Definition Rotator.h:706