You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rb Brooke.Hubert, Lonnie.Li, Michael.Balzer #rnx #jira UETOOL-3111, UETOOL-3574 [CL 16618600 by semion piskarev in ue5-main branch]
49 lines
857 B
C++
49 lines
857 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
namespace UE {
|
|
namespace Geometry {
|
|
|
|
class FDynamicMesh3;
|
|
|
|
/**
|
|
* Class that represents a selection in a dynamic mesh.
|
|
*/
|
|
class FDynamicMeshSelection
|
|
{
|
|
public:
|
|
enum class EType
|
|
{
|
|
Vertex,
|
|
Edge,
|
|
Triangle,
|
|
Group
|
|
};
|
|
|
|
const FDynamicMesh3* Mesh = nullptr;
|
|
TSet<int32> SelectedIDs;
|
|
EType Type = EType::Vertex;
|
|
|
|
// Not relevant if the selection type is not Group
|
|
int32 GroupLayer = 0;
|
|
|
|
bool IsEmpty() const
|
|
{
|
|
return SelectedIDs.IsEmpty();
|
|
}
|
|
|
|
bool operator==(const FDynamicMeshSelection& Other)
|
|
{
|
|
return Mesh == Other.Mesh
|
|
&& Type == Other.Type
|
|
&& (Type != EType::Group || GroupLayer == Other.GroupLayer)
|
|
&& SelectedIDs.Num() == Other.SelectedIDs.Num()
|
|
&& SelectedIDs.Includes(Other.SelectedIDs);
|
|
}
|
|
|
|
};
|
|
|
|
}}// end namespace UE::Geometry
|