description: Indexinto ListItems of the initially-selected item, defaults to index 0

code: WidgetArgsType & InitialSelectionIndex &40; int InArg &41;


description: List of selectable options

module: ModelingEditorUI

code: WidgetArgsType & ListItems &40; TArray< TSharedPtr< FComboPanelItem >> InArg &41;


description: Callback called when selection changes

code: WidgetArgsType & OnSelectionChanged &40; const FOnSelectionChanged & InDelegate &41;


className: WidgetArgsType

code: typedef FArguments WidgetArgsType


className: FArguments

code: struct FArguments : public [TSlateBaseNamedArgs< SComboPanel >](API\Runtime\SlateCore\Widgets\TSlateBaseNamedArgs)


className: FComboPanelItem

description: Item in the Combo Flyout (ie selectable option).

code: struct FComboPanelItem

Icon

type: constFSlateBru...

description: Icon

Identifier

type: int

description: Integer identifier. Must be unique for each Item.

Name

type: FText

description: Text label shown as overlay on the icon


code: virtual void FlyoutSelectionChanged ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FComboPanelItem](API\Plugins\ModelingEditorUI\ModelingWidgets\SComboPanel\FComboPanelItem) > SelectedItemIn, [ESelectInfo::Type](API\Runtime\SlateCore\Types\ESelectInfo__Type) SelectInfo )


className: FOnActiveItemChanged

description: Event that fires when selection changes

code: typedef TBaseDelegate_OneParam< void, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FComboPanelItem](API\Plugins\ModelingEditorUI\ModelingWidgets\SComboPanel\FComboPanelItem) > > FOnActiveItemChanged


description: SComboButtonfunctions.


code: void OnMenuOpenChanged ( bool bOpen )


description: Sets the currently selected index without user interaction.

code: void SetSelectionIndex ( int InSelectionIndex )


className: SComboPanel

code: class SComboPanel : public [SCompoundWidget](API\Runtime\SlateCore\Widgets\SCompoundWidget)

ComboButton

type: TSharedPtr<SCo...

Items

type: TArray<TShared...

description: Pointer to the array of data items that we are observing

MissingIcon

type: TSharedPtr<FSl...

description: Icon to use when Item does not have a valid icon

OnSelectionChanged

type: FOnSelectionCha...

description: Delegate to invoke when selection changes.

SelectedItem

type: TSharedPtr<FCo...

TileView

type: TSharedPtr<STi...

TileViewContainer

type: TSharedPtr<SBo...


code: void Construct ( const [FArguments](API\Plugins\ModelingEditorUI\ModelingWidgets\SDraggableBox\FArguments) & InArgs )


code: NamedSlotProperty< FArguments > Content&40;&41;


code: WidgetArgsType & OnDragComplete &40; const FOnDragComplete & InDelegate &41;


code: FArguments & operator&91;&93; &40; const TSharedRef< SWidget > & InChild &41;


code: struct FArguments : public [TSlateBaseNamedArgs< SDraggableBox >](API\Runtime\SlateCore\Widgets\TSlateBaseNamedArgs)


className: FOnDragComplete

code: typedef TBaseDelegate_OneParam< void, const FVector2D & > FOnDragComplete


description: Called when Slate detects that a widget started to be dragged. Usage: A widget can ask Slate to detect a drag. OnMouseDown() reply withFReply::Handled().DetectDrag( SharedThis(this) ). Slate will either send anOnDragDetected()event or do nothing. If the user releases a mouse button or leaves the widget before a drag is triggered (maybe user started at the very edge) then no event will be sent.

code: virtual [FReply](API\Runtime\SlateCore\Input\FReply) OnDragDetected ( const [FGeometry](API\Runtime\SlateCore\Layout\FGeometry) & MyGeometry, const [FPointerEvent](API\Runtime\SlateCore\Input\FPointerEvent) & MouseEvent )


className: SDraggableBox

description: Users probably shouldn't use this class directly; rather, they should useSDraggableBoxOverlay, which will put its contents into a draggable box and properly handle the dragging without the user having to set it up.

code: class SDraggableBox : public [SCompoundWidget](API\Runtime\SlateCore\Widgets\SCompoundWidget)

InnerWidget

type: TSharedPtr<SWi...

OnDragComplete

type: FOnDragComplete

ScreenSpaceOffsetOfGrab

description: Remembers the point in the box that we grabbed (on click, rather than when the drag was confirmed)


description: SWidgetoverrides necessary for box to be draggable.

code: virtual [FReply](API\Runtime\SlateCore\Input\FReply) OnMouseButtonDown ( const [FGeometry](API\Runtime\SlateCore\Layout\FGeometry) & MyGeometry, const [FPointerEvent](API\Runtime\SlateCore\Input\FPointerEvent) & MouseEvent )


code: void Construct ( const [FArguments](API\Plugins\ModelingEditorUI\ModelingWidgets\SDraggableBoxOverlay\FArguments) & InArgs )


description: When true, the positioning of the box is relative to the bottom of the widget rather than the top, so the VerticalPosition in SetBoxPosition is interpreted as distance from the bottom of the containing widget. The choice here depends on how your widget is generally positioned, for instance if it is near the bottom, you want this to be true so that making the window smaller does not immediately clip your box.

code: WidgetArgsType & bPositionRelativeToBottom &40; bool InArg &41;


code: typedef FArguments WidgetArgsType


code: struct FArguments : public [TSlateBaseNamedArgs< SDraggableBoxOverlay >](API\Runtime\SlateCore\Widgets\TSlateBaseNamedArgs)


description: Sets the box position in the overlay. Horizontal position is distance from left, and vertical position is distance from bottom or from top depending on whether bPositionRelativeToBottom == true.

code: void SetBoxPosition ( float HorizontalPosition, float VerticalPosition )


className: SDraggableBoxOverlay

description: Class that can be used to place a draggable box into a viewport or some other large widget as an overlay. Just place the widget that you want to be draggable as the contents ofSDraggableBoxOverlay.

code: class SDraggableBoxOverlay : public [SCompoundWidget](API\Runtime\SlateCore\Widgets\SCompoundWidget)

DraggableBoxPaddingHorizontal

type: float


description: Maximum number of digits of precision that will be displayed for float slider

code: WidgetArgsType & MaxNumFloatDigits &40; int InArg &41;


description: Construct this widget

code: void Construct ( const [FArguments](API\Plugins\ModelingEditorUI\ModelingWidgets\SDynamicNumericEntry\FArguments) & InArgs )


code: WidgetArgsType & Source &40; TSharedPtr< FDataSource > InArg &41;


code: struct FArguments : public [TSlateBaseNamedArgs< SDynamicNumericEntry >](API\Runtime\SlateCore\Widgets\TSlateBaseNamedArgs)


className: FDataSource

code: struct FDataSource

GetUIRange

type: TFunction<TInt...

GetValue

type: TFunction< floa...

SetValue

type: TFunction< void...


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDataSource](API\Plugins\ModelingEditorUI\ModelingWidgets\SDynamicNumericEntry\FDataSource) > MakeSimpleDataSource ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IPropertyHandle](API\Editor\PropertyEditor\IPropertyHandle) > PropertyHandle, [TInterval](API\Runtime\Core\Math\TInterval)< float > ValueRange, [TInterval](API\Runtime\Core\Math\TInterval)< float > UIRange )


description: Called when the slider begins to move. We create a transaction here to undo the property

code: void OnBeginSliderMovement()


description: Called when the slider stops moving. We end the previously created transaction

code: void OnEndSliderMovement ( float NewValue )


code: void OnValueChanged ( float NewValue )


code: void OnValueCommitted ( float NewValue, [ETextCommit::Type](API\Runtime\SlateCore\Types\ETextCommit__Type) CommitInfo )


className: SDynamicNumericEntry

description: SNumericEntryBoxwrapper that supports custom Get/SetValue and dynamic value/UI range

code: class SDynamicNumericEntry : public [SCompoundWidget](API\Runtime\SlateCore\Widgets\SCompoundWidget)

bIsUsingSlider

type: bool

NumericEntry

type: TSharedPtr<SNu...

Source

type: TSharedPtr<FDa...

TypeInterface

type: TSharedPtr<TDe...


code: void Construct ( const [FArguments](API\Plugins\ModelingEditorUI\ModelingWidgets\STickDelegateWidget\FArguments) & InArgs )


code: NamedSlotProperty< FArguments > Content&40;&41;


code: WidgetArgsType & OnTickDelegate &40; const FOnTick & InDelegate &41;


code: typedef FArguments WidgetArgsType


code: FArguments & operator&91;&93; &40; const TSharedRef< SWidget > & InChild &41;


code: struct FArguments : public [TSlateBaseNamedArgs< STickDelegateWidget >](API\Runtime\SlateCore\Widgets\TSlateBaseNamedArgs)


className: FOnTick

code: typedef TBaseDelegate_ThreeParams< void, const [FGeometry](API\Runtime\SlateCore\Layout\FGeometry) &AllottedGeometry, const double InCurrentTime, const float InDeltaTime > FOnTick


description: Ticks this widget with Geometry. Override in derived classes, but always call the parent implementation.

code: virtual void Tick ( const [FGeometry](API\Runtime\SlateCore\Layout\FGeometry) & AllottedGeometry, const double InCurrentTime, const float InDeltaTime )


className: STickDelegateWidget

description: Simple widget that calls its OnTickDelegate in its Tick function, to allow for custom tick behavior via composition instead of having to create a class and override the method, for instance when creating custom slate in-line somewhere.

code: class STickDelegateWidget : public [SCompoundWidget](API\Runtime\SlateCore\Widgets\SCompoundWidget)

OnTickDelegate

type: FOnTick


description: Construct this widget

code: void Construct ( const [FArguments](API\Plugins\ModelingEditorUI\ModelingWidgets\SToolInputAssetComboPanel\FArguments) & InArgs )


description: UClassof Asset to pick. Required, and only one class is supported

code: WidgetArgsType & AssetClassType &40; UClass &42; InArg &41;


description: Sets the type of label used for the asset picker tiles

code: WidgetArgsType & AssetThumbnailLabel &40; EThumbnailLabel::Type InArg &41;


description: Indicates if engine content should always be shown

code: WidgetArgsType & bForceShowEngineContent &40; bool InArg &41;


description: Indicates if plugin content should always be shown

code: WidgetArgsType & bForceShowPluginContent &40; bool InArg &41;


description: (Optional) set of collection-lists, if provided, button bar will be shown with each CollectionSet as an option

code: WidgetArgsType & CollectionSets &40; TArray< FNamedCollectionList > InArg &41;


description: The size of the combo button icon tile

code: WidgetArgsType & ComboButtonTileSize &40; FVector2D InArg &41;


description: Size of the Flyout Panel

code: WidgetArgsType & FlyoutSize &40; FVector2D InArg &41;


description: The size of the icon tiles in the flyout

code: WidgetArgsType & FlyoutTileSize &40; FVector2D InArg &41;


description: Sets the asset selected by the widget before any user made selection occurs.

