description: Update the Mesh in a ToolTarget based on the provided MeshDescription, and optional material setEDynamicMeshUpdateResult::Okon success

code: namespace UE { namespace ToolTarget { [EDynamicMeshUpdateResult](API\Plugins\ModelingComponents\UE__ToolTarget__EDynamicMeshUpda-) UE::ToolTarget::CommitMeshDescriptionUpdateViaDynamicMesh ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & UpdatedMesh, bool bHaveModifiedTopology, const [FCommitMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FCommitMeshParameters) & CommitParams ) } }


description: SkeletalMesh from a tool target

module: ModelingComponents

code: namespace UE { namespace ToolTarget { [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * UE::ToolTarget::GetSkeletalMeshFromTargetIfAvailable ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description: Not intended for direct use by tools, just for use by tool target util functions and tool target implementations that may need to do this operation. Uses theIPersistentDynamicMeshSourceinterface to perform an update of the dynamic mesh. Currently ignores bHaveModifiedTopology.

code: namespace UE { namespace ToolTarget { namespace Internal { void UE::ToolTarget::Internal::CommitDynamicMeshViaIPersistentDynamicMeshSource ( [IPersistentDynamicMeshSource](API\Plugins\ModelingComponents\TargetInterfaces\IPersistentDynamicMeshSource) & DynamicMeshSource, const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & UpdatedMesh, bool bHaveModifiedTopology ) } } }


description:
Apply an incremental mesh edit (MeshEditingFunc) to the ToolTarget. Tools/etc can use this to directly modify the ToolTarget's internal DynamicMesh, while (presumably) also emitting aFChangetransaction that represents that Edit. This allows for undoable edits directly to a DynamicMeshComponent/etc in the level.
true if the incremental edit succeeds

code: namespace UE { namespace ToolTarget { bool UE::ToolTarget::ApplyIncrementalMeshEditChange ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool([UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) &EditMesh, [UObject](API\Runtime\CoreUObject\UObject\UObject) *TransactionTarget)> MeshEditingFunc ) } }


description: Update the Mesh in a ToolTarget based on the provided DynamicMesh, and optional material setEDynamicMeshUpdateResult::Okon success

code: namespace UE { namespace ToolTarget { [EDynamicMeshUpdateResult](API\Plugins\ModelingComponents\UE__ToolTarget__EDynamicMeshUpda-) UE::ToolTarget::CommitDynamicMeshUpdate ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & UpdatedMesh, bool bHaveModifiedTopology, const [FConversionToMeshDescriptionOptions](API\Runtime\MeshConversion\FConversionToMeshDescriptionOpti-) & ConversionOptions, const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) * UpdatedMaterials ) } }


description: Update the UV sets of the ToolTarget's mesh (assuming it has one) based on the provided UpdatedMesh.EDynamicMeshUpdateResult::Okon success, or Ok_ForcedFullUpdate if any dependent mesh topology was modified

code: namespace UE { namespace ToolTarget { [EDynamicMeshUpdateResult](API\Plugins\ModelingComponents\UE__ToolTarget__EDynamicMeshUpda-) UE::ToolTarget::CommitDynamicMeshUVUpdate ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * UpdatedMesh ) } }


description: Update the Normals/Tangents of the ToolTarget's mesh (assuming it has one) based on the provided UpdatedMesh.EDynamicMeshUpdateResult::Okon success, or Ok_ForcedFullUpdate if any dependent mesh topology was modified

code: namespace UE { namespace ToolTarget { [EDynamicMeshUpdateResult](API\Plugins\ModelingComponents\UE__ToolTarget__EDynamicMeshUpda-) UE::ToolTarget::CommitDynamicMeshNormalsUpdate ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * UpdatedMesh, bool bUpdateTangents ) } }


description: Update the material set of the Target

code: namespace UE { namespace ToolTarget { bool UE::ToolTarget::CommitMaterialSetUpdate ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & UpdatedMaterials, bool bApplyToAsset ) } }


code: namespace UE { namespace ToolTarget { [EDynamicMeshUpdateResult](API\Plugins\ModelingComponents\UE__ToolTarget__EDynamicMeshUpda-) UE::ToolTarget::CommitMeshDescriptionUpdate ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * UpdatedMesh, const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) * UpdatedMaterials, const [FCommitMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FCommitMeshParameters) & CommitParams ) } }


code: namespace UE { namespace ToolTarget { [EDynamicMeshUpdateResult](API\Plugins\ModelingComponents\UE__ToolTarget__EDynamicMeshUpda-) UE::ToolTarget::CommitMeshDescriptionUpdate ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) && UpdatedMesh, const [FCommitMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FCommitMeshParameters) & CommitParams ) } }


description:
FCreateMeshObjectParams::TypeHintis used by the ModelingObjectsCreationAPI to suggest what type of mesh object to create inside various Tools. This should often be derived from the input mesh object type (eg if you plane-cut a Volume, the output should be Volumes). This function interrogates the ToolTarget to try to determine this information
true if a known type was detected and configured inFCreateMeshObjectParams::TypeHint(and possiblyFCreateMeshObjectParams::TypeHintClass)

code: namespace UE { namespace ToolTarget { bool UE::ToolTarget::ConfigureCreateMeshObjectParams ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * SourceTarget, [FCreateMeshObjectParams](API\Plugins\ModelingComponents\FCreateMeshObjectParams) & DerivedParamsOut ) } }


description: EDynamicMeshUpdateResult is returned by functions below that update a ToolTarget with a new Mesh

code: namespace UE { namespace ToolTarget { enum EDynamicMeshUpdateResult { Ok = 0, Failed = 1, Ok_ForcedFullUpdate = 2, } } }


description:
Fetch a DynamicMesh3 representing the given ToolTarget. This may be a conversion of the output ofGetMeshDescription(). This function returns a copy, so the caller can take ownership of this Mesh.
a created DynamicMesh3, which may be empty if the Target doesn't have a mesh

code: namespace UE { namespace ToolTarget { [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) UE::ToolTarget::GetDynamicMeshCopy ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, bool bWantMeshTangents ) } }


description: an empty MeshDescription with attributes already registered appropriate to the target.

