Navigation
API > API/Plugins > API/Plugins/MeshModelingToolsExp
Inheritance Hierarchy
- UObject
- IInputBehaviorSource
- UInteractiveTool
- UMultiSelectionTool
- UMultiSelectionMeshEditingTool
- UPatternTool
References
| Module | MeshModelingToolsExp |
| Header | /Engine/Plugins/Experimental/MeshModelingToolsetExp/Source/MeshModelingToolsExp/Public/PatternTool.h |
| Include | #include "PatternTool.h" |
Syntax
UCLASS ()
class UPatternTool : public UMultiSelectionMeshEditingTool
Remarks
UPatternTool takes input meshes and generates 3D Patterns of those meshes, by placing repeated copies along geometric paths like lines, grids, circles, etc. The output can be a single Actor per pattern Element, or combined into single Actors in various ways depending on the input mesh type.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TSet< TObjectPtr< UPrimitiveComponent > > | AllComponents | ||
| TArray< const UPrimitiveComponent * > | AllPreviewComponents | This duplicates the data stored by PreviewComponents but it is necessary to have a simple TArray |
|
| bool | bEnableCreateISMCs | ||
| bool | bHaveNonUniformScaleElements | ||
| TObjectPtr< UPatternTool_BoundingBoxSettings > | BoundingBoxSettings | ||
| FToolDataVisualizer | BoundingBoxVisualizer | ||
| bool | bPatternNeedsUpdating | ||
| bool | bUsingSingleAxis | If true, Settings->SingleAxis is being used. If false, Settings->SinglePlane is being used. | |
| FVector | CachedEndScale | ||
| FVector | CachedJitterScale | ||
| FVector | CachedStartScale | ||
| UE::Geometry::FAxisAlignedBox3d | CombinedPatternBounds | ||
| TArray< UE::Geometry::FTransformSRT3d > | CurrentPattern | ||
| UE::Geometry::FFrame3d | CurrentStartFrameWorld | ||
| TObjectPtr< UDragAlignmentMechanic > | DragAlignmentMechanic | ||
| TMap< int32, FComponentSet > | DynamicMeshPools | ||
| TArray< FPatternElement > | Elements | ||
| int32 | EndScaleWatcherIdx | ||
| int32 | GridExtentXWatcherIdx | ||
| int32 | GridExtentYWatcherIdx | ||
| TObjectPtr< UPatternTool_GridSettings > | GridSettings | ||
| int32 | JitterScaleWatcherIdx | ||
| FDateTime | LastPatternUpdateTime | ||
| int32 | LinearExtentWatcherIdx | ||
| TObjectPtr< UPatternTool_LinearSettings > | LinearSettings | ||
| TObjectPtr< UPatternTool_OutputSettings > | OutputSettings | ||
| TObjectPtr< UInteractiveGizmo > | PatternGizmo | ||
| TObjectPtr< UPrimitiveComponent > | PatternGizmoComponent | ||
| TObjectPtr< UComponentBoundTransformProxy > | PatternGizmoProxy | Pattern Gizmo: | |
| TObjectPtr< UConstructionPlaneMechanic > | PlaneMechanic | ||
| TArray< FComponentSet > | PreviewComponents | ||
| TObjectPtr< UPreviewGeometry > | PreviewGeometry | ||
| TObjectPtr< UPatternTool_RadialSettings > | RadialSettings | ||
| int32 | RadiusWatcherIdx | ||
| TObjectPtr< UPatternTool_RotationSettings > | RotationSettings | ||
| TObjectPtr< UPatternTool_ScaleSettings > | ScaleSettings | ||
| TObjectPtr< UPatternToolSettings > | Settings | ||
| int32 | StartScaleWatcherIdx | ||
| TMap< int32, FComponentSet > | StaticMeshPools | ||
| TObjectPtr< UPatternTool_TranslationSettings > | TranslationSettings |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UPatternTool () |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | ComputeBoundingBoxWithTransform
(
int32 ElemIdx, |
Given an Element index and an FTransformSRT3d, determine the bounding box that contains the transformed underlying mesh BoundingBox is made empty before growing to contain the transformed mesh. | |
| void | |||
| void | ComputePatternBounds
(
int32 ElemIdx |
||
| void | ComputeWorldTransform
(
FTransform& OutWorldTransform, |
||
| void | |||
| void | EmitResults () |
||
| void | GetPatternTransforms_Grid
(
TArray< UE::Geometry::FTransformSRT3d >& TransformsOut |
||
| void | GetPatternTransforms_Linear
(
TArray< UE::Geometry::FTransformSRT3d >& TransformsOut |
||
| void | GetPatternTransforms_Radial
(
TArray< UE::Geometry::FTransformSRT3d >& TransformsOut |
||
| UDynamicMeshComponent * | GetPreviewDynamicMesh
(
const FPatternElement& Element |
||
| UStaticMeshComponent * | GetPreviewStaticMesh
(
const FPatternElement& Element |
||
| void | |||
| void | |||
| void | |||
| void | |||
| void | |||
| void | |||
| void | |||
| void | |||
| void | OnSourceVisibilityToggled
(
bool bVisible |
||
| void | |||
| void | OnTransformGizmoUpdated
(
UTransformProxy* Proxy, |
||
| void | |||
| void | RenderBoundingBoxes
(
IToolsContextRenderAPI* RenderAPI |
||
| void | |||
| void | |||
| void | ReturnDynamicMeshes
(
FPatternElement& Element, |
||
| void | ReturnStaticMeshes
(
FPatternElement& Element, |
||
| void | SetEnableCreateISMCs
(
bool bEnable |
||
| void |
Overridden from UMultiSelectionMeshEditingTool
| Type | Name | Description | |
|---|---|---|---|
| void | OnShutdown
(
EToolShutdownType ShutdownType |
Overridden from UInteractiveTool
| Type | Name | Description | |
|---|---|---|---|
| bool | CanAccept () |
||
| bool | HasAccept () |
||
| bool | HasCancel () |
||
| void | OnPropertyModified
(
UObject* PropertySet, |
Automatically called by UInteractiveToolPropertySet.OnModified delegate to notify Tool of child property set changes | |
| void | Render
(
IToolsContextRenderAPI* RenderAPI |
Allow the Tool to do any custom drawing (ie via PDI/RHI) | |
| void | Setup () |
Called by ToolManager to initialize the Tool after ToolBuilder::BuildTool() has been called |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FComponentSet | |||
| FPatternElement |