code: WidgetArgsType & InitiallySelectedAsset &40; FAssetData InArg &41;


description: This delegate is executed each time the Selected Asset is modified

code: WidgetArgsType & OnSelectionChanged &40; const FOnSelectedAssetChanged & InDelegate &41;


description: Target PropertyHandle, selected value will be written here (Note: not required, selected

code: WidgetArgsType & Property &40; TSharedPtr< IPropertyHandle > InArg &41;


description: (Optional) external provider/tracker of Recently-Used Assets. If not provided, Recent Assets area will not be shown.

code: WidgetArgsType & RecentAssetsProvider &40; TSharedPtr< IRecentAssetsProvider > InArg &41;


description: Tooltip for the ComboButton. If Property is defined, this will be ignored.

code: WidgetArgsType & ToolTipText &40; FText InArg &41;


code: typedef FArguments WidgetArgsType


code: struct FArguments : public [TSlateBaseNamedArgs< SToolInputAssetComboPanel >](API\Runtime\SlateCore\Widgets\TSlateBaseNamedArgs)


className: FNamedCollectionList

description: List of Collections with associated Name, used to provide pickable Collection filters

code: struct FNamedCollectionList

CollectionNames

type: TArray<FCollec...

Name

type: FString


className: FOnSelectedAssetChanged

code: typedef TBaseDelegate_OneParam< void, const [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) &AssetData > FOnSelectedAssetChanged


className: FRecentAssetInfo

code: struct FRecentAssetInfo

AssetData

type: FAssetData

Index

type: int


description: SToolInputAssetComboPanelcalls this to get the recent-assets list each time the flyout is opened.

code: TArray< FAssetData > GetRecentAssetsList&40;&41;


description: SToolInputAssetComboPanelcalls this whenever the selected asset changes.

code: void NotifyNewAsset &40; const FAssetData & NewAsset &41;


className: IRecentAssetsProvider

description: IRecentAssetsProviderallows the Client to specify a set of "recently-used" Assets which theSToolInputAssetComboPanelwill try to update as the selected Asset changes

code: class IRecentAssetsProvider


code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > MakeCollectionSetsButtonPanel ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SToolInputAssetPicker](API\Plugins\ModelingEditorUI\ModelingWidgets\SToolInputAssetPicker) > AssetPickerView )


code: virtual void NewAssetSelected ( const [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) & AssetData )


code: virtual [FReply](API\Runtime\SlateCore\Input\FReply) OnAssetThumbnailDoubleClick ( const [FGeometry](API\Runtime\SlateCore\Layout\FGeometry) & InMyGeometry, const [FPointerEvent](API\Runtime\SlateCore\Input\FPointerEvent) & InMouseEvent )


code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ITableRow](API\Runtime\Slate\Widgets\Views\ITableRow) > OnGenerateWidgetForRecentList ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FRecentAssetInfo](API\Plugins\ModelingEditorUI\ModelingWidgets\SToolInputAssetComboPanel\FRecentAssetInfo) > InItem, const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [STableViewBase](API\Runtime\Slate\Widgets\Views\STableViewBase) > & OwnerTable )


code: void RefreshThumbnailFromProperty()


code: void UpdateRecentAssets()


className: SToolInputAssetComboPanel

description: Note that "No Selection" is valid option by default

code: class SToolInputAssetComboPanel : public [SCompoundWidget](API\Runtime\SlateCore\Widgets\SCompoundWidget)

AssetClassType

type: UClass*

AssetThumbnail

type: TSharedPtr<FAs...

CollectionSets

type: TArray<FNamedC...

ComboButton

type: TSharedPtr<SCo...

OnSelectionChanged

type: FOnSelectedAsse...

description: Delegate to invoke when selection changes.

Property

type: TSharedPtr<IPr...

RecentAssetData

type: TArray<TShared...

RecentAssetsProvider

type: TSharedPtr<IRe...


description: Constructs this widget with InArgs

code: void Construct ( const [FArguments](API\Plugins\ModelingEditorUI\ModelingWidgets\SToolInputAssetPicker\FArguments) & InArgs )


description: A struct containing details about how the asset picker should behave

code: WidgetArgsType & AssetPickerConfig &40; FAssetPickerConfig InArg &41;


className: WidgetArgsType

code: typedef FArguments WidgetArgsType


className: FArguments

code: struct FArguments : public [TSlateBaseNamedArgs< SToolInputAssetPicker >](API\Runtime\SlateCore\Widgets\TSlateBaseNamedArgs)


description: SWidgetimplementation.

code: virtual [FReply](API\Runtime\SlateCore\Input\FReply) OnKeyDown ( const [FGeometry](API\Runtime\SlateCore\Layout\FGeometry) & MyGeometry, const [FKeyEvent](API\Runtime\SlateCore\Input\FKeyEvent) & InKeyEvent )


description: Return the associated AssetView

code: const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SAssetView](API\Editor\ContentBrowser\SAssetView) > & GetAssetView() const


description: Update the set of input Assets to be only based on the given set of Collections (or all Assets, if the Collections list is empty)

code: virtual void UpdateAssetSourceCollections ( [TArray](API\Runtime\Core\Containers\TArray)< [FCollectionNameType](API\Developer\CollectionManager\FCollectionNameType) > Collections )


code: virtual ~SToolInputAssetPicker()


className: SToolInputAssetPicker

description: Unless you are really certain you need to use this class directly, it's likely that you are looking forSToolInputAssetComboPanel, which provides a combobox/flyout-style widget suitable for user interface panels.

code: class SToolInputAssetPicker : public [SCompoundWidget](API\Runtime\SlateCore\Widgets\SCompoundWidget)


description: Make an HBox for a label/slider pair, with the label in a fixed-width box (ie no resizing) The Label is taken from the existing label of aUPropertyHandle

code: namespace UE { namespace ModelingUI { [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SHorizontalBox](API\Runtime\SlateCore\Widgets\SHorizontalBox) > UE::ModelingUI::MakeFixedWidthLabelSliderHBox ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IPropertyHandle](API\Editor\PropertyEditor\IPropertyHandle) > LabelHandle, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SDynamicNumericEntry::FDataSource](API\Plugins\ModelingEditorUI\ModelingWidgets\SDynamicNumericEntry\FDataSource) > SliderDataSource, int32 LabelFixedWidth ) } }


description: Make an HBox for two widgets in a details row, with standard padding between them

code: namespace UE { namespace ModelingUI { [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SHorizontalBox](API\Runtime\SlateCore\Widgets\SHorizontalBox) > UE::ModelingUI::MakeTwoWidgetDetailRowHBox ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > Widget1, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > Widget2, float FillWidth1, float FillWidth2 ) } }


description: Run ProcessFunc over each child widget of WidgetType under RootWidget.

code: namespace UE { namespace ModelingUI { void UE::ModelingUI::ProcessChildWidgetsByType ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > & RootWidget, const [FString](API\Runtime\Core\Containers\FString) & WidgetType, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool([TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > &)> ProcessFunc ) } }


description: Create an error-string widget and add it to the Slot argument, to give the (developer) feedback about slate programming errors

code: namespace UE { namespace ModelingUI { template<typename SlotType> void UE::ModelingUI::SetCustomWidgetErrorString ( [FText](API\Runtime\Core\Internationalization\FText) ErrorString, SlotType & Slot ) } }


description: Make a Button that can be clicked to toggle the value of a boolUProperty. When true, the button is highlighted

code: namespace UE { namespace ModelingUI { [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SCheckBox](API\Runtime\Slate\Widgets\Input\SCheckBox) > UE::ModelingUI::MakeBoolToggleButton ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IPropertyHandle](API\Editor\PropertyEditor\IPropertyHandle) > BoolToggleHandle, [FText](API\Runtime\Core\Internationalization\FText) ButtonLabelText, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(bool)> ToggledCallback, int HorzPadding ) } }


code: namespace UE { namespace ModelingUI { [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SHorizontalBox](API\Runtime\SlateCore\Widgets\SHorizontalBox) > UE::ModelingUI::MakeToggleSliderHBox ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IPropertyHandle](API\Editor\PropertyEditor\IPropertyHandle) > BoolToggleHandle, [FText](API\Runtime\Core\Internationalization\FText) ToggleLabelText, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SDynamicNumericEntry::FDataSource](API\Plugins\ModelingEditorUI\ModelingWidgets\SDynamicNumericEntry\FDataSource) > SliderDataSource, int32 ToggleFixedWidth ) } }


description: Wrap a widget in a fixed-width (ie non-resizable) box

code: namespace UE { namespace ModelingUI { [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SBox](API\Runtime\Slate\Widgets\Layout\SBox) > UE::ModelingUI::WrapInFixedWidthBox ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > SubWidget, int32 Width ) } }


description: Binding to the context object makes it so that the overlay gets attached to any subsequently created transform gizmos.

code: bool BindToGizmoContextObject ( [UInteractiveToolsContext](API\Runtime\InteractiveToolsFramework\UInteractiveToolsContext) * ToolsContext )


code: void Construct ( const [FArguments](API\Plugins\ModelingEditorUI\STransformGizmoNumericalUIOverla-\FArguments) & InArgs )


code: [SNumericEntryBox](API\Runtime\Slate\SNumericEntryBox)< double >::[FArguments](API\Plugins\ModelingEditorUI\STransformGizmoNumericalUIOverla-\FArguments) CreateComponentBaseArgs ( FVector3d & TargetVector, int ComponentIndex, [TAttribute](API\Runtime\Core\Misc\TAttribute)< bool > IsEnabled )


code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateRotationComponent ( int ComponentIndex, [TAttribute](API\Runtime\Core\Misc\TAttribute)< bool > IsEnabled )


code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateScaleComponent ( int ComponentIndex, [TAttribute](API\Runtime\Core\Misc\TAttribute)< bool > IsEnabled )


code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateTranslationComponent ( int ComponentIndex, [TAttribute](API\Runtime\Core\Misc\TAttribute)< bool > IsEnabled )


description: Helpers for building the UI when changing gizmo.

code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateWidgetForGizmo ( ETransformGizmoSubElements GizmoElements )


code: NamedSlotProperty< FArguments > Content&40;&41;


description: When true (the default) the panel is positioned by measuring a distance from the bottom of the viewport, and resizing the viewport will keep that distance the same.

code: WidgetArgsType & bPositionRelativeToBottom &40; bool InArg &41;


description: These values determine where the panel is reset whenResetPositionInViewport()is called.

code: WidgetArgsType & DefaultLeftPadding &40; float InArg &41;


description: Usually does not need setting. See comment for SetDefaultLocalReferenceTransform.

code: WidgetArgsType & DefaultLocalReferenceTransform &40; TOptional< FTransform > InArg &41;


code: WidgetArgsType & DefaultVerticalPadding &40; float InArg &41;


code: WidgetArgsType & DisplayToInternalFunction &40; TFunction< FVector3d(const FVector3d &DisplayValue)> InArg &41;


description: Usually do not need setting. See comment for SetCustomDisplayConversionFunctions.

code: WidgetArgsType & InternalToDisplayFunction &40; TFunction< FVector3d(const FVector3d &InternalValue)> InArg &41;