code: namespace UE { namespace ToolTarget { [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) UE::ToolTarget::GetEmptyMeshDescription ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description: a human readable identifier for a ToolTarget, based on the underlying nature of it.

code: namespace UE { namespace ToolTarget { [FString](API\Runtime\Core\Containers\FString) UE::ToolTarget::GetHumanReadableName ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description: the local-to-world Transform underlying a ToolTarget, eg the Component or Actor transform

code: namespace UE { namespace ToolTarget { FTransform3d UE::ToolTarget::GetLocalToWorldTransform ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description:
Fetch the Material Set on the object underlying a ToolTarget. In cases where there are (eg) separate Component and Asset material sets, prefers the Component material set
a valid MaterialSet

code: namespace UE { namespace ToolTarget { [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) UE::ToolTarget::GetMaterialSet ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, bool bPreferAssetMaterials ) } }


description: An array of valid LODs for the mesh data underlying the ToolTarget, or just the Default LOD if the target doesn't support LODs or bOnlyReturnDefaultLOD is true

code: namespace UE { namespace ToolTarget { [TArray](API\Runtime\Core\Containers\TArray)< EMeshLODIdentifier > UE::ToolTarget::GetMeshDescriptionLODs ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, bool & bOutTargetSupportsLODs, bool bOnlyReturnDefaultLOD, bool bExcludeAutoGeneratedLODs ) } }


description: the MeshDescription underlying a ToolTarget, if it has such a mesh. May be generated internally by the ToolTarget. May be nullptr if the Target does not have a mesh.

code: namespace UE { namespace ToolTarget { const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * UE::ToolTarget::GetMeshDescription ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, const [FGetMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FGetMeshParameters) & GetMeshParams ) } }


description:
Return a copy of the MeshDescription underlying a ToolTarget
a new MeshDescription, which may be empty if the Target doesn't have a mesh

code: namespace UE { namespace ToolTarget { [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) UE::ToolTarget::GetMeshDescriptionCopy ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, const [FGetMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FGetMeshParameters) & GetMeshParams ) } }


description: the PhysicsUBodySetupfor the given ToolTarget, or nullptr if it does not exist

code: namespace UE { namespace ToolTarget { [UBodySetup](API\Runtime\Engine\PhysicsEngine\UBodySetup) * UE::ToolTarget::GetPhysicsBodySetup ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description: the Physics CollisionDataProvider (ie Complex Collision source) for the given ToolTarget, or nullptr if it does not exist

code: namespace UE { namespace ToolTarget { [IInterface_CollisionDataProvider](API\Runtime\Engine\Interfaces\IInterface_CollisionDataProvider) * UE::ToolTarget::GetPhysicsCollisionDataProvider ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description: StaticMesh from a tool target

code: namespace UE { namespace ToolTarget { [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * UE::ToolTarget::GetStaticMeshFromTargetIfAvailable ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description: theAActorbacking a ToolTarget, or nullptr if there is no such Actor

code: namespace UE { namespace ToolTarget { [AActor](API\Runtime\Engine\GameFramework\AActor) * UE::ToolTarget::GetTargetActor ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description:
Return identifier for the mesh LOD that a ToolTarget represents, if defined for the given ToolTarget
LODIdentifier for current LOD that would be provided/edited by the ToolTarget, or the Default LODIdentifier if the target doesn't support LODs or bOnlyReturnDefaultLOD is true

code: namespace UE { namespace ToolTarget { EMeshLODIdentifier UE::ToolTarget::GetTargetMeshDescriptionLOD ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, bool & bOutTargetSupportsLODs ) } }


description: theUPrimitiveComponentbacking a ToolTarget, or nullptr if there is no such Component

code: namespace UE { namespace ToolTarget { [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * UE::ToolTarget::GetTargetComponent ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description:
Hide the "Source Object" (eg PrimitiveComponent, Actor, etc) backing a ToolTarget
true on success

code: namespace UE { namespace ToolTarget { bool UE::ToolTarget::HideSourceObject ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description:
Show or Hide the "Source Object" (eg PrimitiveComponent, Actor, etc) backing a ToolTarget
true on success

code: namespace UE { namespace ToolTarget { bool UE::ToolTarget::SetSourceObjectVisible ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, bool bVisible ) } }


description:
Show the "Source Object" (eg PrimitiveComponent, Actor, etc) backing a ToolTarget
true on success

code: namespace UE { namespace ToolTarget { bool UE::ToolTarget::ShowSourceObject ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description: true if ToolTarget can be directly updated via an incremental edits, ie if it is acceptable to callApplyIncrementalMeshEditChange()on the target

code: namespace UE { namespace ToolTarget { bool UE::ToolTarget::SupportsIncrementalMeshChanges ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target ) } }


description: Find the set of per-vertex weight map attributes on a MeshDescription

code: namespace UE { namespace WeightMaps { void UE::WeightMaps::FindVertexWeightMaps ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * Mesh, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & PropertyNamesOut ) } }


description:
Extract a per-vertex weight map from a MeshDescription If the attribute with the given name is not found, a WeightMap initialized with the default value is returned
false if weight map was not found

code: namespace UE { namespace WeightMaps { bool UE::WeightMaps::GetVertexWeightMap ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * Mesh, [FName](API\Runtime\Core\UObject\FName) AttributeName, [FIndexedWeightMap1f](API\Runtime\GeometryCore\FIndexedWeightMap1f) & WeightMap, float DefaultValue ) } }


description: If true, calling End with EToolShutdownType::Accept will result in a valid completion of the activity. It's up to the tool whether to respect this or not, sinceEnd()should still end the activity.

code: virtual bool CanAccept() const


description: Check whether aStart()call will result in a success.

code: virtual bool CanStart() const


description: Force an end to the activity.

code: virtual [EToolActivityEndResult](API\Plugins\ModelingComponents\EToolActivityEndResult) End ( EToolShutdownType )


description: Similar to a tool, this determines whether the activity prefers an accept/cancel option to be displayed (if true) vs a "complete".

code: virtual bool HasAccept() const


description: Check whether the activity is running (though the tool can just check the result ofStart()itself).

code: virtual bool IsRunning() const


description: If the activity is running, should be called from the tool'sRender()

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: Should be called during a tool'sSetup(). Does not start the activity.

code: virtual void Setup ( [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * ParentToolIn )


description: We don't want to use this overload of Shutdown because an activity may need to know the ShutdownType if it is still running when Shutdown is called (to End properly).

code: virtual void Shutdown&40;&41;


description: Should be called during a tool's Shutdown()Should be called during a tool's Shutdown()

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


description: Attempt to start the activity.


description: If the activity is running, should be called from the tool'sOnTick()

code: virtual void Tick ( float DeltaTime )


description: Note about the below: we didn't really need to repeatSetup(),Tick(), andRender()here since these are staying the same asUInteractionMechanicand get inherited. But it is helpful to have the entire API that we need to implement described in one place

code: virtual ~UInteractiveToolActivity()


className: UInteractiveToolActivity

description: Passing data back and forth can be done either by letting a tool activity use a specific context object that the tool can prep in the context store, or by requiring the host to implement specific interfaces (that the activity can check for inSetup()).

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UInteractiveToolActivity : public [UInteractionMechanic](API\Runtime\InteractiveToolsFramework\UInteractionMechanic)


description: Terminate any active computation without returning anything. Destroys the preview mesh.

code: void Cancel()


description: Cancel the active computation without returning anything. Doesn't destroy the mesh.

code: void CancelCompute()


description: Stops any running computes and swaps in a different op generator. Does not update the preview mesh or start a new compute.

code: void ChangeOpFactory ( [UE::Geometry::IDynamicMeshOperatorFactory](API\Plugins\ModelingOperators\IDynamicMeshOperatorFactory) * OpGenerator )


description: Optional configuration Configure the Standard and In-Progress materials

code: void ConfigureMaterials ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * StandardMaterial, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * InProgressMaterial )


description: Configure the Standard and In-Progress materials

code: void ConfigureMaterials ( [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > StandardMaterials, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * InProgressMaterial, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * SecondaryMaterial )


description: Configure the In-Progress and Secondary Materials

code: void ConfigurePreviewMaterials ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * InProgressMaterial, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * SecondaryMaterial )


description: Disable the In Progress and Secondary Materials

code: void DisablePreviewMaterials()


className: FOnMeshUpdated

description: Change notification

code: typedef TMulticastDelegate_OneParam< void, [UMeshOpPreviewWithBackgroundCompute](API\Plugins\ModelingComponents\UMeshOpPreviewWithBackgroundComp-) * > FOnMeshUpdated


className: FOnOpCompleted

code: typedef TMulticastDelegate_OneParam< void, const [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator) * > FOnOpCompleted


description:
Read back a copy of current preview mesh.
true if MeshOut was initialized

code: bool GetCurrentResultCopy ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & MeshOut, bool bOnlyIfValid )


description: UWorldthat the created PreviewMesh exist in

code: virtual [UWorld](API\Runtime\Engine\Engine\UWorld) * GetWorld() const


description: true if current PreviewMesh result is valid (no update actively being computed) but that mesh has no triangles

code: bool HaveEmptyResult() const


description: true if current PreviewMesh result is valid (no update actively being computed) and that mesh has at least one triangle

code: bool HaveValidNonEmptyResult() const


description: true if the current PreviewMesh result is valid, ie no update being actively computed

code: bool HaveValidResult() const


description: Control flow Request that the current computation be canceled and a new one started

code: void InvalidateResult()


description: true if currently using the 'in progress' working material

code: bool IsUsingWorkingMaterial()


description:
Allow an external function to safely access the PreviewMesh's mesh
true if ProcessFunc was called

code: bool ProcessCurrentMesh ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) &)> ProcessFunc, bool bOnlyIfValid )


description: If set to true, then it will be assumed that the mesh topology (i.e. triangle/edge connectivity) remains constant, which will allow updates after the first one to modify existing render proxy buffers rather than creating entirely new ones. This will give a significant speedup to tools that do not add/remove vertices or affect their connectivity.

code: void SetIsMeshTopologyConstant ( bool bOn, EMeshRenderAttributeFlags ChangingAttributes )


code: void Setup ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld )


description: Required calls to setup/update/shutdown this object

code: void Setup ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, [UE::Geometry::IDynamicMeshOperatorFactory](API\Plugins\ModelingOperators\IDynamicMeshOperatorFactory) * OpGenerator )


description: Set the visibility of the Preview mesh

code: void SetVisibility ( bool bVisible )


description: Set time that Preview will wait before showing working material

code: void SetWorkingMaterialDelay ( float TimeInSeconds )


description: Terminate any active computation and return the current Preview Mesh/Transform


description: this must be called regularly for the class to function properly

code: void Tick ( float DeltaTime )


description: Update the PreviewMesh if a new result is available from BackgroundCompute

code: void UpdateResults()


className: UMeshOpPreviewWithBackgroundCompute

description: If an InProgress Material is set (via ConfigureMaterials) then when a background computation is active, this material will be used to draw the previous Preview result, to give the user a visual indication that work is happening.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Transient) class UMeshOpPreviewWithBackgroundCompute : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

BackgroundCompute

type: TUniquePtr<FBa...

description: This object manages the background computes

bAllowDirtyResultUpdates

type: bool

description: When true, the preview mesh is allowed to be temporarily updated using results that we know are dirty (i.e., the preview was invalidated, but a result became available before the operation was restarted, so we can at least show that while we wait for the new result).

bMeshTopologyIsConstant

description: Used for partial/fast updates of the preview mesh render proxy.

bResultValid

description: State flag, if true then we have valid result

ChangingAttributeFlags

type: EMeshRenderAttr...

LastComputeStatus

description: Stored status of last compute, mainly so that we know when we should show the "busy" material.

OnMeshUpdated

type: FOnMeshUpdated

description: This delegate is broadcast whenever the embedded preview mesh is updated

OnOpCompleted

type: FOnOpCompleted

OverrideMaterial

type: TObjectPtr<UMa...

description: Override material to forward to PreviewMesh if set

PreviewMesh

type: TObjectPtr<UPr...

description: Preview of MeshOperator result

PreviewWorld

type: TWeakObjectPtr<...

SecondaryMaterial

description: Secondary render material to forward to PreviewMesh if set

SecondsBeforeWorkingMaterial

type: float

StandardMaterials

type: TArray<TObject...

description: Input set of materials to assign to PreviewMesh

ValidResultComputeTimeSeconds

type: double

WorkingMaterial

description: If non-null, this material is swapped in when a background compute is active


description: Gets the category for the settings, some high level grouping like, Editor, Engine, Game...etc.

code: virtual [FName](API\Runtime\Core\UObject\FName) GetCategoryName() const


description: Gets the settings container name for the settings, either Project or Editor

code: virtual [FName](API\Runtime\Core\UObject\FName) GetContainerName() const


description: Gets the description for the section, uses the classes ToolTip by default.

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetSectionDescription() const


description: The unique name for your section of settings, uses the class'sFName.

code: virtual [FName](API\Runtime\Core\UObject\FName) GetSectionName() const


description: Gets the section text, uses the classes DisplayName by default.

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetSectionText() const


className: UModelingComponentsEditorSettings

description: Editor preferences for the Modeling Components plug-in.

GridMode

type: EModelingCompon...

description: The type of grid to draw in the viewport for modeling mode tools

GridScale

description: The base scale used to determine the size of the hierarchical plane

GridSize

description: The fraction of the viewport that the grid should occupy if looking at the plane's center

GridSpacing

description: The space between grid lines in world space

NumGridLines

type: int

description: The number of lines to be drawn for the plane


code: static void ApplyDefaultsToCreateMeshObjectParams ( [FCreateMeshObjectParams](API\Plugins\ModelingComponents\FCreateMeshObjectParams) & Params )


className: UModelingComponentsSettings

description: Settings for the Modeling Components plug-in. These settings are primarily used to configure two things:

bEnableCollision

description: Enable Collision Support for new Mesh Objects created by Modeling Tools

bEnableRayTracing

description: New Mesh Object settings, for new meshes/assets emitted by Modeling ToolsEnable Raytracing Support for new Mesh Objects created by Modeling Tools, if support is optional (eg DynamicMeshActors)

bEnableRayTracingWhileEditing

description: Rendering settings applied to Preview Components used during live mesh editingEnable Realtime Raytracing support for Mesh Editing Tools.

bGenerateLightmapUVs

description: Enable auto-generated Lightmap UVs for new Mesh Objects created by Modeling Tools, where supported

CollisionMode

type: TEnumAsByte< en...

description: Default Collision Mode set on new Mesh Objects created by Modeling Tools


description:
Create a new material object based on the data in CreateMaterialParams
a results data structure, containing a result code and information about any new objects created

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Modeling Objects") virtual [FCreateMaterialObjectResult](API\Plugins\ModelingComponents\FCreateMaterialObjectResult) CreateMaterialObject ( const [FCreateMaterialObjectParams](API\Plugins\ModelingComponents\FCreateMaterialObjectParams) & CreateMaterialParams )


code: virtual [FCreateMaterialObjectResult](API\Plugins\ModelingComponents\FCreateMaterialObjectResult) CreateMaterialObject ( [FCreateMaterialObjectParams](API\Plugins\ModelingComponents\FCreateMaterialObjectParams) && CreateMaterialParams )


description:
Create a new mesh object based on the data in CreateMeshParams
a results data structure, containing a result code and information about any new objects created

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Modeling Objects") virtual [FCreateMeshObjectResult](API\Plugins\ModelingComponents\FCreateMeshObjectResult) CreateMeshObject ( const [FCreateMeshObjectParams](API\Plugins\ModelingComponents\FCreateMeshObjectParams) & CreateMeshParams )


code: virtual [FCreateMeshObjectResult](API\Plugins\ModelingComponents\FCreateMeshObjectResult) CreateMeshObject ( [FCreateMeshObjectParams](API\Plugins\ModelingComponents\FCreateMeshObjectParams) && CreateMeshParams )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Modeling Objects") virtual [FCreateActorResult](API\Plugins\ModelingComponents\FCreateActorResult) CreateNewActor ( const [FCreateActorParams](API\Plugins\ModelingComponents\FCreateActorParams) & CreateActorParams )


code: virtual [FCreateActorResult](API\Plugins\ModelingComponents\FCreateActorResult) CreateNewActor ( [FCreateActorParams](API\Plugins\ModelingComponents\FCreateActorParams) && CreateActorParams )


description:
Create a new texture object based on the data in CreateTexParams
a results data structure, containing a result code and information about any new objects created

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="Modeling Objects") virtual [FCreateTextureObjectResult](API\Plugins\ModelingComponents\FCreateTextureObjectResult) CreateTextureObject ( const [FCreateTextureObjectParams](API\Plugins\ModelingComponents\FCreateTextureObjectParams) & CreateTexParams )


code: virtual [FCreateTextureObjectResult](API\Plugins\ModelingComponents\FCreateTextureObjectResult) CreateTextureObject ( [FCreateTextureObjectParams](API\Plugins\ModelingComponents\FCreateTextureObjectParams) && CreateTexParams )


description: Non-UFunction variants that support std::move operators If this function returns true, then theCreateMeshObject()andCreateTextureObject()that take && types can be called. This can reduce data copying, eg if the mesh data can be directly moved into the output mesh object.

code: virtual bool HasMoveVariants() const


className: UModelingObjectsCreationAPI

description: SeeUEditorModelingObjectsCreationAPIfor an example implementation suitable for in-Editor use.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, BlueprintType) class UModelingObjectsCreationAPI : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


description: Apply/Revert a vertex deformation change to the internal mesh (implementsIMeshVertexCommandChangeTarget)

code: virtual void ApplyChange ( const [FMeshVertexChange](API\Runtime\GeometryFramework\Changes\FMeshVertexChange) * Change, bool bRevert )


description: Apply/Revert a general mesh change to the internal mesh (implementsIMeshCommandChangeTarget)

code: virtual void ApplyChange ( const [FMeshChange](API\Runtime\GeometryFramework\Changes\FMeshChange) * Change, bool bRevert )


description: Apply/Revert a general mesh change to the internal mesh (implementsIMeshReplacementCommandChangeTarget)

code: virtual void ApplyChange ( const [FMeshReplacementChange](API\Runtime\GeometryFramework\Changes\FMeshReplacementChange) * Change, bool bRevert )


description:
Calculate tangents for the underlying component. This will calculate and assign tangents for the preview mesh independent of the tangents mode. But if the tangents mode is set to AutoCalculated then it will try to use the auto calculated tangents.
true if tangents were successfully calculated and assigned to the underlying mesh

code: bool CalculateTangents()


description: Read access to internal mesh Clear the preview mesh

code: void ClearPreview()


description: Clear the override material for the preview mesh.

code: void ClearOverrideRenderMaterial()


description: Clear the triangle color function for rendering / render data construction

code: void ClearTriangleColorFunction ( [ERenderUpdateMode](API\Plugins\ModelingComponents\UPreviewMesh\ERenderUpdateMode) UpdateMode )


description: Clear the secondary material for the preview mesh.

code: void ClearSecondaryRenderMaterial()


description: Construction / destruction Create preview mesh in the World with the given transform

code: void CreateInWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, const FTransform & WithTransform )


description: Apply EditFunc to the internal mesh, and update spatial data structure if requested, but do not update/rebuild rendering data structures. NotifyDeferredEditOcurred() must be called to complete a deferred edit, this will update the rendering mesh. DeferredEditMesh can be called multiple times beforeNotifyDeferredEditCompleted()is called.

code: void DeferredEditMesh ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void([FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) &)> EditFunc, bool bRebuildSpatial )


description: Disable secondary triangle buffers

code: void DisableSecondaryTriangleBuffers()


description: Remove and destroy preview mesh

code: void Disconnect()


description: Apply EditFunc to the internal mesh and update internal data structures as necessary

code: void EditMesh ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void([FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) &)> EditFunc )


description: Enable secondary triangle buffers. The Secondary material will be applied to any triangles that pass TriangleFilterFunc.

code: void EnableSecondaryTriangleBuffers ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool(const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) *, int32)> TriangleFilterFunc )


