UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LandscapeWeightmapUsage.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7
8#include "LandscapeWeightmapUsage.generated.h"
9
10class ULandscapeComponent;
11
12UCLASS(MinimalAPI, NotBlueprintable)
14{
16
17 enum { NumChannels = 4 };
18
19public:
20 UPROPERTY()
21 TObjectPtr<ULandscapeComponent> ChannelUsage[NumChannels];
22
23 UPROPERTY()
24 FGuid LayerGuid;
25
26 int32 FreeChannelCount() const
27 {
28 int32 Count = 0;
29
30 for (int8 i = 0; i < NumChannels; ++i)
31 {
32 Count += (ChannelUsage[i] == nullptr) ? 1 : 0;
33 }
34
35 return Count;
36 }
37
39 {
40 for (int8 i = 0; i < NumChannels; ++i)
41 {
42 ChannelUsage[i] = nullptr;
43 }
44 }
45
46 void ClearUsage(ULandscapeComponent* Component)
47 {
48 for (int8 i = 0; i < NumChannels; ++i)
49 {
50 if (ChannelUsage[i] == Component)
51 {
52 ChannelUsage[i] = nullptr;
53 }
54 }
55 }
56
57 bool IsEmpty() const
58 {
59 return FreeChannelCount() == NumChannels;
60 }
61
74};
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
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
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition Array.h:670
UE_FORCEINLINE_HINT SizeType AddUnique(ElementType &&Item)
Definition Array.h:2993
Definition LandscapeWeightmapUsage.h:14
void ClearUsage(ULandscapeComponent *Component)
Definition LandscapeWeightmapUsage.h:46
bool IsEmpty() const
Definition LandscapeWeightmapUsage.h:57
TArray< ULandscapeComponent *, TInlineAllocator< 4 > > GetUniqueValidComponents() const
Definition LandscapeWeightmapUsage.h:62
void ClearUsage()
Definition LandscapeWeightmapUsage.h:38
Definition Object.h:95
Definition Guid.h:109
Definition ObjectPtr.h:488