code: FArguments & operator&91;&93; &40; const TSharedRef< SWidget > & InChild &41;


code: WidgetArgsType & TranslationScrubSensitivity &40; double InArg &41;


code: typedef FArguments WidgetArgsType


code: struct FArguments : public [TSlateBaseNamedArgs< STransformGizmoNumericalUIOverlay >](API\Runtime\SlateCore\Widgets\TSlateBaseNamedArgs)


code: virtual bool IsEnabled()


description: Creates a submenu to deal with the numerical UI, for placement in some toolbar by the mode/editor.

code: virtual void MakeNumericalUISubMenu ( [FMenuBuilder](API\Runtime\Slate\Framework\MultiBox\FMenuBuilder) & MenuBuilder )


code: void OnTickWidget ( const [FGeometry](API\Runtime\SlateCore\Layout\FGeometry) & AllottedGeometry, const double InCurrentTime, const float InDeltaTime )


description: Clears all gizmo bindings

code: virtual void Reset()


description: Resets the position of the draggable UI box in the overlay to its default.

code: virtual void ResetPositionInViewport()


description: Allows the positional (translation) copmonent to be displayed in different units than the gizmo world, for instance in a UV editor where the world coordinates are not actually 0 to 1.

code: virtual void SetCustomDisplayConversionFunctions ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< FVector3d(const FVector3d &InternalValue)> InternalToDisplayConversionIn, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< FVector3d(const FVector3d &DisplayValue)> DisplayToInternalConversionIn, double TranslationScrubSensitivityIn )


description: After calling this function, any newly initialized gizmos will be given the provided reference transform as their custom reference transform. This mainly meant to allow the UI to be used in a 2D situation (e.g. UV editor) where the gizmos only have two axes. Normally, we only allow delta mode in such a case, but the 2D editor can provide the used plane's reference transform to allow the gizmos to be usable in destination mode as well.

code: virtual void SetDefaultLocalReferenceTransform ( const [TOptional](API\Runtime\Core\IO\TOptional)< FTransform > & CustomReferenceTransform )


code: virtual void SetEnabled ( bool bEnabledIn )


className: STransformGizmoNumericalUIOverlay

description: MakeNumericalUISubMenu creates a submenu that can be slotted somewhere to enable/disable the UI panel or to reset its position in the viewport.

code: class STransformGizmoNumericalUIOverlay : public [SCompoundWidget](API\Runtime\SlateCore\Widgets\SCompoundWidget)

bIsEnabled

type: bool

DataBinder

type: TSharedPtr<FTr...

description: Holds the functionality that binds the displayed values to the gizmo.

DefaultLeftPadding

type: float

description: The values to which the UI positioning is reset if asked.

DisplayTranslation

description: Currently displayed values.

DraggableBoxOverlay

type: TSharedPtr<SDr...

LastCoordinateSystem

type: EToolContextCoo...

description: We have to respond to coordinate system changes for the gizmo, and to do that we need to be able to poll on tick, since we don't get notifications about it.

TranslationScrubSensitivity

type: double

description: Modifier for scrubbing translation, if we're using custom display functions.

WidgetContents

type: TSharedPtr<SBo...

description: The part of the UI that changes when a different gizmo is chosen.


module: ModelingOperators

code: void Calculate ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh )


className: FMeshBoundaryCache

code: class FMeshBoundaryCache

bIsBoundary

type: TArray< bool >

BoundaryVerts

type: TArray< int32 >


description: Copy the PositionBuffer locations back to the ResultMesh

code: void UpdateResultMeshPositions()


description: Set ability on protected transform.

code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & XForm )


description: Recompute noramls of ResultMesh

code: void UpdateResultMeshNormals()


code: FSimpleMeshProcessingBaseOp ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh )


code: virtual ~FSimpleMeshProcessingBaseOp()


className: FSimpleMeshProcessingBaseOp

description: UpdateResultMeshNormals()recalculates normals

code: class FSimpleMeshProcessingBaseOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

PositionBuffer

type: TArray< FVector...


code: virtual void PostProcessResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress, double MeshCellSize )


code: template<typename TransformType> static FVector3d GetAverageTranslation ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const TransformType > Transforms )


code: virtual ~FVoxelBaseOp()


className: FVoxelBaseOp

code: class FVoxelBaseOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

InputVoxelCount

type: int

MinComponentVolume

description: Inputs


className: EHoleFillOpFillType

code: enum EHoleFillOpFillType { TriangleFan, PolygonEarClipping, Planar, Minimal, Smooth, }


className: ENormalCalculationMethod

code: enum ENormalCalculationMethod { AreaWeighted, AngleWeighted, AreaAngleWeighting, }


className: ERemeshSmoothingType

description: Smoothing modes

code: enum ERemeshSmoothingType { Uniform = 0, Cotangent = 1, MeanValue = 2, }


className: ERemeshType

description: Remeshing modes

code: enum ERemeshType { Standard = 0, FullPass = 1, NormalFlow = 2, }


description: FDynamicMeshOperatorimplementation

code: virtual void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


className: ESplitNormalMethod

code: enum ESplitNormalMethod { UseExistingTopology, FaceNormalThreshold, FaceGroupID, PerTriangle, PerVertex, }


code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & Transform )


code: virtual ~FEditNormalsOp()


className: FEditNormalsOp

code: class FEditNormalsOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

EditTriangles

type: TSet< int >

description: These are indices into OriginalMesh.

NormalCalculationMethod

type: ENormalCalculat...

OriginalMesh

type: TSharedPtr<FDy...

description: Inputs

SplitNormalMethod

type: ESplitNormalMet...


className: FFillOptions

code: struct FFillOptions

bQuickFillSmallHoles

description: Identify and quickly fill single-triangle holes

bRemoveIsolatedTriangles

description: Clean up triangles that have no neighbors


description: FDynamicMeshOperatorimplementation.


className: FHoleFillOp

code: class FHoleFillOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

FillOptions

type: FFillOptions

FillType

type: EHoleFillOpFill...

NewTriangles

description: Output


code: bool FillSingleTriangleHole ( const [FEdgeLoop](API\Runtime\GeometryCore\FEdgeLoop) & Loop, int32 & NewGroupID )


code: static double CalculateTargetEdgeLength ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, int TargetTriCount, double PrecomputedMeshArea )


code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FRemesher](API\Plugins\DynamicMesh\FRemesher) > CreateRemesher ( [ERemeshType](API\Plugins\ModelingOperators\CleaningOps\ERemeshType) Type, [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * TargetMesh )


className: FRemeshMeshOp

code: class FRemeshMeshOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bCollapses

type: bool

bResultMustHaveAttributesEnabled

description: When true, result will have attributes object regardless of whether attributes were discarded or present initially.

bSmoothInFillAreas

description: Control whether or not we want to apply mesh smoothing in "free" areas that have not projected to target surface.

FaceProjectionPassesPerRemeshIteration

description: During each call to RemeshIteration, do this many passes of face-aligned projection.

FillAreaDistanceMultiplier

description: This is used as a multiplier on MaxEdgeLength to determine when we identify points as being in "free" areas.

FillAreaSmoothMultiplier

description: This is used as a multiplier on the Remesher smoothing rate, applied to points identified as being in "free" areas.

GroupBoundaryConstraint

type: EEdgeRefineFlag...

NormalAlignmentSpeed

description: Drag on normal alignment

OriginalMesh

description: Inputs

ProjectionTargetSpatial

type: FDynamicMeshAAB...

RemeshType

type: ERemeshType

SmoothingType

type: ERemeshSmoothin...

SurfaceProjectionSpeed

description: Drag on surface projection


code: virtual ~FRemeshMeshOp()


code: void SetTransform ( const FTransform & Transform )


code: virtual ~FRemoveOccludedTrianglesOp()


className: FRemoveOccludedTrianglesOp

code: class FRemoveOccludedTrianglesOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

ActiveGroupLayer

type: FName

description: Name of the group layer to use if we are setting triangle groups instead of removing occluded triangles

AddRandomRays

description: Random rays to add beyond +/- major axes, for raycast sampling

AddTriangleSamples

description: Add triangle samples per triangle (in addition to TriangleSamplingMethod)

bActiveGroupLayerIsDefault

description: If true, the ActiveGroupLayer is the name of the "default" layer, so we'll use the built-in group IDs

bSetTriangleGroupInsteadOfRemoving

description: If true, we will set triangle group IDs for occluded triangles, rather than deleting the triangles

CreatedGroupID

description: Outputs, used when bSetTriangleGroupInsteadOfRemoving is true

MeshTransforms

type: TArray<FTransf...

MinAreaConnectedComponent

type: double

NormalOffset

description: We nudge points out by this amount to try to counteract numerical issues

OccluderTrees

type: TArray<TShared...

OriginalMesh

description: Inputs

ShrinkRemoval

description: Once triangles to remove are identified, do iterations of boundary erosion, ie contract selection by boundary vertex one-rings

WindingIsoValue

description: Use this as winding isovalue for WindingNumber mode


className: ECSGOperation

description: CSG operation types

code: enum ECSGOperation { DifferenceAB = 0, DifferenceBA = 1, Intersect = 2, Union = 3, }


className: ETrimOperation

code: enum ETrimOperation { TrimA = 0, TrimB = 1, }


className: EMorphologyOperation

description: Morphology operation types

code: enum EMorphologyOperation { Dilate = 0, Contract = 1, Close = 2, Open = 3, }


description: FDynamicMeshOperatorimplementation

code: virtual void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


className: ETrimSide

code: enum ETrimSide { RemoveInside = 0, RemoveOutside = 1, }


description: IDs of any newly-created boundary edges in the result mesh.

code: const [TArray](API\Runtime\Core\Containers\TArray)< int > & GetCreatedBoundaryEdges() const


code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & Transform )


code: virtual ~FBooleanMeshesOp()


className: FBooleanMeshesOp

code: class FBooleanMeshesOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bTryCollapseExtraEdges

description: If true, try to do edge-collapses along cut edges to remove unnecessary edges inserted by cut

CSGOperation

type: ECSGOperation

description: Inputs

TrimOperation

type: ETrimOperation

TrimSide

type: ETrimSide

TryCollapseExtraEdgesPlanarThresh

type: float

description: Angle threshold in degrees used for testing if two triangles should be considered coplanar, or two lines collinear


className: FCornerInfo

description: Optional: information to weld corners along the Z axis to create ramps/pyramids/pyramid cutaways.

code: struct FCornerInfo

WeldedAtBase

description: "Base" refers to the 0-3 indexed corners in FOrientedBox3d, and the flags here are true if the vertex is welded to its Z axis neighbor.


description: Calculate the result of the operator. This will populate the internal Mesh and Transform.


code: virtual ~FCubeGridBooleanOp()


className: FCubeGridBooleanOp

description: Operator meant to be used withUCubeGridToolthat adds or subtracts a box to/from an input mesh, with options to weld the box's corners to make ramps/corners

code: class FCubeGridBooleanOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bCrosswiseDiagonal

