Navigation
API > API/Plugins > API/Plugins/MeshModelingTools > API/Plugins/MeshModelingTools/ToolActivities
Inheritance Hierarchy
- UInteractiveToolActivity
- IDynamicMeshOperatorFactory
- IHoverBehaviorTarget
- IClickBehaviorTarget
- UPolyEditInsertEdgeLoopActivity
References
| Module | MeshModelingTools |
| Header | /Engine/Plugins/Runtime/MeshModelingToolset/Source/MeshModelingTools/Public/ToolActivities/PolyEditInsertEdgeLoopActivity.h |
| Include | #include "ToolActivities/PolyEditInsertEdgeLoopActivity.h" |
Syntax
UCLASS&40;&41;
class UPolyEditInsertEdgeLoopActivity :
public UInteractiveToolActivity,
public UE::Geometry::IDynamicMeshOperatorFactory,
public IHoverBehaviorTarget,
public IClickBehaviorTarget
Remarks
Interactive activity for inserting (group) edge loops into a mesh.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TObjectPtr< UPolyEditActivityContext > | ActivityContext | ||
| bool | bIsRunning | ||
| bool | bLastComputeSucceeded | Copied over on op completion. | |
| bool | bWaitingForInsertionCompletion | On valid clicks, we wait to finish the background op and apply it before taking more input. | |
| FViewCameraState | CameraState | ||
| TSharedPtr< const UE::Geometry::FDynamicMesh3, ESPMode::ThreadSafe > | ComputeStartMesh | Safe inputs for the background compute to use, untouched by undo/redo/other CurrentMesh updates. | |
| TSharedPtr< const UE::Geometry::FGroupTopology, ESPMode::ThreadSafe > | ComputeStartTopology | ||
| int32 | InputGroupEdgeID | Taken from user interaction, read as inputs by the op factory. | |
| double | InteractiveInputLength | ||
| TSharedPtr< TSet< int32 >, ESPMode::ThreadSafe > | LatestOpChangedTids | ||
| TSharedPtr< UE::Geometry::FGroupTopology, ESPMode::ThreadSafe > | LatestOpTopologyResult | ||
| FToolDataVisualizer | PreviewEdgeRenderer | ||
| TArray< TPair< FVector3d, FVector3d > > | PreviewEdges | ||
| TArray< TPair< FVector3d, FVector3d > > | ProblemTopologyEdges | Used to highlight problematic topology (non-quad groups) when it stops a loop. | |
| FToolDataVisualizer | ProblemTopologyRenderer | ||
| TArray< FVector3d > | ProblemTopologyVerts | ||
| float | ProblemVertTickWidth | ||
| TObjectPtr< UEdgeLoopInsertionProperties > | Settings | ||
| FTransform | TargetTransform | ||
| TSharedPtr< FMeshTopologySelector, ESPMode::ThreadSafe > | TopologySelector | ||
| FMeshTopologySelector::FSelectionSettings | TopologySelectorSettings |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | ClearPreview () |
||
| void | ConditionallyUpdatePreview
(
int32 NewGroupID, |
Update the preview unless we've already computed one with the same parameters (such as when using "even" or non-interactive parameter setting) | |
| FInputRayHit | HitTest
(
const FRay& WorldRay |
||
| void | OnPropertyModified
(
UObject* PropertySet, |
||
| void | SetupPreview () |
||
| void | |||
| bool | UpdateHoveredItem
(
const FRay& WorldRay |
Overridden from UInteractiveToolActivity
| Type | Name | Description | |
|---|---|---|---|
| bool | CanAccept () |
If true, calling End with EToolShutdownType::Accept will result in a valid completion of the activity. | |
| bool | CanStart () |
Check whether a Start() call will result in a success. | |
| EToolActivityEndResult | End
(
EToolShutdownType |
Force an end to the activity. | |
| bool | IsRunning () |
Check whether the activity is running (though the tool can just check the result of Start() itself). | |
| void | Shutdown
(
EToolShutdownType ShutdownType |
Should be called during a tool's Shutdown()Should be called during a tool's Shutdown() | |
| EToolActivityStartResult | Start () |
Attempt to start the activity. |
Overridden from UInteractionMechanic
| Type | Name | Description | |
|---|---|---|---|
| void | Render
(
IToolsContextRenderAPI* RenderAPI |
If the activity is running, should be called from the tool's Render() | |
| void | Setup
(
UInteractiveTool* ParentTool |
IInteractiveToolActivity. | |
| void | Tick
(
float DeltaTime |
If the activity is running, should be called from the tool's OnTick() |
Overridden from IDynamicMeshOperatorFactory
| Type | Name | Description | |
|---|---|---|---|
| TUniquePtr< UE::Geometry::FDynamicMeshOperator > | IDynamicMeshOperatorFactory. |
Overridden from IHoverBehaviorTarget
| Type | Name | Description | |
|---|---|---|---|
| FInputRayHit | BeginHoverSequenceHitTest
(
const FInputDeviceRay& PressPos |
IHoverBehaviorTarget. | |
| void | OnBeginHover
(
const FInputDeviceRay& DevicePos |
Initialize hover sequence at given position | |
| void | OnEndHover () |
Terminate active hover sequence | |
| bool | OnUpdateHover
(
const FInputDeviceRay& DevicePos |
Update active hover sequence with new input position |
Overridden from IClickBehaviorTarget
| Type | Name | Description | |
|---|---|---|---|
| FInputRayHit | IsHitByClick
(
const FInputDeviceRay& ClickPos |
IClickBehaviorTarget. | |
| void | OnClicked
(
const FInputDeviceRay& ClickPos |
Notify Target that click ocurred |