Files
ryan schmidt 46630c002f ModelingMode: Selection system improvements. Add Disconnect command and various new Selection-Edit Commands
Add UInteractiveCommandResult, UInteractiveCommand::ExecuteCommand() now optionally can return a result subclass
Add UGeometrySelectionEditCommandResult, UGeometrySelectionEditCommand now can optionally return an "output" selection via this type
UGeometrySelectionManager::ExecuteSelectionCommand optionally can restore a selection after a command, via UGeometrySelectionEditCommandResult

Add UDisconnectGeometrySelectionCommand, implements disconnection of selected triangles (ie separates but not into a new mesh)
Add UModifyGeometrySelectionCommand, implements various selection edits (select all, expand to connected, invert, invert connected, expand, contract)
Add IGeometrySelector::InitializeSelectionFromPredicate() and ::UpdateSelectionFromSelection(), implement in UDynamicMeshSelector, used to implement selection edit commands
Add UI to enable new commands in Modeling Mode

#rb none
#preflight 63c047f4305002c64170f6a2

[CL 23667880 by ryan schmidt in ue5-main branch]
2023-01-12 14:52:52 -05:00

24 lines
918 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Selection/SelectionEditInteractiveCommand.h"
#include "DisconnectGeometrySelectionCommand.generated.h"
/**
* UDisconnectGeometrySelectionCommand disconnects the geometric elements identified by the Selection.
* Currently only supports mesh selections (Triangle and Polygroup types)
* Disconnects selected faces, or faces connected to selected edges, or faces connected to selected vertices.
*/
UCLASS()
class MESHMODELINGTOOLS_API UDisconnectGeometrySelectionCommand : public UGeometrySelectionEditCommand
{
GENERATED_BODY()
public:
virtual FText GetCommandShortString() const override;
virtual bool CanExecuteCommandForSelection(UGeometrySelectionEditCommandArguments* Arguments) override;
virtual void ExecuteCommandForSelection(UGeometrySelectionEditCommandArguments* Arguments, UInteractiveCommandResult** Result) override;
};