description: Only relevant when CornerInfo is used.

bKeepInputTransform

description: When true, mesh is constructed such that ResultTransform is InputTransform.

bSubtract

description: Determines whether the box is added or subtracted from the mesh.

ChangedTids

type: TSharedPtr<TAr...

description: Will be reset to a container storing tids whose positions or connectivity changed.

CornerInfo

type: TSharedPtr<FCo...

FaceUVOrientations

type: TArray< int32, ...

description: For each face of the op box (indexed as inIndexUtil::BoxFaces), determines the orientation in which the UV's should be assigned, which can be imagined as number of counterclockwise rotations of the face in the UV plane while keeping the corner labels the same.

InputMesh

type: TSharedPtr< con...

description: The mesh to add to or subtract from.

OpMeshHeightUVOffset

description: When setting UV's on the box, the component affected by height is adjusted by this offset.

OpMeshMaterialID

description: The material ID to give to triangles in the operator mesh.

OpMeshSideGroups

description: Both Input and Output: When not set to InvalidID, these will control the setting of the side groups in the operator mesh.

WorldBox

description: Box from which to generate the second mesh.


className: ECapFillMode

code: enum ECapFillMode { None, Delaunay, EarClipping, CenterFan, }


code: virtual ~FCurveSweepOp()


className: FCurveSweepOp

description: Operation for sweeping a profile curve along a sweep curve to create a mesh.

code: class FCurveSweepOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bProfileCurveIsClosed

type: bool

description: If true, the last profile curve point will be considered connected to the first.

bSharpNormals

description: Whether adjacent triangles should share averaged normals or have their own (to give sharpness)

bSweepCurveIsClosed

description: If true, the last sweep point will be considered connected to the first.

bUVScaleRelativeWorld

description: If true, UVs are scaled to keep a consistent scale across differently sized geometry.

bUVsSkipFullyWeldedEdges

description: Whether fully welded edges (welded vertex to welded vertex) in the profile curve should affect the UV layout, since such edges don't generate triangles.

CapFillMode

type: ECapFillMode

description: What kind of cap to create.

DiagonalTolerance

description: When QuadSplitMode is ShortestDiagonal, biases one of the diagonals so that symmetric quads are split uniformly.

PolygonGroupingMode

type: EProfileSweepPo...

ProfileCurve

type: TArray< FVector...

description: Inputs.

ProfileVerticesToWeld

type: TSet< int32 >

QuadSplitMode

type: EProfileSweepQu...

SharpNormalAngleTolerance

description: When using sharp normals, the degree difference that adjacent triangles can have in their normals for them to be considered "coplanar" and therefore share normals.

UnitUVInWorldCoordinates

description: When bUVScaleRelativeWorld is true, the size in world coordinates of 1 UV coordinate.

UVOffset

description: These values will be added to the generated UV's after applying UVScale.

UVScale

description: Generated UV's will be multiplied by these values.


className: FMirrorOp

code: class FMirrorOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bAllowBowtieVertexCreation

description: Whether, when welding, new bowtie vertex creation should be allowed.

bAppendToOriginal

description: If true, the mirrored portion is appended to the original.

bCropFirst

description: Whether to crop the result first along the plane.

bSimplifyAlongNewEdges

description: Whether to locally simplify the new edges created when cropping along the plane.

bWeldAlongPlane

description: Whether vertices on the mirror plane should be welded. Only relevant if bAppendToOriginal is true.

OriginalMesh

description: Inputs.

PlaneTolerance

description: Tolerance to use when bCropFirst or bWeldAlongPlane is true.


description: IDs of any newly-created boundary edges in the result mesh.

code: [TArray](API\Runtime\Core\Containers\TArray)< int > GetCreatedBoundaryEdges() const


code: virtual ~FSelfUnionMeshesOp()


className: FSelfUnionMeshesOp

code: class FSelfUnionMeshesOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bTryCollapseExtraEdges

description: If true, try to do edge-collapses along cut edges to remove unnecessary edges inserted by cut

CombinedMesh

description: Inputs

TryCollapseExtraEdgesPlanarThresh

description: Angle threshold in degrees used for testing if two triangles should be considered coplanar, or two lines collinear


description: FDynamicMeshOperatorimplementation


code: virtual ~FVoxelBlendMeshesOp()


className: FVoxelBlendMeshesOp

code: class FVoxelBlendMeshesOp : public [UE::Geometry::FVoxelBaseOp](API\Plugins\ModelingOperators\BaseOps\FVoxelBaseOp)

Meshes

description: Inputs

Transforms

type: TArray< FTransf...


code: virtual ~FVoxelMorphologyMeshesOp()


className: FVoxelMorphologyMeshesOp

code: class FVoxelMorphologyMeshesOp : public [UE::Geometry::FVoxelBaseOp](API\Plugins\ModelingOperators\BaseOps\FVoxelBaseOp)

Distance

type: double

Meshes

description: Inputs

Operation

type: EMorphologyOper...

type: TArray<FTransf...


code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & Transform )


code: virtual ~FVoxelSolidifyMeshesOp()


className: FVoxelSolidifyMeshesOp

code: class FVoxelSolidifyMeshesOp : public [UE::Geometry::FVoxelBaseOp](API\Plugins\ModelingOperators\BaseOps\FVoxelBaseOp)

Meshes

type: TArray<TShared...

description: Inputs

SurfaceSearchSteps

type: int


className: ECombineCurvesMethod

code: enum ECombineCurvesMethod { LeaveSeparate, Union, Intersect, Difference, ExclusiveOr, }


className: EFlattenCurveMethod

code: enum EFlattenCurveMethod { DoNotFlatten, ToBestFitPlane, AlongX, AlongY, AlongZ, }


className: EOffsetJoinMethod

code: enum EOffsetJoinMethod { Square, Miter, Round, }


className: EOffsetClosedCurvesMethod

code: enum EOffsetClosedCurvesMethod { DoNotOffset, OffsetOuterSide, OffsetBothSides, }


className: EOpenCurveEndShapes

code: enum EOpenCurveEndShapes { Square, Round, Butt, }


className: EOffsetOpenCurvesMethod

code: enum EOffsetOpenCurvesMethod { TreatAsClosed, Offset, }


description: Inputs

code: void AddSpline ( [USplineComponent](API\Runtime\Engine\Components\USplineComponent) * Spline, double ErrorTolerance )


description: Calculate the result of the operator. This will populate the internal Mesh and Transform.

code: virtual void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: virtual ~FTriangulateCurvesOp()


className: FTriangulateCurvesOp

description: FTriangulateCurvesOptriangulates polygons/paths generated fromUSplineComponentinputs.

code: class FTriangulateCurvesOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

CombineMethod

type: ECombineCurvesM...

FlattenMethod

type: EFlattenCurveMe...

OffsetClosedMethod

type: EOffsetClosedCu...

OffsetJoinMethod

type: EOffsetJoinMeth...

OffsetOpenMethod

type: EOffsetOpenCurv...

OpenEndShape

type: EOpenCurveEndSh...

UVScaleFactor

description: Scaling applied to the default UV values.


description: FDynamicMeshOperatorimplementation.


description: Converts LoopEids into pairs of endpoints, since ResultMesh is inaccessible without extracting it. Can be used to render the added loops. Clears EndPointPairsOut before use.

code: void GetLoopEdgeLocations ( [TArray](API\Runtime\Core\Containers\TArray)< TPair< FVector3d, FVector3d >> & EndPointPairsOut ) const


code: virtual ~FEdgeLoopInsertionOp()


className: FEdgeLoopInsertionOp

code: class FEdgeLoopInsertionOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bInputsAreProportions

type: bool

ChangedTids

type: TSharedPtr<TSe...

description: IDs of triangles in the OriginalMesh that were changed or deleted.

InputLengths

type: TArray< double ...

LoopEids

description: Outputs: Edge IDs in the ResultMesh corresponding to the loop.

Mode

type: FGroupEdgeInser...

OriginalMesh

type: TSharedPtr< con...

description: Inputs:

ProblemGroupEdgeIDs

description: IDs of group edges in OriginalTopology that surround non-quad-like regions that stopped the loop.

ResultTopology

type: TSharedPtr<FGr...


description: Converts GroupEdgeEids into pairs of endpoints, since ResultMesh is inaccessible without extracting it. Can be used to render the added loops. Clears EndPointPairsOut before use.

code: void GetEdgeLocations ( [TArray](API\Runtime\Core\Containers\TArray)< TPair< FVector3d, FVector3d >> & EndPointPairsOut ) const


code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & Transform )


code: virtual ~FGroupEdgeInsertionOp()


className: FGroupEdgeInsertionOp

code: class FGroupEdgeInsertionOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bShowingBaseMesh

description: This overrides the behavior to revert to the original mesh when CalculateResult is called.

ChangedTids

description: Triangle ID's in the OriginalMesh that got changed or deleted in the operation.

Eids

type: TSet< int32 >

description: Edge ID's in the ResultMesh that together make up the new group edge.

OriginalMesh

description: Inputs:

VertexTolerance

type: double


description: FDynamicMeshOperatorimplementation


className: ObjectIndexAttribute

code: static const [FName](API\Runtime\Core\UObject\FName) ObjectIndexAttribute = "ObjectIndexAttribute";


className: FPlaneCutOp

code: class FPlaneCutOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

LocalPlaneOrigin

description: Inputs


code: virtual bool BooleanExtrude ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


className: EDirectionMode

code: enum EDirectionMode { SelectedTriangleNormals = 0, SelectedTriangleNormalsEven = 1, VertexNormals = 2, SingleDirection = 3, }


className: EExtrudeMode

code: enum EExtrudeMode { MoveAndStitch, Boolean, }


code: virtual bool MoveAndStitchExtrude ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


className: FExtrudeOp

code: class FExtrudeOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bShellsToSolids

description: Controls whether extruding an entire open-border patch should create a solid or an open shell

bUseColinearityForSettingBorderGroups

description: Used when setting groups for the sides when the extrusion includes a mesh border.

DirectionMode

type: EDirectionMode

ExtrudedFaceNewGids

type: TArray< int32 >

description: Outputs.

ExtrudeMode

type: EExtrudeMode

MeshSpaceExtrudeDirection

description: Only used if DirectionMode is SingleDirection.

OriginalMesh

description: Inputs:

UVScaleFactor

type: float


description: Subclasses must implement this function, it should update ResultMesh

code: virtual void CalculateOffset ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: void Offset ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: void Offset_Smoothed ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: FIterativeOffsetMeshOp ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh )


className: FIterativeOffsetMeshOp

code: class FIterativeOffsetMeshOp : public [UE::Geometry::FMeshOffsetBaseOp](API\Plugins\ModelingOperators\DeformationOps\FMeshOffsetBaseOp)


code: FLaplacianOffsetMeshOp ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh )


className: FLaplacianOffsetMeshOp

code: class FLaplacianOffsetMeshOp : public [UE::Geometry::FMeshOffsetBaseOp](API\Plugins\ModelingOperators\DeformationOps\FMeshOffsetBaseOp)


