52 lines
1.1 KiB
C++
52 lines
1.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
|
|
// ----------------------------------------------------------------------------------
|
|
|
|
namespace UE::Landscape::EditLayers
|
|
{
|
|
|
|
#if WITH_EDITOR
|
|
|
|
/**
|
|
* FTargetLayerGroup describes a group of target layers that need to be rendered together, typically for weight-blending reasons
|
|
*/
|
|
class FTargetLayerGroup
|
|
{
|
|
public:
|
|
inline FTargetLayerGroup(const FName& InName, const TBitArray<>& InWeightmapTargetLayerBitIndices)
|
|
: Name(InName)
|
|
, WeightmapTargetLayerBitIndices(InWeightmapTargetLayerBitIndices)
|
|
{}
|
|
|
|
inline FName GetName() const
|
|
{
|
|
return Name;
|
|
}
|
|
|
|
inline const TBitArray<>& GetWeightmapTargetLayerBitIndices() const
|
|
{
|
|
return WeightmapTargetLayerBitIndices;
|
|
}
|
|
|
|
private:
|
|
/**
|
|
* Identifier for this group of target layers
|
|
*/
|
|
FName Name;
|
|
|
|
/**
|
|
* List of weightmaps that belong to this group
|
|
* Each bit in that bit array corresponds to an entry in FMergeContext's AllTargetLayerNames
|
|
*/
|
|
TBitArray<> WeightmapTargetLayerBitIndices;
|
|
};
|
|
|
|
#endif // WITH_EDITOR
|
|
|
|
} //namespace UE::Landscape::EditLayers
|