description: Visualization parameters Enable/disable wireframe overlay rendering

code: void EnableWireframe ( bool bEnable )


className: ERenderUpdateMode

description: Render data update hint (values mirror EDynamicMeshComponentRenderUpdateMode)

code: enum ERenderUpdateMode { NoUpdate = 0, FullUpdate = 1, FastUpdate = 2, }


description: Call this after updating the secondary triangle sorting. This function will update the existing buffers if possible, without rebuilding entire RenderProxy.


description: the current preview FDynamicMesh, and replace with a new empty mesh

code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) > ExtractPreviewMesh() const


description:
Find nearest point on current mesh to given WorldPoint Requires that bBuildSpatialDataStructure = true unless bLinearSearch = true
nearest point in world space

code: FVector3d FindNearestPoint ( const FVector3d & WorldPoint, bool bLinearSearch )


description:
returns false if preview is not visible
true if ray intersections mesh

code: bool FindRayIntersection ( const FRay3d & WorldRay, [FHitResult](API\Runtime\Engine\Engine\FHitResult) & HitOut )


description: Force rebuild of internal spatial data structure. Can be used in context of DeferredEditMesh to rebuild spatial data structure w/o rebuilding render data

code: void ForceRebuildSpatial()


description: the actual material that will be used for rendering for the given MaterialIndex. Will return override material if set.

code: [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetActiveMaterial ( int MaterialIndex ) const


description: internal Actor created by thisUPreviewMesh

code: [AActor](API\Runtime\Engine\GameFramework\AActor) * GetActor() const


description: true if SetEnableRenderMeshDecomposition(true) has been called.


description: Get material from the preview mesh

code: [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetMaterial ( int MaterialIndex ) const


description: Get the entire materials array from the preview mesh. Appends to OutMaterials without clearing it.

code: void GetMaterials ( [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > & OutMaterials ) const


description:
Read access to the internal mesh. This function will be deprecated/removed, useProcessMesh()instead.
pointer to the current FDynamicMesh used for preview

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


description: Get number of materials in the preview mesh (base materials, i.e., not including override material)

code: int32 GetNumMaterials() const


description: pointer to the current FDynamicMesh used for preview

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


description: delegate that is broadcast whenever the internal mesh component is changed


description: internal Root Component of internal Actor


description:
This has to return non-const because of current FDynamicMeshAABBTree3 API, but you should not modify this!
point to the current AABBTree used for preview spatial mesh, or nullptr if not available


description: Get the current transform on the preview mesh

code: FTransform GetTransform() const


description: true if the preview mesh is visible

code: bool IsVisible() const


description: Notify that a DeferredEditMesh sequence is complete and cause update of rendering data structures.

code: void NotifyDeferredEditCompleted ( [ERenderUpdateMode](API\Plugins\ModelingComponents\UPreviewMesh\ERenderUpdateMode) UpdateMode, EMeshRenderAttributeFlags ModifiedAttribs, bool bRebuildSpatial )


description: Notify that a deferred edit is completed and cause update of rendering data structures for modified Triangles. This can reduce the cost of mesh updates, but only if SetEnableRenderMeshDecomposition(true) has been called

code: void NotifyRegionDeferredEditCompleted ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Triangles, EMeshRenderAttributeFlags ModifiedAttribs )


code: void NotifyRegionDeferredEditCompleted ( const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & Triangles, EMeshRenderAttributeFlags ModifiedAttribs )


description: This function is called internally on some changes, to let the path tracer know that this mesha/actor has been modified in a way that will require invalidating the current path tracing result


description: Give external code direct read access to the internal FDynamicMesh3. This should be used preferentially overGetMesh()/GetPreviewDynamicMesh()

code: virtual void ProcessMesh ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) &)> ProcessFunc ) const


description: Edit access to internal mesh, and change-tracking/notification Replace mesh with new mesh