description: FDynamicMeshOperatorimplementation.

code: virtual void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: FLatticeDeformerOp ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3), ESPMode::ThreadSafe > InOriginalMesh, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [UE::Geometry::FFFDLattice](API\Plugins\DynamicMesh\Operations\FFFDLattice), ESPMode::ThreadSafe > InLattice, const [TArray](API\Runtime\Core\Containers\TArray)< FVector3d > & InLatticeControlPoints, [UE::Geometry::ELatticeInterpolation](API\Plugins\DynamicMesh\Operations\UE__Geometry__ELatticeInterpolat-) InInterpolationType, bool bInDeformNormals )


className: FLatticeDeformerOp

code: class FLatticeDeformerOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

Lattice

type: constTSharedPt...

description: Inputs.

LatticeControlPoints

type: constTArray< F...


code: void CalculateOffset ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


description: signed offset distance at vertex, transformed by weight map iv applicable

code: double GetOffsetDistance ( int32 VertexID, double DefaultValue ) const


code: FMeshOffsetBaseOp ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh )


className: FMeshOffsetBaseOp

description: Base class for Mesh Offset operations (ie displacement along some kind of normal) Optionally duplicates input mesh and joins the two together, either by welding along shared border or creating quad-strip join.

code: class FMeshOffsetBaseOp : public [UE::Geometry::FSimpleMeshProcessingBaseOp](API\Plugins\ModelingOperators\BaseOps\FSimpleMeshProcessingBaseOp)

BaseNormals

type: TSharedPtr<FMe...

BoundaryCache

type: FMeshBoundaryCa...

OffsetRange

description: Positive range of offset distances (default offset will be max value unless there is a weightmap)

OffsetSign

description: Sign of offset, should be +1 or -1


description: pointer to internal progress object which can be passed to expensive child computations


description: true if the task should stop computation

code: bool IsAborted() const


description: Set the abort source flag.

code: void SetAbortSource ( bool * bAbortFlagLocation )


code: FAbortableBackgroundTask()


className: FAbortableBackgroundTask

description: AFProgressCancelobject can be returned which will allow expensive computations to check the value of this internal flag.

code: class FAbortableBackgroundTask : public [FNonAbandonableTask](API\Runtime\Core\Async\FNonAbandonableTask)


description: Tells the child FAbandonableTask to terminate itself, via the bAbort flag passed in SetAbortSource, and then starts aTDeleterTaskthat waits for completion to delete this task.

code: void CancelAndDelete()


code: template<typename Arg0Type, typename... ArgTypes> FAsyncTaskExecuterWithAbort ( Arg0Type && Arg0, ArgTypes &&... Args )


className: FAsyncTaskExecuterWithAbort

description: keep in mind that the target TTask may not terminate immediately (hence all the machinery). It may continue to use resources/CPU for some time.

code: template<typename TTask> class FAsyncTaskExecuterWithAbort : public [FAsyncTask< TTask >](API\Runtime\Core\Async\FAsyncTask)

bAbort

description: Set to true to abort the child task.


code: bool PollProgress ( float & OutProgressFrac, [FText](API\Runtime\Core\Internationalization\FText) & OutProgressMessage )


code: template<typename Arg0Type, typename... ArgTypes> FAsyncTaskExecuterWithProgressCancel ( Arg0Type && Arg0, ArgTypes &&... Args )


className: FAsyncTaskExecuterWithProgressCancel

description: An extension ofFAsyncTaskExecuterWithAbortthat requires the task have a GetProgress() function Intended to be used withFAbortableBackgroundTaskProvides a PollProgress method to report out task progress

code: template<typename TTask> class FAsyncTaskExecuterWithProgressCancel : public [UE::Geometry::FAsyncTaskExecuterWithAbort< TTask >](API\Plugins\ModelingOperators\FAsyncTaskExecuterWithAbort)

LastProgressMessage

type: FText

Progress

type: FProgressCancel...


description: Calculate the result of the operator. This will populate the internal Mesh and Transform.

code: void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


description: ownership of the internal mesh thatCalculateResult()produced


description: the result information returned byCalculateResult()

code: const [FGeometryResult](API\Runtime\GeometryCore\Util\FGeometryResult) & GetResultInfo() const


description: the transform applied to the mesh produced byCalculateResult()

code: const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & GetResultTransform() const


description: Set the output information

code: virtual void SetResultInfo ( const [FGeometryResult](API\Runtime\GeometryCore\Util\FGeometryResult) & Info )


description: Set the output transform

code: virtual void SetResultTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & Transform )


code: virtual ~FDynamicMeshOperator()


description: Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finishStartupModule(). This means that, as long as a module references dependent modules in it'sStartupModule(), it can safely reference those dependencies inShutdownModule()as well.

code: virtual void ShutdownModule()


className: FDynamicMeshOperator

description: FDynamicMeshOperatoris a base interface for operator implementations that can produce aFDynamicMesh3with associated FTransformSRT3d. This class exists so we can write generic code that works with any type of mesh operation of this style.

code: class FDynamicMeshOperator

ResultInfo

type: FGeometryResult

ResultMesh

type: TUniquePtr<FDy...


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


className: FModelingOperatorsModule

code: class FModelingOperatorsModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


code: virtual ~IDynamicMeshOperatorFactory()


code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TGenericDataOperator](API\Plugins\ModelingOperators\TGenericDataOperator)< ResultType > > MakeNewOperator()


className: IDynamicMeshOperatorFactory

description: AIDynamicMeshOperatorFactoryis a base interface to a factory that creates FDynamicMeshOperators

code: class IDynamicMeshOperatorFactory


code: virtual ~IGenericDataOperatorFactory()


className: IGenericDataOperatorFactory

description: AIDynamicMeshOperatorFactoryis a base interface to a factory that createsTGenericDataOperatorinstances that create the given ResultType

code: template<typename ResultType> class IGenericDataOperatorFactory


className: EUVProjectionMethod

code: enum EUVProjectionMethod { Box, Cylinder, Plane, ExpMap, }


description: FDynamicMeshOperatorimplementation

code: virtual void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: virtual bool CalculateResult_Basic ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: virtual bool CalculateResult_RegionOptimization ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: void CollectIslandComponentsPerTile ( const [FDynamicMeshUVOverlay](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshUVOverlay) & UVOverlay, [TArray](API\Runtime\Core\Containers\TArray)< TileConnectedComponents > & ComponentsPerTile, bool & UseExistingUVTopology )


description: Check if operation is valid to do work. It may not be valid if there are conflicting or inconsistent options passed to it from the user.

code: bool IsValid() const


code: void NormalizeUVAreas ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, [FDynamicMeshUVOverlay](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshUVOverlay) * Overlay, const TileConnectedComponents & TileComponents, float GlobalScale )


description: Set ability on protected transform.

code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & XForm )


code: virtual ~FRecomputeUVsOp()


className: FRecomputeUVsOp

code: class FRecomputeUVsOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bAutoRotate

type: bool

description: Orientation control

bMergingOptimization

description: Patch Merging options

bNormalizeAreas

description: Area scaling

bPackToOriginalBounds

description: Individual packing.

bPackUVs

description: Atlas Packing parameters.

bPreserveIrregularity

description: Spectral Conformal Map Options

bUDIMsEnabled

description: UDIM options.

InputGroups

description: Source groups (optional)

InputMesh

type: TSharedPtr<FDy...

description: Source mesh

IslandMode

type: ERecomputeUVsIs...

NormalSmoothingRounds

description: ExpMap Options

Selection

type: TOptional<TSet...

description: Selection.

UnwrapType

type: ERecomputeUVsUn...

UVLayer

description: UV layer.


code: void ExecutePacker ( [FDynamicMeshUVPacker](API\Plugins\DynamicMesh\Parameterization\FDynamicMeshUVPacker) & Packer )


code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & Transform )


className: FUVLayoutOp

code: class FUVLayoutOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

OriginalMesh

description: Inputs

TextureResolution

type: int

TextureResolutionPerUDIM

type: TOptional<TMap...

UVLayoutMode

type: EUVLayoutOpLayo...


code: virtual void CalculateResult_Box ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: virtual void CalculateResult_Plane ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: virtual void CalculateResult_Cylinder ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: virtual ~FUVProjectionOp()


code: virtual void CalculateResult_ExpMap ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


className: FUVProjectionOp

code: class FUVProjectionOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

BlendWeight

type: double

description: ExpMap parameters for modifying normals.

CylinderSplitAngle

type: float

MeshToProjectionSpace

description: Transform from Mesh into space of Projection Geometry

OriginalMesh

description: Inputs

ProjectionMethod

type: EUVProjectionMe...

TriangleROI

type: TSharedPtr<TAr...

UVOrigin

description: Position to use as UV origin

UVRotationAngleDeg

description: Rotation applied to computed UVs

UVScale

description: Scale applied to computed UVs

UVTranslate

description: Translation applied to computed UVs


description: Forward declarations

code: namespace UE { namespace Geometry { enum ERecomputeUVsUnwrapType { ExpMap = 0, ConformalFreeBoundary = 1, SpectralConformal = 2, } } }


description: Forward declarations

code: namespace UE { namespace Geometry { enum ERecomputeUVsIslandMode { PolyGroups = 0, UVIslands = 1, } } }


description: Forward declarations

code: namespace UE { namespace Geometry { enum EUVLayoutOpLayoutModes { TransformOnly = 0, RepackToUnitRect = 1, StackInUnitRect = 2, Normalize = 3, } } }


description: Factory


className: URecomputeUVsOpFactory

description: Inherits fromUObjectso that it can hold a strong pointer to the settingsUObject, which needs to be aUObjectto be displayed in the details panel.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class URecomputeUVsOpFactory : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [UE::Geometry::IDynamicMeshOperatorFactory](API\Plugins\ModelingOperators\IDynamicMeshOperatorFactory)

GetSelectedUVChannel

type: TUniqueFunction...

Settings

type: TObjectPtr<URe...


description: IDynamicMeshOperatorFactory API.


className: UUVLayoutOperatorFactory

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVLayoutOperatorFactory : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [UE::Geometry::IDynamicMeshOperatorFactory](API\Plugins\ModelingOperators\IDynamicMeshOperatorFactory)

type: TObjectPtr<UUV...

TargetTransform

type: FTransform


code: virtual void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


description:
Outputs Compute result applied directly to EditMesh
true on success, false on error or if Progress is cancelled

