Files
UnrealEngineUWP/Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Public/PropertySets/PolygroupLayersProperties.h
michael balzer 0d3cc77878 MeshModelingToolset: Minor change to tooltip in PolyGroup layer properties
#rb trivial
#preflight trivial

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18620870 in //UE5/Release-5.0/... via CL 18621114 via CL 18621262
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18621332 by michael balzer in ue5-main branch]
2022-01-14 14:14:20 -05:00

46 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "InteractiveTool.h"
#include "GeometryBase.h"
#include "Polygroups/PolygroupSet.h"
#include "PolygroupLayersProperties.generated.h"
PREDECLARE_USE_GEOMETRY_CLASS(FDynamicMesh3);
/**
* Basic Tool Property Set that allows for selecting from a list of FNames (that we assume are Polygroup Layers)
*/
UCLASS()
class MODELINGCOMPONENTS_API UPolygroupLayersProperties : public UInteractiveToolPropertySet
{
GENERATED_BODY()
public:
/** Select PolyGroup layer to use. */
UPROPERTY(EditAnywhere, Category = "PolyGroup Layer", meta = (DisplayName = "Active PolyGroup", GetOptions = GetGroupLayersFunc))
FName ActiveGroupLayer = "Default";
// Provides set of available group layers
UFUNCTION()
TArray<FString> GetGroupLayersFunc() { return GroupLayersList; }
// internal list used to implement above
UPROPERTY(meta = (TransientToolProperty))
TArray<FString> GroupLayersList;
void InitializeGroupLayers(const FDynamicMesh3* Mesh);
void InitializeGroupLayers(const TSet<FName>& LayerNames);
// return true if any option other than "Default" is selected
bool HasSelectedPolygroup() const;
void SetSelectedFromPolygroupIndex(int32 Index);
UE::Geometry::FPolygroupLayer GetSelectedLayer(const FDynamicMesh3& FromMesh);
};