code: void ReplaceMesh ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & NewMesh )


description: Enable automatically-computed decomposition of internal mesh into subregions when rendering (ie inside the Component). This allows for faster local updates viaNotifyRegionDeferredEditCompleted()functions above. Decomposition will be automatically recomputed as necessary when internal mesh is modified via changes, edits, etc

code: virtual void SetEnableRenderMeshDecomposition ( bool bEnable )


description: Set material on the preview mesh

code: void SetMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * Material )


description: Set material on the preview mesh

code: void SetMaterial ( int MaterialIndex, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * Material )


description: Replace mesh with new mesh

code: void ReplaceMesh ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) && NewMesh )


description: Set the entire material set on the preview mesh

code: void SetMaterials ( const [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > & Materials )


description: Set an override material for the preview mesh. This material will override all the given materials.

code: void SetOverrideRenderMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * Material )


description: Show/Hide the secondary triangle buffers.

code: void SetSecondaryBuffersVisibility ( bool bSecondaryVisibility )


description: Set an secondary material for the preview mesh. This material will be applied to secondary triangle buffer if enabled.

code: void SetSecondaryRenderMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * Material )


description: Enable/disable shadow rendering

code: void SetShadowsEnabled ( bool bEnable )


description: Set the tangents mode for the underlying component, if available. Note that this function may need to be called before the mesh is initialized.

code: void SetTangentsMode ( EDynamicMeshComponentTangentsMode TangentsType )


description: Set the transform on the preview mesh

code: void SetTransform ( const FTransform & UseTransform )


description: Set the triangle color function for rendering / render data construction

code: void SetTriangleColorFunction ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< [FColor](API\Runtime\Core\Math\FColor)(const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) *, int)> TriangleColorFunc, [ERenderUpdateMode](API\Plugins\ModelingComponents\UPreviewMesh\ERenderUpdateMode) UpdateMode )


description: Set visibility state of the preview mesh

code: void SetVisible ( bool bVisible )


description:
returns false if preview is not visible
true if ray intersections mesh

code: bool TestRayIntersection ( const FRay3d & WorldRay )


description: Update the internal mesh by copying the given Mesh

code: void UpdatePreview ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, [ERenderUpdateMode](API\Plugins\ModelingComponents\UPreviewMesh\ERenderUpdateMode) UpdateMode, EMeshRenderAttributeFlags ModifiedAttribs )


description: Apply EditFunc to the internal mesh and update internal data structures as necessary. EditFunc is required to notify the given FDynamicMeshChangeTracker about all mesh changesFMeshChangeextracted from FDynamicMeshChangeTracker that represents mesh edit

code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshChange](API\Runtime\GeometryFramework\Changes\FMeshChange) > TrackedEditMesh ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void([FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) &, [UE::Geometry::FDynamicMeshChangeTracker](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshChangeTracker) &)> EditFunc )


description: Update the internal mesh by moving in the given Mesh

code: void UpdatePreview ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) && Mesh, [ERenderUpdateMode](API\Plugins\ModelingComponents\UPreviewMesh\ERenderUpdateMode) UpdateMode, EMeshRenderAttributeFlags ModifiedAttribs )


description: Update chunk decomposition

code: void UpdateRenderMeshDecomposition()


code: virtual ~UPreviewMesh()


className: UToolActivityHost

code: class UToolActivityHost : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


className: UPreviewMesh

description: As a result direct access to the Actor/Component, or a non-const FDynamicMesh3, is intentionally not provided. Wrapper functions are provided (or should be added) for necessary Actor/Component parameters. To edit the mesh either a copy is done, orEditMesh()/ApplyChange() must be used. These functions automatically update necessary internal data structures.

bBuildSpatialDataStructure

description: If true, we build a spatial data structure internally for the preview mesh, which allows for hit-testing

bDecompositionEnabled

description: If true, mesh will be chunked into multiple render buffers inside the DynamicMeshComponent

DynamicMeshComponent

type: TObjectPtr<UDy...

description: This component is set as the root component of TemporaryParentActor

MeshAABBTree

description: Spatial data structure that is initialized if bBuildSpatialDataStructure = true whenUpdatePreview()is called

TemporaryParentActor

type: APreviewMeshAct...

description: The temporary actor we create internally to own the preview mesh component


className: FMaterialAssetOptions

description: Options for newUMaterialasset created byCreate()functions below.

module: ModelingComponentsEditorOnly

code: struct FMaterialAssetOptions

NewAssetPath

type: FString

UsePackage

type: UPackage*

description: This package will be used if it is not null, otherwise a new package will be created at NewAssetPath


className: FSkeletalMeshAssetMeshes

description: Set of input meshes for StaticMeshCreate()functions below. Only one of the arrays should be initialized, and it's size should be equal to the number of LODs specified for the Asset.

code: struct FSkeletalMeshAssetMeshes

DynamicMeshes

type: TArray< constF...

MoveMeshDescriptions

type: TArray<FMeshDe...


className: FSkeletalMeshAssetOptions

description: Options for newUSkeletalMeshasset created byCreate()functions below.

code: struct FSkeletalMeshAssetOptions

AssetMaterials

type: TArray<UMateri...

description: Optional list of materials to initialize the Asset with. If defined, size must be the same as NumMaterialSlots.

bEnableRecomputeNormals

type: bool

description: Controls whether or not the RecomputeNormals option will be enabled on the Asset.

bEnableRecomputeTangents

description: Controls whether or not the RecomputeTangents option will be enabled on the Asset.

NumMaterialSlots

description: Number of Material Slots desired on the Asset. At least one will always be created.

NumSourceModels

description: Number of SourceModels (ie LODs)

RefSkeleton

type: FReferenceSkele...

description: The associatedFReferenceSkeletonobject. If null, the reference skeleton of the Skeleton object is used instead.

SkeletalMaterials

type: TArray<FSkelet...

description: List of skeletal materials. These will be used over the AssetMaterials, if provided.

Skeleton

type: USkeleton*

description: The associatedUSkeletonobject.

SourceMeshes

type: FSkeletalMeshAs...

description: Optional list of meshes to use to initialize SourceModels. If defined, only one array should be non-empty, and must be the same length as NumSourceModels.

UsePackage

description: This package will be used if it is not nullptr, otherwise a new package will be created at NewAssetPath.


className: FSkeletalMeshResults

description: Output information about a newly-created StaticMesh, returned by Create functions below. Some fields may be null, if the relevant function did not create that type of object

code: struct FSkeletalMeshResults

SkeletalMesh

type: USkeletalMesh&...

description: USkeletalMeshasset that was created


className: FStaticMeshAssetMeshes

code: struct FStaticMeshAssetMeshes

DynamicMeshes

type: TArray< constU...


className: FStaticMeshAssetOptions

description: Options for newUStaticMeshasset created byCreate()functions below.

code: struct FStaticMeshAssetOptions

bAllowDistanceField

description: Whether to allow distance field to be computed for this mesh. Disable this to save memory if the generated mesh will only be rendered in the distance.

bCreatePhysicsBody

description: Controls whether theUBodySetupon the Asset will be created (generally should be true)

bDeferPostEditChange

description: By default, PostEditChange() will be called to rebuild mesh, set true to skip this call

bGenerateLightmapUVs

description: Whether to generate lightmap uvs for the generated mesh.

bGenerateNaniteEnabledMesh

description: Whether to generate a nanite-enabled mesh.

bSupportRayTracing

description: Whether ray tracing will be supported on this mesh. Disable this to save memory if the generated mesh will only be rendered in the distance.

CollisionType

type: ECollisionTrace...

description: Set asset collision type

NaniteSettings

type: FMeshNaniteSett...

description: Nanite settings to set on static mesh asset.

NumSourceModels

description: Number of SourceModels (ie LODs)

SourceMeshes

type: FStaticMeshAsse...


className: FMaterialAssetResults

description: Output information about a newly-createdUMaterial, returned by Create functions below. Some fields may be null, if the relevant function did not create that type of object

code: struct FMaterialAssetResults

NewMaterial

type: UMaterial*

NewMaterialInstance

type: UMaterialInstan...


className: FStaticMeshResults

code: struct FStaticMeshResults

Actor

type: UStaticMeshActo...

description: New Actor that was created for the Component (or null, if no component is created)

Component

type: UStaticMeshComp...

description: New Component that was created that references the Asset (or null, if no component is created)

StaticMesh

type: UStaticMesh...

description: UStaticMeshasset that was created


description: Options for newUTextureasset created byCreate()functions below.

code: struct FTexture2DAssetOptions

bOverwriteIfExists

description: If NewAssetPath already exists, update the existing Texture2D.

NewAssetPath

type: FString

UsePackage

type: UPackage*

description: This package will be used if it is not null, otherwise a new package will be created at NewAssetPath


description: Output information about a newly-createdUTexture2D, returned by Create functions below. Some fields may be null, if the relevant function did not create that type of object

code: struct FTexture2DAssetResults


description: Result enum returned byCreate()functions below to indicate succes/error conditions

code: namespace UE { namespace AssetUtils { enum ECreateMaterialResult { Ok = 0, InvalidPackage = 1, InvalidBaseMaterial = 2, NameError = 3, DuplicateFailed = 4, UnknownError = 100, } } }


description: Result enum returned by Create functions below to indicate success/error conditions

code: namespace UE { namespace AssetUtils { enum ECreateSkeletalMeshResult { Ok = 0, InvalidPackage = 1, InvalidSkeleton = 2, UnknownError = 100, } } }


description: Result enum returned by Create functions below to indicate succes/error conditions

code: namespace UE { namespace AssetUtils { enum ECreateStaticMeshResult { Ok = 0, InvalidPackage = 1, UnknownError = 100, } } }


description: Result enum returned byCreate()functions below to indicate success/error conditions

code: namespace UE { namespace AssetUtils { enum ECreateTexture2DResult { Ok = 0, InvalidPackage = 1, InvalidInputTexture = 2, NameError = 3, OverwriteTypeError = 4, UnknownError = 100, } } }