code: virtual bool CalculateResultInPlace ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & EditMesh, [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


className: ESelectionShapeModifierMode

description: ParametersModifier applied to the selected triangles during extrusion

code: enum ESelectionShapeModifierMode { None = 0, FlattenToPlane = 1, RaycastToPlane = 2, }


code: virtual ~FLinearExtrusionOp()


className: FLinearExtrusionOp

description: LinearExtrusionOp extrudes a set of triangles of a mesh in a linear direction, with various options for how to process that extrusion.

code: class FLinearExtrusionOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bInferGroupsFromNeighbours

description: Assign new groups to regions of the extrusion "tube" based on the existing adjacent groups before extrusion.

bInferMaterialID

description: If true, Material IDs around the border of the extrude area are propagated "down" the extrusion tube

bNewGroupPerSubdivision

description: If true, assign a separate group for each subdivision, otherwise all subdivisions have the same group

bRecomputeNormals

description: Determine whether normals should be recomputed

bRemapExtrudeGroups

description: Assign new GroupIDs to each input GroupID in the extrude area.

bShellsToSolids

description: If bShellsToSolids is true, patches surrounded by mesh boundaries will be extruded into closed solids instead of open shells

bUseColinearityForSettingBorderGroups

description: (this parameter may not be relevant and perhaps should be removed...) Used when setting groups for the sides when the extrusion includes a mesh border.

bUVIslandPerGroup

description: If true, assign a new UV island for each new group, otherwise each disconnected extrusion tube is unwrapped to a single UV island

CreaseAngleThresholdDeg

description: "cut" any group that crosses the edge into two groups

NumSubdivisions

description: Number of subdivisions along the extrusion "tubes"

OriginalMeshShared

type: TSharedPtr<FSh...

description: InputsHandle to the source DynamicMesh

RegionModifierMode

type: ESelectionShape...

description: Current modifier applied to selection region

Scale

description: End scale of the Extrusion, relative to initial scale (1,1,1)

SetMaterialID

description: Constant Material ID to set along the extrusion tube

StartFrame

description: Initial frame of the Extrusion

ToFrame

description: End frame of the Extrusion

TriangleSelection

type: TArray< int32 >

description: Triangles of the OriginalMesh that should be extruded

UVScaleFactor

description: Scaling applied to the default UV values


className: EOffsetComputationMode

description: Parameters

code: enum EOffsetComputationMode { VertexNormals = 0, FaceNormals = 1, ApproximateConstantThickness = 2, }


code: virtual ~FRegionOffsetOp()


className: FRegionOffsetOp

description: RegionOffsetOp extrudes a set of triangles of a mesh in a linear direction, with various options for how to process that extrusion.

code: class FRegionOffsetOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bInferGroupsFromNeighbours

type: bool

OffsetMode

type: EOffsetComputat...

OriginalMeshShared

description: InputsHandle to the source DynamicMesh


className: ERecomputeUVsPropertiesIslandMode

code: enum ERecomputeUVsPropertiesIslandMode { PolyGroups = 0, ExistingUVs = 1, }


className: ERecomputeUVsPropertiesUnwrapType

code: enum ERecomputeUVsPropertiesUnwrapType { ExpMap = 0, Conformal = 1, SpectralConformal = 2, IslandMerging = 3, }


className: ERecomputeUVsPropertiesLayoutType

code: enum ERecomputeUVsPropertiesLayoutType { None, Repack, NormalizeToExistingBounds, NormalizeToBounds, NormalizeToWorld, }


className: ERecomputeUVsToolOrientationMode

code: enum ERecomputeUVsToolOrientationMode { None, MinBounds, }


className: EUVLayoutType

description: UV Layout Strategies for the UV Layout Tool

code: enum EUVLayoutType { Transform, Stack, Repack, Normalize, }


className: URecomputeUVsToolProperties

AutoRotation

type: ERecomputeUVsTo...

description: Type of automatic rotation applied to each UV island

bEnableUDIMLayout

description: Enable UDIM aware layout and keep islands within their originating UDIM tiles when laying out.

bPreserveIrregularity

description: If enabled, reduces distortion for meshes with triangles of vastly different sizes, This is only enabled if the Unwrap Type is set to Spectral Conformal.

EditCondition

description: Number of smoothing steps to apply; this slightly increases distortion but produces more stable results.

IslandGeneration

type: ERecomputeUVsPr...

description: Generation method for initial UV islands.

LayoutType

description: Uniformly scale and translate UV islands collectively to pack them into the unit square, i.e. fit between 0 and 1 with no overlap.

MergingAngleThreshold

type: HideEditConditi...

UnwrapType

description: Type of UV flattening algorithm to use


className: UUVLayoutProperties

description: UV Layout Settings

bAllowFlips

description: Allow the Repack layout type to flip the orientation of UV islands to save space.

LayoutType

type: EUVLayoutType

description: Type of layout applied to input UVs

Scale

description: Uniform scale applied to UVs after packing

TextureResolution

type: int

description: Expected resolution of the output textures; this controls spacing left between UV islands to avoid interpolation artifacts

Translation

description: Translation applied to UVs after packing, and after scaling


code: void SetTransformHierarchyFromReferenceSkeleton ( const [FReferenceSkeleton](API\Runtime\Engine\FReferenceSkeleton) & InRefSkeleton )


code: virtual ~FSkinBindingOp()


className: FSkinBindingOp

code: class FSkinBindingOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

BindType

type: ESkinBindingTyp...

OriginalMesh

type: TSharedPtr<FDy...

description: The transform hierarchy to bind to.

ProfileName

type: FName

Stiffness

type: float

TransformHierarchy

type: TArray< TPair< ...


description: Forward declarations

code: namespace UE { namespace Geometry { enum ESkinBindingType { DirectDistance = 0, GeodesicVoxel = 1, } } }


code: FCotanSmoothingOp ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [FSmoothingOpBase::FOptions](API\Plugins\ModelingOperators\SmoothingOps\FSmoothingOpBase\FOptions) & OptionsIn )


description: Base class overrides this. Results in updated ResultMesh.

code: virtual void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


className: FCotanSmoothingOp

code: class FCotanSmoothingOp : public [UE::Geometry::FSmoothingOpBase](API\Plugins\ModelingOperators\SmoothingOps\FSmoothingOpBase)


description: Apply smoothing. results in an updated ResultMesh.


code: FIterativeSmoothingOp ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [FSmoothingOpBase::FOptions](API\Plugins\ModelingOperators\SmoothingOps\FSmoothingOpBase\FOptions) & OptionsIn )


className: FIterativeSmoothingOp

code: class FIterativeSmoothingOp : public [UE::Geometry::FSmoothingOpBase](API\Plugins\ModelingOperators\SmoothingOps\FSmoothingOpBase)


code: void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


className: FOptions

code: struct FOptions

BaseNormals

description: Mesh normals calculated for input mesh

BoundarySmoothAlpha

description: Value in range [0,1] where 0 is no smoothing and 1 is full smoothing

bSmoothBoundary

description: If true smooth the boundary, otherwise keep it fixed

bUniform

description: If true use uniform weights, otherwise use something better

bUseImplicit

description: If true use implicit smoothing (where that is possible - depends on smoother?)

Iterations

description: Number of iterations for iterative smoothing

NormalOffset

type: double

description: Offset used by some smoothers

SmoothPower

description: Unconstrained value in range [0,FMathf::MaxValue] with 0=NoSmoothing and MaxValue=FullySmoothed Used by weighted implicit smoothing where weight is somewhat arbitrary...

WeightClamp

description: Use this value to clamp weights (eg for clamped mean value)


description: Set ability on protected transform.

code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & XForm )


description: Copy the PositionBuffer locations back to the ResultMesh and recompute normal if it exists.

code: void UpdateResultMesh()


code: FSmoothingOpBase ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [FOptions](API\Plugins\ModelingOperators\SmoothingOps\FSmoothingOpBase\FOptions) & OptionsIn )


code: ~FIterativeSmoothingOp()


code: virtual ~FSmoothingOpBase()


className: FSmoothingOpBase

code: class FSmoothingOpBase : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

PositionBuffer

type: TArray< FVector...

SmoothOptions

type: FOptions


description: Copies over the original mesh into result mesh, and initializes ObjectToGizmo in preparation to whatever work the base class does. Note that the function will return if OriginalMesh was null but doesn't have a way to log the error, so the base class should check OriginalMesh itself as well.


className: FBendMeshOp

code: class FBendMeshOp : public [UE::Geometry::FMeshSpaceDeformerOp](API\Plugins\ModelingOperators\SpaceDeformerOps\FMeshSpaceDeformerOp)


className: EFlareType

code: enum EFlareType { SinFlare = 0, SinSqrFlare = 1, LinearFlare = 2, }


className: FFlareMeshOp

code: class FFlareMeshOp : public [UE::Geometry::FMeshSpaceDeformerOp](API\Plugins\ModelingOperators\SpaceDeformerOps\FMeshSpaceDeformerOp)

FlarePercentX

description: 0% does nothing, 100% moves 2x away from Z axis at extremal point, -100% squishes down to Z axis at extremal point.

FlareType

type: EFlareType


code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & Transform )


className: FMeshSpaceDeformerOp

code: class FMeshSpaceDeformerOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

LowerBoundsInterval

description: The lower bound of the region of space that the operator affects, relative to the gizmo position.

ObjectToGizmo

type: FMatrix

description: Transform, including translation, to gizmo space

OriginalMesh

type: TSharedPtr< con...

description: Inputs.

UpperBoundsInterval

description: The upper bound of the region of space that the operator affects, relative to the gizmo position.


className: FTwistMeshOp

code: class FTwistMeshOp : public [UE::Geometry::FMeshSpaceDeformerOp](API\Plugins\ModelingOperators\SpaceDeformerOps\FMeshSpaceDeformerOp)

bLockBottom

type: bool


description: Cancel the active computation immediately and do not start a new one

code: void CancelActiveCompute()


description: Return status of the active background computation.


className: EBackgroundComputeTaskState

code: enum EBackgroundComputeTaskState { NotActive = 0, ComputingResult = 1, WaitingToCancel = 2, }


description: The last computed Operator. This may only be called once, the caller then owns the Operator.

code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< OpType > ExtractResult()


description: Cancel the active computation if one is running, after a delay of CancelActiveOpDelaySeconds. Then start a new one.

code: void NotifyActiveComputeInvalidated()


description: duration in seconds of current computation

code: double GetElapsedComputeTime() const


className: FStatus

code: struct FStatus

ElapsedTime

description: If TaskStatus == ValidResultAvailable then this is the time spent computing the (valid) result if TaskStatus == DirtyResultAvailable then this is the time spent computing the (dirty) result if TaskStatus == Aborted then this is the time spent computing the result before the task was aborted if TaskStatus == InProgress then this is the time spent computing the result so far if TaskStatus == NotComputing then this is the time spent not computing anything

TaskStatus

type: EBackgroundComp...


code: TBackgroundModelingComputeSource ( OpTypeFactory * OperatorSourceIn )


code: ~TBackgroundModelingComputeSource()


description: TBackgroundModelingComputeSourcetemplate implementation

code: void Tick ( float DeltaTime )


className: TBackgroundModelingComputeSource

description: Note that a cancelled computation does not necessarily immediately terminate even after the timeout. This requires that the OpType implementation test the provided ProgressCancel instance frequently. When the Operator is "cancelled" it is moved to a separate task that waits for the owningFAsyncTaskto finish and then deletes it (and the contained Operator)

code: template<typename OpType, typename OpTypeFactory> class TBackgroundModelingComputeSource

ActiveBackgroundTask

type: FAsyncTaskExecu...

CancelActiveOpDelaySeconds