description:
Create a newUMaterialAsset by duplicating the parentUMaterialof BaseMaterial
Ok, or error flag if some part of the creation process failed. On failure, no Asset is created.

code: namespace UE { namespace AssetUtils { [ECreateMaterialResult](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\UE__AssetUtils__-) UE::AssetUtils::CreateDuplicateMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * BaseMaterial, [FMaterialAssetOptions](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\FMaterialAssetOptions) & Options, [FMaterialAssetResults](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\FMaterialAssetResults) & ResultsOut ) } }


description:
Create a newUMaterialInstanceConstantAsset derived from the parentUMaterialof BaseMaterial. If the input is aUMaterialInstanceConstant, duplicate it to preserve existing parameters/etc
Ok, or error flag if some part of the creation process failed. On failure, no Asset is created.

code: namespace UE { namespace AssetUtils { [ECreateMaterialResult](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\UE__AssetUtils__-) UE::AssetUtils::CreateDerivedMaterialInstance ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * BaseMaterial, [FMaterialAssetOptions](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\FMaterialAssetOptions) & Options, [FMaterialAssetResults](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\FMaterialAssetResults) & ResultsOut ) } }


description:
Create a newUStaticMeshAsset based on the input Options
Ok, or error flag if some part of the creation process failed. On failure, no Asset is created.

code: namespace UE { namespace AssetUtils { [ECreateSkeletalMeshResult](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\UE__AssetUtils__-_1) UE::AssetUtils::CreateSkeletalMeshAsset ( const [FSkeletalMeshAssetOptions](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\FSkeletalMeshAssetOptions) & Options, [FSkeletalMeshResults](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\FSkeletalMeshResults) & ResultsOut ) } }


description:
Convert a temporaryUTexture2Din the Transient package into a serialized Asset
Ok, or error flag if some part of the creation process failed. On failure, no Asset is created.

code: namespace UE { namespace AssetUtils { [ECreateTexture2DResult](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\UE__AssetUtils__-_3) UE::AssetUtils::SaveGeneratedTexture2DAsset ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * GeneratedTexture, [FTexture2DAssetOptions](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\FTexture2DAssetOptions) & Options, [FTexture2DAssetResults](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\FTexture2DAssetResults) & ResultsOut ) } }


code: namespace UE { namespace AssetUtils { [ECreateStaticMeshResult](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\UE__AssetUtils__-_2) UE::AssetUtils::CreateStaticMeshAsset ( [FStaticMeshAssetOptions](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\FStaticMeshAssetOptions) & Options, [FStaticMeshResults](API\Plugins\ModelingComponentsEditorOnly\AssetUtils\FStaticMeshResults) & ResultsOut ) } }


className: FMeshToVolumeOptions

code: struct FMeshToVolumeOptions

bAutoSimplify

type: bool

description: If true, simplify the input mesh to the specified target triangle count.

bRespectGroupBoundaries

description: When true, coplanar components with different group id's will not be merged into a single volume polygon.

MaxTriangles

description: If true, simplify the mesh to the specified target triangle count


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: FModelingComponentsEditorOnlyModule

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


className: ESubdivisionBoundaryScheme

code: enum ESubdivisionBoundaryScheme { SmoothCorners, SharpCorners, }


className: FDynamicMeshFace

code: struct FDynamicMeshFace

BoundaryLoop

type: TArray< FVector...


className: ESubdivisionOutputNormals

description: Method for computing normals on the output mesh

code: enum ESubdivisionOutputNormals { Interpolated, Generated, None, }


className: ESubdivisionOutputUVs

description: Method for computing UVs on the output mesh

code: enum ESubdivisionOutputUVs { Interpolated, None, }


code: bool ComputeSubdividedMesh ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & OutMesh )


code: bool ComputeTopologySubdivision()


className: ETopologyCheckResult

code: enum ETopologyCheckResult { Ok = 0, NoGroups = 1, InsufficientGroups = 2, UnboundedPolygroup = 3, MultiBoundaryPolygroup = 4, DegeneratePolygroup = 5, }


className: RefinerImpl

code: class RefinerImpl


code: FSubdividePoly ( const [FGroupTopology](API\Plugins\DynamicMesh\FGroupTopology) & InTopology, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & InOriginalMesh, int InLevel )


code: ~FSubdividePoly()


className: ESubdivisionScheme

description: Subdivision scheme

code: enum ESubdivisionScheme { Bilinear, CatmullClark, Loop, }


className: FSubdividePoly

description: Interprets an FGroupTopology object as a poly mesh and refines it to a given level. Topological subdivision can be computed separately from the interpolation of vertex positions. A typical workflow might be to first precompute the refined topology, then compute the interpolated positions (and other vertex values) as the original polymesh is deformed.

code: class FSubdividePoly

BoundaryScheme

type: ESubdivisionBou...

NormalComputationMethod

type: ESubdivisionOut...

SubdivisionScheme

type: ESubdivisionSch...


className: FActorAddRemoveSignature

code: typedef TMulticastDelegate_OneParam< void, [AActor](API\Runtime\Engine\GameFramework\AActor) * > FActorAddRemoveSignature


code: void HandleActorAddedEvent ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor )


code: void HandleActorDeletedEvent ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor )


description: Begin watching WorldIn. This will emit OnActorAdded for all Actors in the World.

code: void Initialize ( [UWorld](API\Runtime\Engine\Engine\UWorld) * WorldIn )


code: void OnUntrackedLevelChange()


description: FEditorUndoClientimplementation.

code: virtual void PostUndo ( bool bSuccess )


description: Signal that client should run any PostRedo code

code: virtual void PostRedo ( bool bSuccess )


description: Stop watching WorldIn. This will emit OnActorRemoved for all Actors that the Observer is currently aware of.

code: void Shutdown()


description: Destructor.

code: virtual ~FLevelObjectsObserver()


className: FLevelObjectsObserver

description: Note that it is not possible to guarantee thatOnActorRemoved()fires before an Actor is GC'd. So, listeners should maintain TWeakObjectPtr<>'s on Actors if they need to know this information.

code: class FLevelObjectsObserver : public [FEditorUndoClient](API\Editor\UnrealEd\FEditorUndoClient)

Actors

type: TSet<AActor&#...

OnActorAdded

type: FActorAddRemove...

description: OnActorAdded is emitted when a new Actor is detected

OnActorAddedHandle

type: FDelegateHandle

OnActorRemoved

description: OnActorRemoved is emitted when an existing Actor is destroyed.

World

type: UWorld*


description: true if this Factory can build anIGeometrySelectorfor the provided TargetIdentifier

code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IGeometrySelector](API\Plugins\ModelingComponents\Selection\IGeometrySelector) > BuildForTarget ( [FGeometryIdentifier](API\Plugins\ModelingComponents\Selection\FGeometryIdentifier) TargetIdentifier ) const


code: virtual bool CanBuildForTarget ( [FGeometryIdentifier](API\Plugins\ModelingComponents\Selection\FGeometryIdentifier) TargetIdentifier ) const


className: FBrushComponentSelectorFactory

description: FVolumeComponentSelectorFactory constructsFVolumeSelectorinstances for UBrushComponents

code: class FBrushComponentSelectorFactory : public [IGeometrySelectorFactory](API\Plugins\ModelingComponents\Selection\IGeometrySelectorFactory)


className: FStaticMeshComponentSelectorFactory

description: FStaticMeshComponentSelectorFactoryconstructsFStaticMeshSelectorinstances for UStaticMeshComponents

code: class FStaticMeshComponentSelectorFactory : public [IGeometrySelectorFactory](API\Plugins\ModelingComponents\Selection\IGeometrySelectorFactory)


code: virtual bool Initialize ( [FGeometryIdentifier](API\Plugins\ModelingComponents\Selection\FGeometryIdentifier) SourceGeometryIdentifier )


code: void CommitMeshTransform()


code: void CopyFromStaticMesh()


description: Create and initialize aIGeometrySelectionTransformerfor the provided Selection.IGeometrySelectorretains ownership of the active Transformer, it should not be deleted by the caller, but insteadShutdownTransformation()should be called.

code: virtual [IGeometrySelectionTransformer](API\Plugins\ModelingComponents\Selection\IGeometrySelectionTransformer) * InitializeTransformation ( const [FGeometrySelection](API\Plugins\ModelingComponents\Selection\IGeometrySelector\FGeometrySelection) & Selection )


description: Virtual boolSleep(); virtual boolRestore();

code: virtual bool IsLockable() const


code: virtual bool IsLocked() const


code: static void SetAssetUnlockedOnCreation ( [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMesh )


description: IGeometrySelectorAPI implementation

code: virtual void Shutdown()


code: virtual void SetLockedState ( bool bLocked )


description: Disable sleep on StaticMesh Selector until we can properly track changes...

code: virtual bool SupportsSleep() const


description: Shutdown an activeIGeometrySelectionTransformer. Generally only one Transformer may be active at any time, and it is an error to shut it down multiple times.

code: virtual void ShutdownTransformation ( [IGeometrySelectionTransformer](API\Plugins\ModelingComponents\Selection\IGeometrySelectionTransformer) * Transformer )


description: This is a bit ugly and might be possible to do more cleanly by having the StaticMeshSelector listen to theUDynamicMeshfor changes. However currently we do not have the granularity to have it /only/ listen for external mesh edit changes, and not all changes (and since theUDynamicMeshchanges in response to StaticMesh changes, eg on undo or external edits, it creates a cycle).

code: virtual void UpdateAfterGeometryEdit ( [IToolsContextTransactionsAPI](API\Runtime\InteractiveToolsFramework\IToolsContextTransactionsAPI) * TransactionsAPI, bool bInTransaction, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [UE::Geometry::FDynamicMeshChange](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshChange) > DynamicMeshChange, [FText](API\Runtime\Core\Internationalization\FText) GeometryEditTransactionString )


className: FStaticMeshSelector

code: class FStaticMeshSelector : public [FBaseDynamicMeshSelector](API\Plugins\ModelingComponents\Selection\FBaseDynamicMeshSelector)

ActiveTransformer

type: TSharedPtr<FBa...

LocalTargetMesh

type: TStrongObjectPt...

description: TODO: this is not a great design, it would be better if something external could own this mesh...


code: virtual void PostRedo ( bool bSuccess )


description: FEditorUndoClientimplementation.

code: virtual void PostUndo ( bool bSuccess )


code: static void SetComponentUnlockedOnCreation ( [UBrushComponent](API\Runtime\Engine\Components\UBrushComponent) * Component )


description: Disable sleep on VolumeSelector until we can properly track changes...


code: void UpdateDynamicMeshFromVolume()


code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FPrimitiveComponentTarget](API\Runtime\InteractiveToolsFramework\FPrimitiveComponentTarget) > Build ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * PrimitiveComponent )


className: FVolumeSelector

code: class FVolumeSelector : public [FBaseDynamicMeshSelector](API\Plugins\ModelingComponents\Selection\FBaseDynamicMeshSelector), public [FEditorUndoClient](API\Editor\UnrealEd\FEditorUndoClient)

BrushComponent

type: UBrushComponent...

ParentVolume

type: AVolume*


code: virtual bool CanBuild ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * Candidate )


className: FVolumeComponentTargetFactory

code: class FVolumeComponentTargetFactory : public [FComponentTargetFactory](API\Runtime\InteractiveToolsFramework\FComponentTargetFactory)


description: Commit an update to the material set. This may generate a transaction.

code: virtual void CommitMaterialSetUpdate ( const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSet, bool bApplyToAsset )


description: Get material set provided by this source

code: virtual void GetMaterialSet ( [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSetOut, bool bAssetMaterials ) const


code: virtual void CommitMesh ( const [FCommitter](API\Runtime\InteractiveToolsFramework\FPrimitiveComponentTarget\FCommitter) & )


code: virtual [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * GetMesh()


description:
Checks if the underlying asset that would be edited byCommitMesh()is the same for two ComponentTargets
true if both component targets are known to share the same source asset

code: virtual bool HasSameSourceData ( const [FPrimitiveComponentTarget](API\Runtime\InteractiveToolsFramework\FPrimitiveComponentTarget) & OtherTarget ) const


code: FVolumeComponentTarget ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * Component )


className: FVolumeComponentTarget

description: Deprecated. Use the tool target instead.

code: class FVolumeComponentTarget : public [FPrimitiveComponentTarget](API\Runtime\InteractiveToolsFramework\FPrimitiveComponentTarget)

ConvertedMeshDescription

type: TUniquePtr<FMe...


description: IDynamicMeshCommitterimplementation.

code: virtual void CommitDynamicMesh ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, const [FDynamicMeshCommitInfo](API\Plugins\ModelingComponents\TargetInterfaces\IDynamicMeshCommitter\FDynamicMeshComm-) & CommitInfo )


description: Commit a change to theUDynamicMesh. The assumption here is that the Change has already been applied to theUDynamicMeshreturned byGetDynamicMeshContainer(). This function is used by Tools to provide that change to higher levels for storage in undo systems/etc (eg the Editor Transaction system)

code: virtual void CommitDynamicMeshChange ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange) > Change, const [FText](API\Runtime\Core\Internationalization\FText) & ChangeMessage )


description:
TODO: We may decide that we want some functions to query whether the object allows one or the other, or we may break this out into a separate interface. We'll wait to see when this actually becomes necessary to see the most convenient way to go at that point.
true if successful

code: virtual bool CommitMaterialSetUpdate ( const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSet, bool bApplyToAsset )


description: The CollisionDataProvider for this physics data source. If Nullptr, no physics data exists or is available.

code: virtual [IInterface_CollisionDataProvider](API\Runtime\Engine\Interfaces\IInterface_CollisionDataProvider) * GetComplexCollisionProvider() const


description: IMeshDescritpionCommitter implementation.

code: virtual void CommitMeshDescription ( const [FCommitter](API\Runtime\InteractiveToolsFramework\TargetInterfaces\IMeshDescriptionCommitter\FCommitter) & Committer, const [FCommitMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FCommitMeshParameters) & CommitMeshParams )


description: IPhysicsDataSourceimplementation.

code: virtual [UBodySetup](API\Runtime\Engine\PhysicsEngine\UBodySetup) * GetBodySetup() const


description: IDynamicMeshProviderimplementation.


description: IPersistentDynamicMeshSourceimplementation.