description: Default wait delay for cancel/restart cycle

OperatorSource

type: OpTypeFactory &...

TaskState

description: Internal state flag


description: Required for task system


code: TDeleterTask ( [FAsyncTask](API\Runtime\Core\Async\FAsyncTask)< DeleteTaskType > * TaskIn )


className: TDeleterTask

description: TDeleterTaskshould be launched as a background task viaFAutoDeleteAsyncTask, seeFAsyncTaskExecuterWithAbort::CancelAndDeletefor an example.

code: template<typename DeleteTaskType> class TDeleterTask : public [FNonAbandonableTask](API\Runtime\Core\Async\FNonAbandonableTask)

Task

type: FAsyncTask< Del...

description: The task we will delete, when it completes


description: Calculate the result of the operator. This must populate the internal Result data

code: void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


description: ownership of the internal data thatCalculateResult()produced

code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< ResultType > ExtractResult()


className: ResultTypeName

code: typedef ResultType ResultTypeName


description: Set the result of the Operator (generally called byCalculateResult()implementation)

code: void SetResult ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< ResultType > && ResultIn )


code: TGenericDataOperator ( bool bCreateInitialObject )


code: virtual ~TGenericDataOperator()


className: TGenericDataOperator

description: TGenericDataOperatoris a base interface for operator implementations that can produce an object of arbitrary data type. Ownership is unique, ie the Operator calculates the result and then the caller takes it viaExtractResult()

code: template<typename ResultType> class TGenericDataOperator

Result

type: TUniquePtr< Res...


description: FAbortableBackgroundTaskAPI.

code: void DoWork()


description: FAsyncTaskframework required function.


code: TModelingOpTask ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< OpType > OperatorIn )


description: the contained computation Operator

code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< OpType > ExtractOperator()


className: TModelingOpTask

description: SeeTBackgroundModelingComputeSourcefor example usage (however this class can be used by itself)

code: template<typename OpType> class TModelingOpTask : public [UE::Geometry::FAbortableBackgroundTask](API\Plugins\ModelingOperators\FAbortableBackgroundTask)

Operator

type: TUniquePtr< OpT...


description: This status is returned byTBackgroundModelingComputeSourceto indicate what state a background computation is in

code: namespace UE { namespace Geometry { enum EBackgroundComputeTaskStatus { ValidResultAvailable, DirtyResultAvailable, Aborted, InProgress, NotComputing, } } }


className: ESimplifyTargetType

module: ModelingOperatorsEditorOnly

code: enum ESimplifyTargetType { Percentage = 0, TriangleCount = 1, VertexCount = 2, EdgeLength = 3, MinimalPlanar = 4, }


className: ESimplifyType

code: enum ESimplifyType { QEM = 0, Attribute = 1, UEStandard = 2, MinimalExistingVertex = 3, MinimalPlanar = 4, MinimalPolygroup = 5, }


description: FDynamicMeshOperatorimplementation

code: virtual void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


description: Set ability on protected transform.

code: void SetTransform ( const FTransform & Transform )


code: virtual ~FSimplifyMeshOp()


className: FSimplifyMeshOp

code: class FSimplifyMeshOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bResultMustHaveAttributesEnabled

description: When true, result will have attributes object regardless of whether attributes were discarded or present initially.

MeshReduction

type: IMeshReduction...

MinimalPlanarAngleThresh

description: Angle threshold in degrees used for testing if two triangles should be considered coplanar, or two lines collinear

OriginalMesh

type: TSharedPtr<FDy...

description: Stored for the GeometryProcessing custom simplifier paths (currently precomputed once in tool setup)

OriginalMeshDescription

type: TSharedPtr<FMe...

description: Stored for the UEStandard path

PolyEdgeAngleTolerance

description: For minimal polygroup-preserving simplification: Threshold angle change (in degrees) along a polygroup edge, above which a vertex must be added.

SimplifierType

type: ESimplifyType

TargetCount

type: int

TargetMode

type: ESimplifyTarget...

description: Inputs


className: EBooleanOperation

code: enum EBooleanOperation { DifferenceAB = 0, DifferenceBA = 1, Intersect = 2, Union = 3, }


code: virtual ~FVoxelBooleanMeshesOp()


code: virtual ~FVoxelMergeMeshesOp()


className: FVoxelBooleanMeshesOp

code: class FVoxelBooleanMeshesOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

AdaptivityD

type: double

Meshes

type: TArray<TShared...

description: Inputs

Operation

type: EBooleanOperati...

Transforms

type: TArray<FTransf...


className: FVoxelMergeMeshesOp

code: class FVoxelMergeMeshesOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bAutoSimplify

type: bool

Meshes

description: Inputs


className: EEmbeddedPolygonOpMethod

code: enum EEmbeddedPolygonOpMethod { TrimOutside, TrimInside, InsertPolygon, CutThrough, }


description: TODO: switch to FGeneralPolygon2d?


code: virtual ~FEmbedPolygonsOp()


className: FEmbedPolygonsOp

code: class FEmbedPolygonsOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

EdgesOnFailure

type: TArray< int >

description: Outputs.

Operation

type: EEmbeddedPolygo...

PolygonFrame

description: Inputs


description: Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finishStartupModule(). This means that, as long as a module references dependent modules in it'sStartupModule(), it can safely reference those dependencies inShutdownModule()as well.

code: virtual void ShutdownModule()


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


className: EMeshTangentsType

code: enum EMeshTangentsType { MikkTSpace = 0, FastMikkTSpace = 1, PerTriangle = 2, CopyExisting = 3, }


className: FModelingOperatorsEditorOnlyModule

code: class FModelingOperatorsEditorOnlyModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


code: virtual void CalculateMikkT ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshTangentsd](API\Runtime\GeometryCore\DynamicMesh\FMeshTangentsd) > & Tangents )


description: TGenericDataOperatorimplementation

code: virtual void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: virtual ~FCalculateTangentsOp()


code: virtual void CopyFromSource ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshTangentsd](API\Runtime\GeometryCore\DynamicMesh\FMeshTangentsd) > & Tangents )


code: virtual void CalculateStandard ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshTangentsd](API\Runtime\GeometryCore\DynamicMesh\FMeshTangentsd) > & Tangents )


description: FDynamicMeshOperatorimplementation


code: bool ComputeUVs_UVAtlas ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & InOutMesh, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(float)> & Interrupter )


code: bool ComputeUVs_PatchBuilder ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & InOutMesh, [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: FLinearMesh &40; const FDynamicMesh3 & Mesh, UE::Geometry::FPolygroupSet &42; InputGroups &41;


code: bool ComputeUVs_XAtlas ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & InOutMesh, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(float)> & Interrupter )


code: void CopyNewUVsToMesh ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, const [FLinearMesh](API\Plugins\ModelingOperatorsEditorOnly\ParameterizationOps\FParameterizeMeshOp\FLinearMesh) & LinearMesh, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & FlippedMesh, const [TArray](API\Runtime\Core\Containers\TArray)< FVector2D > & UVVertexBuffer, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & UVIndexBuffer, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & VertexRemapArray, bool bReverseOrientation )


className: FLinearMesh

description: Dense index/vertex buffer based representation of the data needed for parameterization

code: struct FLinearMesh

AdjacencyBuffer

type: TArray< int32 >

description: Adjacency[tri], Adjacency[tri+1], Adjacency[tri+2] are the three tris adjacent to tri.

IndexBuffer

description: Stripped down mesh.

VertexBuffer

type: TArray< FVector...

VertToID

description: Map from offset in the VertexBuffer to the VertexID in the FDynamicMesh.


code: void LayoutToUDIMByPolygroup ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & InOutMesh, [UE::Geometry::FPolygroupSet](API\Plugins\DynamicMesh\Polygroups\FPolygroupSet) & InputGroups )


description: Set ability on protected transform.

code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & XForm )


code: virtual ~FParameterizeMeshOp()


className: FParameterizeMeshOp

code: class FParameterizeMeshOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

bEnablePacking

description: Atlas Packing parameters.

bPackToUDIMSByOriginPolygroup

description: UDIM support.

ExpMapNormalSmoothingAlpha

type: float

InitialPatchCount

description: PatchBuilder generation parameters.

InputGroups

description: Source groups (optional)

InputMesh

description: Source mesh

Method

type: EParamOpBackend

NewResultInfo

type: FGeometryResult

Stretch

description: UVAtlas generation parameters.

UVLayer

description: UV layer.

XAtlasMaxIterations

description: XAtlas generation parameters.


className: FCalculateTangentsOp

code: class FCalculateTangentsOp : public [UE::Geometry::TGenericDataOperator< FMeshTangentsd >](API\Plugins\ModelingOperators\TGenericDataOperator)

bNoAttributesError

description: Error flags

CalculationMethod

type: EMeshTangentsTy...

description: Parameters

SourceMesh

type: TSharedPtr<FDy...

description: Inputs


description: Forward declarations

code: namespace UE { namespace Geometry { enum EParamOpBackend { PatchBuilder = 0, UVAtlas = 1, XAtlas = 2, } } }


description: IDynamicMeshOperatorFactory API.


className: UParameterizeMeshOperatorFactory

description: Inherits fromUObjectso that it can hold a strong pointer to the settingsUObject, which needs to be aUObjectto be displayed in the details panel.

GetPolygroups

type: TUniqueFunction...

OriginalMesh

description: TSharedPtrInputGroups;.

PatchBuilderProperties

type: TObjectPtr<UPa...

TargetTransform

type: FTransform


className: EParameterizeMeshUVMethod

code: enum EParameterizeMeshUVMethod { PatchBuilder = 0, UVAtlas = 1, XAtlas = 2, }


bLayoutUDIMPerPolygroup

description: Layout resulting islands on UDIMs based on polygroups.

bPolygroupsEnabled

description: Controls if polygroup options are available to the user.

bRepack

description: Automatically pack result UVs into the unit square, i.e. fit between 0 and 1 with no overlap.

bUDIMsEnabled

description: Controls if UDIM options are available to the user.

bUsePolygroups

description: Generate new UVs based on polygroups from specified layer.

CurvatureAlignment

description: Alignment of the initial patches to creases in the mesh.

InitialPatches

type: int

description: Number of initial patches the mesh will be split into before island merging.

MergingAngleThreshold

description: Threshold for the average face normal deviation below which island merging is allowed.

MergingDistortionThreshold

description: Threshold for stretching and distortion below which island merging is allowed; larger values increase the allowable UV distortion.

SmoothingAlpha

description: Smoothing parameter; larger values result in faster smoothing in each step.

SmoothingSteps

description: Number of smoothing steps to apply; this slightly increases distortion but produces more stable results.

TextureResolution

description: Expected resolution of the output textures; this controls spacing left between UV islands to avoid interpolation artifacts.


className: UParameterizeMeshToolProperties

Method

type: EParameterizeMe...

description: Automatic UV generation technique to use


className: UParameterizeMeshToolUVAtlasProperties

description: Settings for the UVAtlas Automatic UV Generation Method

IslandStretch

description: Maximum amount of stretch, from none to unbounded.

NumIslands

description: Hint at number of UV islands. The default of 0 means it is determined automatically.


className: UParameterizeMeshToolXAtlasProperties

MaxIterations

description: Number of solve iterations; higher values generally result in better UV islands.


description: Called when details should be customized

module: ModelingToolsEditorMode

code: virtual void CustomizeDetails ( [IDetailLayoutBuilder](API\Editor\PropertyEditor\IDetailLayoutBuilder) & DetailBuilder )


code: static [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization) > MakeInstance()


className: FBakeMeshAttributeMapsToolDetails

description: Customization forUBakeMeshAttributeMapsToolProperties.

code: class FBakeMeshAttributeMapsToolDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)


className: FBakeMeshAttributeVertexToolDetails

description: Customization forUBakeMeshAttributeVertexToolProperties.

code: class FBakeMeshAttributeVertexToolDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)


className: FBakeMultiMeshAttributeMapsToolDetails

description: Customization forUBakeMultiMeshAttributeMapsToolProperties.

code: class FBakeMultiMeshAttributeMapsToolDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)


code: void EvaluateBakeScaleMethodRestrictions ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPropertyHandle](API\Editor\PropertyEditor\IPropertyHandle) > AllowNoScale, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPropertyHandle](API\Editor\PropertyEditor\IPropertyHandle) > BakeScaleHandle )


className: FBakeTransformToolDetails

description: Customization forUBakeTransformToolProperties.

code: class FBakeTransformToolDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)

BakeScaleMethodEnumRestriction

type: TSharedPtr<FPr...

description: Property restriction applied to the EBakeScaleMethod enum dropdown box


description: Customization forUMeshTopologySelectionMechanicProperties.

code: class FMeshTopologySelectionMechanicPropertiesDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)


description: Called when the children of the property should be customized or extra rows added

code: virtual void CustomizeChildren ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPropertyHandle](API\Editor\PropertyEditor\IPropertyHandle) > PropertyHandle, class [IDetailChildrenBuilder](API\Editor\PropertyEditor\IDetailChildrenBuilder) & ChildBuilder, [IPropertyTypeCustomizationUtils](API\Editor\PropertyEditor\IPropertyTypeCustomizationUtils) & CustomizationUtils )


code: static [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPropertyTypeCustomization](API\Editor\PropertyEditor\IPropertyTypeCustomization) > MakeInstance()


description: Called when the header of the property (the row in the details panel where the property is shown) If nothing is added to the row, the header is not displayed

code: virtual void CustomizeHeader ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPropertyHandle](API\Editor\PropertyEditor\IPropertyHandle) > PropertyHandle, class [FDetailWidgetRow](API\Editor\PropertyEditor\FDetailWidgetRow) & HeaderRow, [IPropertyTypeCustomizationUtils](API\Editor\PropertyEditor\IPropertyTypeCustomizationUtils) & CustomizationUtils )


className: FModelingToolsAxisFilterCustomization

description: Details customization for FModelingModeAxisFilter struct - X/Y/Z booleans are laid out in a single horizontal row

code: class FModelingToolsAxisFilterCustomization : public [IPropertyTypeCustomization](API\Editor\PropertyEditor\IPropertyTypeCustomization)


className: FModelingToolsBrushSizeCustomization

description: Details customization forFBrushToolRadiusstruct. This maybe should be removed in favor of just doing custom UI inFSculptBrushPropertiesDetails...

code: class FModelingToolsBrushSizeCustomization : public [IPropertyTypeCustomization](API\Editor\PropertyEditor\IPropertyTypeCustomization)


description: Details customization forFModelingToolsColorChannelFilterstruct - R/G/B/A booleans are laid out in a single horizontal row

code: class FModelingToolsColorChannelFilterCustomization : public [IPropertyTypeCustomization](API\Editor\PropertyEditor\IPropertyTypeCustomization)


className: FSculptBrushPropertiesDetails

description: Customization forUSculptBrushProperties, creates two-column layout for secondary brush properties like lazy/etc

code: class FSculptBrushPropertiesDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)


className: FSculptToolsUIConstants

description: Defining this here so we can use inFModelingToolsBrushSizeCustomization, should move to some shared constants header/file

code: class FSculptToolsUIConstants


className: SculptShortLabelWidth

description: Sculpt panel packs in the widgets w/ short fixed-width labels

code: static constexpr int SculptShortLabelWidth = 40;


code: virtual void CustomizeDetails ( [IDetailLayoutBuilder](API\Editor\PropertyEditor\IDetailLayoutBuilder) & DetailBuilder )


className: FVertexBrushAlphaPropertiesDetails

description: Customization forUVertexBrushAlphaProperties, creates custom asset picker tileview-combopanel for brush alphas and stacks controls to the right

code: class FVertexBrushAlphaPropertiesDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)

AlphaAssetPicker

type: TSharedPtr<STo...

AlphaTextureUpdateHandle

type: FDelegateHandle

ObjectsBeingCustomized

type: TArray<TWeakOb...

RecentAlphasProvider

type: TSharedPtr< FRe...

TargetTool

type: TWeakObjectPtr<...


code: bool IsFreezeTargetEnabled()


code: static [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization) > MakeInstance()


code: void OnSetFreezeTarget ( ECheckBoxState State )


className: FVertexBrushSculptPropertiesDetails

description: Customization for vertexsculpt properties, creates combopanel for brush type, small-style combopanel for falloff type, and stacks controls to the right

code: class FVertexBrushSculptPropertiesDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)

FalloffTypeCombo

type: TSharedPtr<SCo...

FreezeTargetButton

type: TSharedPtr<SBu...


className: EModelingModeActionCommands

code: enum EModelingModeActionCommands { FocusViewToCursor, ToggleSelectionLockState, }


className: EModelingModeAssetGenerationBehavior

code: enum EModelingModeAssetGenerationBehavior { AutoGenerateAndAutosave, AutoGenerateButDoNotAutosave, InteractivePromptToSave, }


className: EModelingModeAssetGenerationLocation

code: enum EModelingModeAssetGenerationLocation { AutoGeneratedWorldRelativeAssetPath, AutoGeneratedGlobalAssetPath, CurrentAssetBrowserPathIfAvailable, }


className: EModelingModeDefaultMeshObjectType

code: enum EModelingModeDefaultMeshObjectType { StaticMeshAsset, VolumeActor, DynamicMeshActor, }


code: enum EModelingSelectionInteraction_DragMode { NoDragInteraction = 0, PathInteraction = 1, RectangleMarqueeInteraction = 2, }


description: Interface that subclasses need to implementRegisterCommands()needs actualUInteractiveToolinstances for all the Tools that want to provide Actions which will be connected to hotkeys. We can do this based on the CDO's for each tool, returned by GetMutableDefault(). The Tool CDOs are not owned by a ToolManager and we will only call .GetActionSet() on them.

code: virtual void GetToolDefaultObjectList ( [TArray](API\Runtime\Core\Containers\TArray)< [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * > & ToolCDOs )


className: FCubeGridToolActionCommands

code: class FCubeGridToolActionCommands : public [TInteractiveToolCommands< FCubeGridToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


code: FCubeGridToolActionCommands()


className: FDrawAndRevolveToolActionCommands

code: class FDrawAndRevolveToolActionCommands : public [TInteractiveToolCommands< FDrawAndRevolveToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


code: FDrawAndRevolveToolActionCommands()


code: FDrawPolygonToolActionCommands()


className: FDrawPolygonToolActionCommands

code: class FDrawPolygonToolActionCommands : public [TInteractiveToolCommands< FDrawPolygonToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


className: FEditMeshMaterialsToolActionCommands

code: class FEditMeshMaterialsToolActionCommands : public [TInteractiveToolCommands< FEditMeshMaterialsToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


code: FEditMeshMaterialsToolActionCommands()


code: FEditMeshPolygonsToolActionCommands()


className: FEditMeshPolygonsToolActionCommands

code: class FEditMeshPolygonsToolActionCommands : public [TInteractiveToolCommands< FEditMeshPolygonsToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


className: FExtensionToolQueryInfo

description: Note that if bIsInfoQueryOnly is true, then the Extension does not need to construct Tool Builders, the query is for information purposes only

code: struct FExtensionToolQueryInfo

AssetAPI

type: FModelingModeAs...

bIsInfoQueryOnly

type: bool

ToolsContext

type: UInteractiveToo...


code: FMeshAttributePaintToolActionCommands()


className: FMeshAttributePaintToolActionCommands

code: class FMeshAttributePaintToolActionCommands : public [TInteractiveToolCommands< FMeshAttributePaintToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


className: FExtensionToolDescription

description: IModelingModeToolExtensionimplementations return the list of Tools they provide via instances ofFExtensionToolDescription.

code: struct FExtensionToolDescription

ToolBuilder

description: Builder for the Tool.

ToolCommand

type: TSharedPtr<FUI...

description: Command that is added to the Tool button set. This defines the button label.

ToolName

type: FText

description: Long name of the Tool, used in various places in the UI


code: FMeshGroupPaintToolActionCommands()


className: FMeshGroupPaintToolActionCommands

code: class FMeshGroupPaintToolActionCommands : public [TInteractiveToolCommands< FMeshGroupPaintToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


code: virtual void GetToolDefaultObjectList ( [TArray](API\Runtime\Core\Containers\TArray)< [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * > & ToolCDOs )


code: FMeshPlaneCutToolActionCommands()


className: FMeshPlaneCutToolActionCommands

code: class FMeshPlaneCutToolActionCommands : public [TInteractiveToolCommands< FMeshPlaneCutToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


code: FMeshSelectionToolActionCommands()


className: FMeshSelectionToolActionCommands

code: class FMeshSelectionToolActionCommands : public [TInteractiveToolCommands< FMeshSelectionToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


code: FMeshVertexPaintToolActionCommands()


code: static void RegisterCommandBindings ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUICommandList](API\Runtime\Slate\Framework\Commands\FUICommandList) > UICommandList, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([EModelingModeActionCommands](API\Plugins\ModelingToolsEditorMode\EModelingModeActionCommands))> OnCommandExecuted )


className: FMeshVertexPaintToolActionCommands

code: class FMeshVertexPaintToolActionCommands : public [TInteractiveToolCommands< FMeshVertexPaintToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


code: static void UnRegisterCommandBindings ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUICommandList](API\Runtime\Slate\Framework\Commands\FUICommandList) > UICommandList )


description: Pure virtual to override; describe and instantiate the commands in here by using the UI COMMAND macro.

code: virtual void RegisterCommands()


code: FModelingModeActionCommands()


className: FModelingModeActionCommands

code: class FModelingModeActionCommands : public [TCommands< FModelingModeActionCommands >](API\Runtime\Slate\Framework\Commands\TCommands)


className: FModelingModeAssetAPI

description: Dummy class for extension API below

code: class FModelingModeAssetAPI


className: FModelingModeAssetCollectionSet

description: Defines a Named list/set of content-browser Collection names

Collections

type: TArray<FCollec...

description: List of Collection names

Name

type: FString

description: Name of the set of collections