code: virtual [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * GetDynamicMeshContainer()


description: theUDynamicMeshComponentthat owns the sourceUDynamicMesh, if available


description: Note: Some of our code expects at leastFStaticMeshAttributesto be registered with the provided mesh description, and will break if some of the attributes thatFStaticMeshAttributesuses are not present. The only reason we don't provide a default implementation here that is identical to the one used in StaticMeshToolTarget.cpp is to avoid a dependency on the static mesh description module in ITF.


description:
Get pointer to a Material provided by this Source
MaterialInterface pointer, or null if MaterialIndex is invalid

code: virtual [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetMaterial ( int32 MaterialIndex ) const


code: virtual void GetMaterialSet ( [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSetOut, bool bPreferAssetMaterials ) const


description: IMeshDescriptionProviderimplementation.

code: virtual const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * GetMeshDescription ( const [FGetMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FGetMeshParameters) & GetMeshParams )


description: IMaterialProviderimplementation.

code: virtual int32 GetNumMaterials() const


description:
Optional
true if theUDynamicMeshcomes from aUDynamicMeshComponent(or subclass)

code: virtual bool HasDynamicMeshComponent() const


description: UToolTarget.

code: virtual bool IsValid() const


className: UDynamicMeshComponentToolTarget

description: A ToolTarget backed by a DynamicMeshComponent


code: virtual [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * BuildTarget ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * SourceObject, const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & TargetTypeInfo )


code: virtual bool CanBuildTarget ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * SourceObject, const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & TargetTypeInfo ) const


className: UDynamicMeshComponentToolTargetFactory

description: Factory forUDynamicMeshComponentToolTargetto be used by the target manager.


description: IDynamicMeshProvider.


description: ISkeletalMeshBackedTargetimplementation.

code: virtual [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * GetSkeletalMesh() const


description: UToolTargetimplementation.


description: A tool target backed by a read-only skeletal mesh component that can provide and take a mesh description.

CachedMeshDescription

description: UntilUSkeletalMeshstores its internal representation asFMeshDescription, we need to retain the storage here to cover the lifetime of the pointer returned byGetMeshDescription().


description: Factory forUSkeletalMeshComponentReadOnlyToolTargetto be used by the target manager.


description: IDynamicMeshCommitter.


className: USkeletalMeshComponentToolTarget

description: A tool target backed by a skeletal mesh component that can provide and take a mesh description.


description: IMeshDescriptionCommitterimplementation.

code: virtual void CommitMeshDescription ( const [FCommitter](API\Runtime\InteractiveToolsFramework\TargetInterfaces\IMeshDescriptionCommitter\FCommitter) & Committer, const [FCommitMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FCommitMeshParameters) & CommitParams )


className: USkeletalMeshComponentToolTargetFactory

description: Factory forUSkeletalMeshComponentToolTargetto be used by the target manager.


code: static bool CommitMaterialSetUpdate ( [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * SkeletalMesh, const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSet, bool bApplyToAsset )


description:
TODO: We may decide that we want some functions to query whether the object allows one or the other, or we may break this out into a separate interface. We'll wait to see when this actually becomes necessary to see the most convenient way to go at that point.
true if successful


description: Get material set provided by this source


code: static void GetMaterialSet ( const [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * SkeletalMesh, [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSetOut, bool bPreferAssetMaterials )


description: IMeshDescriptionProviderimplementation.


code: static void GetMeshDescription ( const [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * SkeletalMesh, [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & MeshDescriptionOut )


description: IMaterialProviderimplementation.


description: UToolTarget.


description: Deprecated* This function doesn't check anything skeletal mesh specific, only (badly) checks to see if the object is alive

code: static bool IsValid ( const [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * USkeletalMesh )


className: USkeletalMeshReadOnlyToolTarget

description: This is a special tool target that refers to the underlying asset (in this case a skeletal mesh), rather than indirectly through a component. This type of target is used in cases, such as opening an asset through the content browser, when there is no component available.

SkeletalMesh

type: TWeakObjectPtr<...


className: USkeletalMeshReadOnlyToolTargetFactory

description: Factory forUSkeletalMeshReadOnlyToolTargetto be used by the target manager.


className: USkeletalMeshToolTargetFactory

description: Factory forUSkeletalMeshToolTargetto be used by the target manager.


code: virtual void CommitMeshDescription ( const [FCommitter](API\Runtime\InteractiveToolsFramework\TargetInterfaces\IMeshDescriptionCommitter\FCommitter) & Committer, const [FCommitMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FCommitMeshParameters) & CommitMeshParams )


code: static void CommitMeshDescription ( [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * SkeletalMesh, [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * MeshDescription, const [FCommitter](API\Runtime\InteractiveToolsFramework\TargetInterfaces\IMeshDescriptionCommitter\FCommitter) & Committer )


className: USkeletalMeshToolTarget

description: A tool target backed by a skeletal mesh.


description: IDynamicMeshCommitter.

code: virtual void CommitDynamicMesh ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, const [FDynamicMeshCommitInfo](API\Plugins\ModelingComponents\TargetInterfaces\IDynamicMeshCommitter\FDynamicMeshComm-) & CommitInfo )


description: IMeshDescritpionCommitter implementation.


description: For providers that have LODs (i.e. if SupportsLODs returns true), returns an array of all available LODs. Otherwise, returns an array with just the Default LOD.

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< EMeshLODIdentifier > GetAvailableLODs ( bool bSkipAutoGenerated ) const


description: IPhysicsDataSource.

code: virtual [UBodySetup](API\Runtime\Engine\PhysicsEngine\UBodySetup) * GetBodySetup() const


description: The CollisionDataProvider for this physics data source. If Nullptr, no physics data exists or is available.

code: virtual [IInterface_CollisionDataProvider](API\Runtime\Engine\Interfaces\IInterface_CollisionDataProvider) * GetComplexCollisionProvider() const


description: IDynamicMeshProvider.


description: Note: Some of our code expects at leastFStaticMeshAttributesto be registered with the provided mesh description, and will break if some of the attributes thatFStaticMeshAttributesuses are not present. The only reason we don't provide a default implementation here that is identical to the one used in StaticMeshToolTarget.cpp is to avoid a dependency on the static mesh description module in ITF.


description: current editing LOD

code: virtual EMeshLODIdentifier GetEditingLOD() const


description:
Get pointer to a Material provided by this Source
MaterialInterface pointer, or null if MaterialIndex is invalid

code: virtual [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetMaterial ( int32 MaterialIndex ) const


code: virtual void GetMaterialSet ( [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSetOut, bool bPreferAssetMaterials ) const


description: IMeshDescriptionProviderimplementation.

code: virtual const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * GetMeshDescription ( const [FGetMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FGetMeshParameters) & GetMeshParams )


description: Get a copy of the MeshDescription available through this Provider.

code: virtual [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) GetMeshDescriptionCopy ( const [FGetMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FGetMeshParameters) & GetMeshParams )


description: For providers that have LODs (i.e. if SupportsLODs returns true), returns the LOD that GetMeshDescription/etc will return. Otherwise, returns Default LOD.

code: virtual EMeshLODIdentifier GetMeshDescriptionLOD() const


description: IMaterialProviderimplementation.

code: virtual int32 GetNumMaterials() const


description: IStaticMeshBackedTarget.

code: virtual [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * GetStaticMesh() const


description: UToolTarget.

code: virtual bool IsValid() const


description: Configure active LOD to edit. Can only call this after Component is configured in baseUPrimitiveComponentToolTarget. If requested LOD does not exist, fall back to one that does.

code: virtual void SetEditingLOD ( EMeshLODIdentifier RequestedEditingLOD )


className: UStaticMeshComponentToolTarget

description: A tool target backed by a static mesh component that can provide and take a mesh description.

EditingLOD

type: EMeshLODIdentif...


code: virtual [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * BuildTarget ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * SourceObject, const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & TargetTypeInfo )


code: virtual bool CanBuildTarget ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * SourceObject, const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & TargetTypeInfo ) const


description: true if the provider is able to provide different Mesh Descriptions for different requested LODs. If so,GetAvailableLODs()will return the available LODs.

code: virtual bool SupportsLODs() const


code: virtual EMeshLODIdentifier GetActiveEditingLOD() const


code: virtual void SetActiveEditingLOD ( EMeshLODIdentifier NewEditingLOD )


className: UStaticMeshComponentToolTargetFactory

description: Factory forUStaticMeshComponentToolTargetto be used by the target manager.

description: LOD to edit, default is to edit LOD0.


description: IDynamicMeshCommitter.

code: virtual void CommitDynamicMesh ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, const [FDynamicMeshCommitInfo](API\Plugins\ModelingComponents\TargetInterfaces\IDynamicMeshCommitter\FDynamicMeshComm-) & CommitInfo )


description:
TODO: We may decide that we want some functions to query whether the object allows one or the other, or we may break this out into a separate interface. We'll wait to see when this actually becomes necessary to see the most convenient way to go at that point.
true if successful

code: virtual bool CommitMaterialSetUpdate ( const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSet, bool bApplyToAsset )


code: static bool CommitMaterialSetUpdate ( [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * SkeletalMesh, const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSet, bool bApplyToAsset )


code: virtual void CommitMeshDescription ( const [FCommitter](API\Runtime\InteractiveToolsFramework\TargetInterfaces\IMeshDescriptionCommitter\FCommitter) & Committer, const [FCommitMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FCommitMeshParameters) & CommitParams )


code: static void CommitMeshDescription ( [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMesh, const [FCommitter](API\Runtime\InteractiveToolsFramework\TargetInterfaces\IMeshDescriptionCommitter\FCommitter) & Committer, EMeshLODIdentifier EditingLODIn )


code: virtual [TArray](API\Runtime\Core\Containers\TArray)< EMeshLODIdentifier > GetAvailableLODs ( bool bSkipAutoGenerated ) const


code: static [TArray](API\Runtime\Core\Containers\TArray)< EMeshLODIdentifier > GetAvailableLODs ( const [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMesh, bool bSkipAutoGenerated )


description: IDynamicMeshProvider.


description: current editing LOD

code: virtual EMeshLODIdentifier GetEditingLOD() const


code: virtual [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetMaterial ( int32 MaterialIndex ) const


description: Get material set provided by this source

code: virtual void GetMaterialSet ( [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSetOut, bool bPreferAssetMaterials ) const


code: static void GetMaterialSet ( const [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMesh, [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSetOut, bool bPreferAssetMaterials )


code: virtual EMeshLODIdentifier GetMeshDescriptionLOD() const


description: IMeshDescriptionProviderimplementation.

code: virtual const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * GetMeshDescription ( const [FGetMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FGetMeshParameters) & GetMeshParams )


description: IMaterialProviderimplementation.

code: virtual int32 GetNumMaterials() const


description: IStaticMeshBackedTarget.

code: virtual [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * GetStaticMesh() const


code: static EMeshLODIdentifier GetValidEditingLOD ( const [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMesh, EMeshLODIdentifier RequestedEditingLOD )


description: Returns true if the mesh has a non-generated LOD of the requested level. Interprets EMeshLODIdentifier::Default as LOD0

code: static bool HasNonGeneratedLOD ( const [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMesh, EMeshLODIdentifier MeshLOD )


description: UToolTarget.

code: virtual bool IsValid() const


code: checks of whether the [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) is and the LOD check does not guard against a generated LOD ( which" "tools should not edit ) const


code: virtual void SetEditingLOD ( EMeshLODIdentifier RequestedEditingLOD )


code: virtual bool SupportsLODs() const


code: virtual [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * BuildTarget ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * SourceObject, const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & TargetTypeInfo )


code: virtual bool CanBuildTarget ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * SourceObject, const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & TargetTypeInfo ) const


code: virtual EMeshLODIdentifier GetActiveEditingLOD() const


code: virtual void SetActiveEditingLOD ( EMeshLODIdentifier NewEditingLOD )


className: UStaticMeshToolTargetFactory

description: Factory forUStaticMeshToolTargetto be used by the target manager.

description: LOD to edit, default is to edit LOD0.


className: UVolumeComponentToolTargetFactory

description: Factory forUVolumeComponentToolTargetto be used by the target manager.


description: IDynamicMeshCommitterimplementation.

code: virtual void CommitDynamicMesh ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, const [FDynamicMeshCommitInfo](API\Plugins\ModelingComponents\TargetInterfaces\IDynamicMeshCommitter\FDynamicMeshComm-) & )


description: Doesn't actually do anything for a volume.

code: virtual bool CommitMaterialSetUpdate ( const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSet, bool bApplyToAsset )


description: IMeshDescritpionCommitter implementation.

code: virtual void CommitMeshDescription ( const [FCommitter](API\Runtime\InteractiveToolsFramework\TargetInterfaces\IMeshDescriptionCommitter\FCommitter) & Committer, const [FCommitMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FCommitMeshParameters) & CommitMeshParams )


className: UStaticMeshToolTarget

description: This is a special tool target that refers to the underlying asset (in this case a static mesh), rather than indirectly through a component. This type of target is used in cases, such as opening an asset through the content browser, when there is no component available.

type: checks of wheth...


description: IPhysicsDataSourceimplementation.

code: virtual [UBodySetup](API\Runtime\Engine\PhysicsEngine\UBodySetup) * GetBodySetup() const


description: Always returns null because volumes do not supportIInterface_CollisionDataProvider

code: virtual [IInterface_CollisionDataProvider](API\Runtime\Engine\Interfaces\IInterface_CollisionDataProvider) * GetComplexCollisionProvider() const


description: IDynamicMeshProviderimplementation.


description: Note: Some of our code expects at leastFStaticMeshAttributesto be registered with the provided mesh description, and will break if some of the attributes thatFStaticMeshAttributesuses are not present. The only reason we don't provide a default implementation here that is identical to the one used in StaticMeshToolTarget.cpp is to avoid a dependency on the static mesh description module in ITF.


description:
Get pointer to a Material provided by this Source
MaterialInterface pointer, or null if MaterialIndex is invalid

code: virtual [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetMaterial ( int32 MaterialIndex ) const


description: Ignores bPreferAssetMaterials.

code: virtual void GetMaterialSet ( [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSetOut, bool bPreferAssetMaterials ) const


description: IMeshDescriptionProviderimplementation.

code: virtual const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * GetMeshDescription ( const [FGetMeshParameters](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FGetMeshParameters) & GetMeshParams )


description: IMaterialProviderimplementation.

code: virtual int32 GetNumMaterials() const


code: UVolumeComponentToolTarget()


className: UVolumeComponentToolTarget

description: A tool target backed byAVolume

ConvertedMeshDescription

type: TSharedPtr<FMe...

description: This isn't for caching- we have to take ownership of the mesh description because it is expected for things like a static mesh.


code: [FCreateMeshObjectResult](API\Plugins\ModelingComponents\FCreateMeshObjectResult) CreateDynamicMeshActor ( [FCreateMeshObjectParams](API\Plugins\ModelingComponents\FCreateMeshObjectParams) && CreateMeshParams )


description:
Create a new material object based on the data in CreateMaterialParams
a results data structure, containing a result code and information about any new objects created

code: virtual [FCreateMaterialObjectResult](API\Plugins\ModelingComponents\FCreateMaterialObjectResult) CreateMaterialObject ( const [FCreateMaterialObjectParams](API\Plugins\ModelingComponents\FCreateMaterialObjectParams) & CreateMaterialParams )


code: virtual [FCreateMaterialObjectResult](API\Plugins\ModelingComponents\FCreateMaterialObjectResult) CreateMaterialObject ( [FCreateMaterialObjectParams](API\Plugins\ModelingComponents\FCreateMaterialObjectParams) && CreateMaterialParams )


code: virtual [FCreateMeshObjectResult](API\Plugins\ModelingComponents\FCreateMeshObjectResult) CreateMeshObject ( [FCreateMeshObjectParams](API\Plugins\ModelingComponents\FCreateMeshObjectParams) && CreateMeshParams )


description:
Create a new mesh object based on the data in CreateMeshParams
a results data structure, containing a result code and information about any new objects created

code: virtual [FCreateMeshObjectResult](API\Plugins\ModelingComponents\FCreateMeshObjectResult) CreateMeshObject ( const [FCreateMeshObjectParams](API\Plugins\ModelingComponents\FCreateMeshObjectParams) & CreateMeshParams )


code: virtual [FCreateActorResult](API\Plugins\ModelingComponents\FCreateActorResult) CreateNewActor ( const [FCreateActorParams](API\Plugins\ModelingComponents\FCreateActorParams) & CreateActorParams )


code: virtual [FCreateActorResult](API\Plugins\ModelingComponents\FCreateActorResult) CreateNewActor ( [FCreateActorParams](API\Plugins\ModelingComponents\FCreateActorParams) && CreateActorParams )


description: Internal implementations called by public functions

code: [FCreateMeshObjectResult](API\Plugins\ModelingComponents\FCreateMeshObjectResult) CreateStaticMeshAsset ( [FCreateMeshObjectParams](API\Plugins\ModelingComponents\FCreateMeshObjectParams) && CreateMeshParams )


description:
Create a new texture object based on the data in CreateTexParams
a results data structure, containing a result code and information about any new objects created

code: virtual [FCreateTextureObjectResult](API\Plugins\ModelingComponents\FCreateTextureObjectResult) CreateTextureObject ( const [FCreateTextureObjectParams](API\Plugins\ModelingComponents\FCreateTextureObjectParams) & CreateTexParams )


code: virtual [FCreateTextureObjectResult](API\Plugins\ModelingComponents\FCreateTextureObjectResult) CreateTextureObject ( [FCreateTextureObjectParams](API\Plugins\ModelingComponents\FCreateTextureObjectParams) && CreateTexParams )


code: [FCreateMeshObjectResult](API\Plugins\ModelingComponents\FCreateMeshObjectResult) CreateVolume ( [FCreateMeshObjectParams](API\Plugins\ModelingComponents\FCreateMeshObjectParams) && CreateMeshParams )


className: FGetAssetPathNameCallbackSignature

description: Callbacks that editor can hook into to handle asset creation

code: typedef TBaseDelegate_ThreeParams< [FString](API\Runtime\Core\Containers\FString), const [FString](API\Runtime\Core\Containers\FString) &BaseName, const [UWorld](API\Runtime\Engine\Engine\UWorld) *TargetWorld, [FString](API\Runtime\Core\Containers\FString) SuggestedFolder > FGetAssetPathNameCallbackSignature


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


code: [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > FilterMaterials ( const [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > & MaterialsIn )


code: static [UEditorModelingObjectsCreationAPI](API\Plugins\ModelingComponentsEditorOnly\UEditorModelingObjectsCreationAP-) * Find ( [UInteractiveToolsContext](API\Runtime\InteractiveToolsFramework\UInteractiveToolsContext) * ToolsContext )


className: FModelingActorCreatedSignature

code: typedef TMulticastDelegate_OneParam< void, const [FCreateActorResult](API\Plugins\ModelingComponents\FCreateActorResult) &CreatedInfo > FModelingActorCreatedSignature


className: FModelingMaterialCreatedSignature

code: typedef TMulticastDelegate_OneParam< void, const [FCreateMaterialObjectResult](API\Plugins\ModelingComponents\FCreateMaterialObjectResult) &CreatedInfo > FModelingMaterialCreatedSignature


className: FModelingTextureCreatedSignature

code: typedef TMulticastDelegate_OneParam< void, const [FCreateTextureObjectResult](API\Plugins\ModelingComponents\FCreateTextureObjectResult) &CreatedInfo > FModelingTextureCreatedSignature


className: FModelingMeshCreatedSignature

code: typedef TMulticastDelegate_OneParam< void, const [FCreateMeshObjectResult](API\Plugins\ModelingComponents\FCreateMeshObjectResult) &CreatedInfo > FModelingMeshCreatedSignature


code: [ECreateModelingObjectResult](API\Plugins\ModelingComponents\ECreateModelingObjectResult) GetNewAssetPath ( [FString](API\Runtime\Core\Containers\FString) & OutNewAssetPath, const [FString](API\Runtime\Core\Containers\FString) & BaseName, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * StoreRelativeToObject, const [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


description: Non-UFunction variants that support std::move operators

code: virtual bool HasMoveVariants() const


description: Utility functions to handle registration/unregistration

code: static [UEditorModelingObjectsCreationAPI](API\Plugins\ModelingComponentsEditorOnly\UEditorModelingObjectsCreationAP-) * Register ( [UInteractiveToolsContext](API\Runtime\InteractiveToolsFramework\UInteractiveToolsContext) * ToolsContext )


className: UEditorModelingObjectsCreationAPI

description: Several client-provided callbacks can be used to customize functionality (eg in Modeling Mode)

GetNewAssetPathNameCallback

type: FGetAssetPathNa...

OnModelingActorCreated

type: FModelingActorC...

OnModelingMaterialCreated

type: FModelingMateri...

OnModelingMeshCreated

type: FModelingMeshCr...

OnModelingTextureCreated

type: FModelingTextur...


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.

module: ModelingEditorUI

code: virtual void ShutdownModule()


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


className: FModelingEditorUIModule

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


description: IDetailCustomizationinterface

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: WeightEditHorizontalPadding

code: static float WeightEditHorizontalPadding = 2.0f;


className: WeightEditingLabelsPercent

code: static float WeightEditingLabelsPercent = 0.40f;


className: WeightSliderWidths

code: static float WeightSliderWidths = 150.0f;


className: WeightEditVerticalPadding

code: static float WeightEditVerticalPadding = 4.0f;


className: FSkinWeightDetailCustomization

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


code: static const [FString](API\Runtime\Core\Containers\FString) & GetTypeId()


description:
Create this Drag and Drop Content
a new FDockingDragOperation

code: static [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FDraggableBoxUIDragOperation](API\Plugins\ModelingEditorUI\ModelingWidgets\FDraggableBoxUIDragOperation) > New ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< class [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > & InUIToBeDragged, const FVector2D InDecoratorOffset, const FVector2D & OwnerAreaSize, [SDraggableBox::FOnDragComplete](API\Plugins\ModelingEditorUI\ModelingWidgets\SDraggableBox\FOnDragComplete) & OnDragComplete )


description: Checks whether this drag and drop operation can cast safely to the specified type.

code: virtual bool IsOfTypeImpl ( const [FString](API\Runtime\Core\Containers\FString) & Type ) const


code: virtual void OnDragged ( const [FDragDropEvent](API\Runtime\SlateCore\Input\FDragDropEvent) & DragDropEvent )


description: The constructor is protected, so that this class can only be instantiated as a shared pointer.

code: FDraggableBoxUIDragOperation ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< class [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > & InUIToBeDragged, const FVector2D InDecoratorOffsetFromCursor, const FVector2D & OwnerAreaSize, [SDraggableBox::FOnDragComplete](API\Plugins\ModelingEditorUI\ModelingWidgets\SDraggableBox\FOnDragComplete) & OnDragCompletee )


description: FDragDropOperation.

code: virtual void OnDrop ( bool bDropWasHandled, const [FPointerEvent](API\Runtime\SlateCore\Input\FPointerEvent) & MouseEvent )


code: virtual ~FDraggableBoxUIDragOperation()


className: FDraggableBoxUIDragOperation

description: A drag/drop operation used bySDraggableBox, largely modeled onFInViewportUIDragOperation, except instead of requiring the drop location to be able to handle that particular class to trigger the OnDragComplete delegate, it just triggers on any drop. This makes it possible to use it in any viewports, not just the level editor.

code: class FDraggableBoxUIDragOperation : public [FDragDropOperation](API\Runtime\SlateCore\Input\FDragDropOperation)

DecoratorOffsetFromCursor

description: Screen space offset of grab location from the top left corner of the rectangle being dragged.

LastContentSize

description: Size of rectangle being dragged.

UIBeingDragged

type: TSharedPtr< cla...

description: Shared pointer to our contents, which are a weak pointer.


className: DetailRowVertPadding

description: Top/bottom padding for detail row widgets, to be consistent w/ standard details panel

code: static constexpr int DetailRowVertPadding = 4;


className: LabelWidgetMinPadding

description: Minimum padding between label and widget, for tight packing scenarios

code: static constexpr int LabelWidgetMinPadding = 4;


className: MultiWidgetRowHorzPadding

description: Padding between multiple widgets in a horizontal row (eg for two widgets, this is the padding between them) (("widget" here is often label+widget))

code: static constexpr int MultiWidgetRowHorzPadding = 10;


className: ModelingUIConstants

description: Constants used for various standard ModelingUI gizmos/etc

code: struct ModelingUIConstants


description: Construct this widget

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


description: STileViewfunctions.

code: virtual [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ITableRow](API\Runtime\Slate\Widgets\Views\ITableRow) > CreateFlyoutIconTile ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FComboPanelItem](API\Plugins\ModelingEditorUI\ModelingWidgets\SComboPanel\FComboPanelItem) > Item, const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [STableViewBase](API\Runtime\Slate\Widgets\Views\STableViewBase) > & OwnerTable )


className: EComboDisplayType

description: EComboDisplayType is used to specify the widgets in the ComboButton (ie non-expanded widget)

code: enum EComboDisplayType { LargeIcon, IconAndLabel, }


description: The size of the combo button icon tile

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


description: Type of widget layout for the ComboButton (default to LargeIcon)

code: WidgetArgsType & ComboDisplayType &40; EComboDisplayType InArg &41;


description: Size of the Flyout Panel

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


description: The text to display above the button list

code: WidgetArgsType & FlyoutHeaderText &40; const TAttribute< FText > & InAttribute &41;


description: The size of the icon tiles in the flyout

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