description: Copy existing texel values to floating-point DestImage. Assumed to be same color space (eg values are copied without any linear/SRGB conversion)

code: bool CopyTo ( [TImageBuilder](API\Runtime\GeometryCore\Image\TImageBuilder)< FVector4f > & DestImage ) const


className: ETextureType

description: Supported texture types.

module: ModelingComponents

code: enum ETextureType { Color, ColorLinear, Roughness, Metallic, Specular, NormalMap, AmbientOcclusion, EmissiveHDR, }


description: the defaultFColorfor the current texture build type

code: const [FColor](API\Runtime\Core\Math\FColor) & GetClearColor() const


code: const [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) & GetDimensions() const


description: the default color for the current texture build type


description:
This point is invalid after the texture is Committed!
current locked Mip data. Nullptr ifIsEditable()== false. UseIsByteTexture()/IsFloat16Texture()to determine type.

code: const void * GetRawTexelBufferUnsafe() const


code: void * GetRawTexelBufferUnsafe()


description: Get theFColortexel at the given X/Y coordinates

code: const [FColor](API\Runtime\Core\Math\FColor) & GetTexel ( const [FVector2i](API\Runtime\GeometryCore\FVector2i) & ImageCoords ) const


description: Get theFColortexel at the given linear index

code: const [FColor](API\Runtime\Core\Math\FColor) & GetTexel ( int64 LinearIndex ) const


description: Get theFFloat16Colortexel at the given X/Y coordinates

code: const [FFloat16Color](API\Runtime\Core\Math\FFloat16Color) & GetTexelFloat16 ( const [FVector2i](API\Runtime\GeometryCore\FVector2i) & ImageCoords ) const


description: Get theFFloat16Colortexel at the given linear index

code: const [FFloat16Color](API\Runtime\Core\Math\FFloat16Color) & GetTexelFloat16 ( int64 LinearIndex ) const


description: the internal texture

code: [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * GetTexture2D() const


code: const EPixelFormat GetTexturePixelFormat() const


code: const [ETextureType](API\Plugins\ModelingComponents\AssetUtils\FTexture2DBuilder\ETextureType) GetTextureType() const


description: Create a newUTexture2Dconfigured with the given BuildType and Dimensions

code: bool Initialize ( [ETextureType](API\Plugins\ModelingComponents\AssetUtils\FTexture2DBuilder\ETextureType) BuildTypeIn, [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) DimensionsIn )


description: Initialize the builder with an existingUTexture2D

code: bool Initialize ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * ExistingTexture, [ETextureType](API\Plugins\ModelingComponents\AssetUtils\FTexture2DBuilder\ETextureType) BuildTypeIn, bool bLockForEditing )


description: Create a newUTexture2D'over' an existingUTexture2Dusing the same texture settings as a given sourceUTexture2D. This method only initializes the texture settings of ExistingTexture to match those of SourceTexture. To populate texture data, use Copy(..).

code: bool InitializeAndReplaceExistingTexture ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * ExistingTexture, [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * SourceTexture )


description: Create a newUTexture2D'over' an existingUTexture2D, with the given BuildType and Dimensions

code: bool InitializeAndReplaceExistingTexture ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * ExistingTexture, [ETextureType](API\Plugins\ModelingComponents\AssetUtils\FTexture2DBuilder\ETextureType) BuildTypeIn, [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) DimensionsIn )


description: true if texture buffer is FColor/8-bit BGRA

code: const bool IsByteTexture() const


description: true if texture buffer is FFloat16Color/16-bit RGBA

code: const bool IsFloat16Texture() const


description: true if the texture data is currently locked and editable

code: bool IsEditable() const


description:
Lock the Mip 0 buffer for editing
true if lock was successfull. Will return false if already locked.

code: bool LockForEditing()


description: Set the texel at the given X/Y coordinates to the givenFColor

code: void SetTexel ( const [FVector2i](API\Runtime\GeometryCore\FVector2i) & ImageCoords, const [FColor](API\Runtime\Core\Math\FColor) & NewValue )


description: Set the texel at the given linear index to the givenFColor

code: void SetTexel ( int64 LinearIndex, const [FColor](API\Runtime\Core\Math\FColor) & NewValue )


description: Set the texel at the given X/Y coordinates to the givenFFloat16Color

code: void SetTexel ( const [FVector2i](API\Runtime\GeometryCore\FVector2i) & ImageCoords, const [FFloat16Color](API\Runtime\Core\Math\FFloat16Color) & NewValue )


description: Set the texel at the given linear index to the givenFFloat16Color

code: void SetTexel ( int64 LinearIndex, const [FFloat16Color](API\Runtime\Core\Math\FFloat16Color) & NewValue )


description: currently assumes both buffers are the same format

code: void UpdateSourceData()


code: virtual ~FTexture2DBuilder()


description: If you have generated aUTexture2Dby other means, you can use the static function ::CopyPlatformDataToSourceData() to populate the Source data from the PlatformData, which is required to save it as a UAsset.

code: class FTexture2DBuilder

BuildType

type: ETextureType

CurrentMipData

type: FColor*

CurrentPixelFormat

type: EPixelFormat

Dimensions

type: FImageDimension...


description: Extract information about the material set for a given LODIndex of a StaticMeshAsset

code: namespace UE { namespace AssetUtils { bool UE::AssetUtils::GetStaticMeshLODAssetMaterials ( [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMeshAsset, int32 LODIndex, [FStaticMeshLODMaterialSetInfo](API\Plugins\ModelingComponents\AssetUtils\FStaticMeshLODMaterialSetInfo) & MaterialInfoOut ) } }


description: Construct the linear per-section material list for a given LODIndex of a StaticMeshAsset

code: namespace UE { namespace AssetUtils { bool UE::AssetUtils::GetStaticMeshLODMaterialListBySection ( [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMeshAsset, int32 LODIndex, [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > & MaterialListOut, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & MaterialIndexOut ) } }


description: Generate a new unique material slot name for the given SlotMaterial and NewSlotIndex, ensuring that the name is not already used in the set of ExistingMaterials

code: namespace UE { namespace AssetUtils { [FName](API\Runtime\Core\UObject\FName) UE::AssetUtils::GenerateNewMaterialSlotName ( const [TArray](API\Runtime\Core\Containers\TArray)< [FStaticMaterial](API\Runtime\Engine\Engine\FStaticMaterial) > & ExistingMaterials, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * SlotMaterial, int32 NewSlotIndex ) } }


description:
Issue requests to the render thread to force virtual textures to load for the given screen dimensions.
true on success

code: namespace UE { namespace AssetUtils { bool UE::AssetUtils::ForceVirtualTexturePrefetch ( [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) ScreenSpaceDimensions, bool bWaitForPrefetchToComplete ) } }


description:
Convert inputUTexture2Dto single-channel. Assumption is it has more than one channel. Red channel is used.
true on success

code: namespace UE { namespace AssetUtils { bool UE::AssetUtils::ConvertToSingleChannel ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * TextureMap ) } }


description:
Extract the Dimensions and image pixels from an input TextureMapBydefault, the "Source" texture data is read. This is only available in-Editor. At runtime, only "Platform" data is available.
true on success

code: namespace UE { namespace AssetUtils { bool UE::AssetUtils::ReadTexture ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * TextureMap, [TImageBuilder](API\Runtime\GeometryCore\Image\TImageBuilder)< FVector4f > & DestImageOut, const bool bPreferPlatformData ) } }


description: Save image stored in Pixels, of given Dimensions to/Intermediate/DebugSubFolder/FilenameBase_.bmp If UseFileCounter is not specified, an internal static counter that is incremented each call is used.

code: namespace UE { namespace AssetUtils { bool UE::AssetUtils::SaveDebugImage ( const [TArray](API\Runtime\Core\Containers\TArray)< [FColor](API\Runtime\Core\Math\FColor) > & Pixels, [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) Dimensions, [FString](API\Runtime\Core\Containers\FString) DebugSubfolder, [FString](API\Runtime\Core\Containers\FString) FilenameBase, int32 UseFileCounter ) } }


description: Save Image to/Intermediate/DebugSubFolder/FilenameBase_.bmp If UseFileCounter is not specified, an internal static counter that is incremented each call is used.

code: namespace UE { namespace AssetUtils { bool UE::AssetUtils::SaveDebugImage ( const [FImageAdapter](API\Runtime\GeometryCore\Image\FImageAdapter) & Image, bool bConvertToSRGB, [FString](API\Runtime\Core\Containers\FString) DebugSubfolder, [FString](API\Runtime\Core\Containers\FString) FilenameBase, int32 UseFileCounter ) } }


code: namespace UE { namespace AssetUtils { bool UE::AssetUtils::SaveDebugImage ( const [TArray](API\Runtime\Core\Containers\TArray)< [FLinearColor](API\Runtime\Core\Math\FLinearColor) > & Pixels, [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) Dimensions, bool bConvertToSRGB, [FString](API\Runtime\Core\Containers\FString) DebugSubfolder, [FString](API\Runtime\Core\Containers\FString) FilenameBase, int32 UseFileCounter ) } }


description: Utility functions to updateUStaticMeshbuild settingsHow to update a boolean build setting

code: namespace UE { namespace MeshDescription { enum EBuildSettingBoolChange { Disable, Enable, NoChange, } } }


description: Utility functions to preprocess a MeshDescription so that it is suitable for use in Modeling Tools, ie with fully-populated autogen normals/tangents/etc. Populate any auto-generated attributes of aFMeshDescriptionthat are currently invalid (eg Normals/Tangents, which may be zero until calculated)

code: namespace UE { namespace MeshDescription { void UE::MeshDescription::InitializeAutoGeneratedAttributes ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & Mesh, const [FMeshBuildSettings](API\Runtime\Engine\Engine\FMeshBuildSettings) * BuildSettings ) } }


description: Populate any auto-generated attributes of aFMeshDescriptionthat are currently invalid (eg Normals/Tangents, which may be zero until calculated)

code: namespace UE { namespace MeshDescription { void UE::MeshDescription::InitializeAutoGeneratedAttributes ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & Mesh, [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMesh, int32 SourceLOD ) } }


code: namespace UE { namespace MeshDescription { void UE::MeshDescription::InitializeAutoGeneratedAttributes ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & Mesh, [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * StaticMeshComponent, int32 SourceLOD ) } }


description: Utility function to apply build settings changes to aUStaticMesh

code: namespace UE { namespace MeshDescription { void UE::MeshDescription::ConfigureBuildSettings ( [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMesh, int32 SourceLOD, [FStaticMeshBuildSettingChange](API\Plugins\ModelingComponents\AssetUtils\FStaticMeshBuildSettingChange) NewSettings ) } }


className: EBakeTextureBitDepth

code: enum EBakeTextureBitDepth { ChannelBits8, ChannelBits16, }


className: EBakeTextureResolution

description: Bake maps enums

code: enum EBakeTextureResolution { Resolution16 = 16, Resolution32 = 32, Resolution64 = 64, Resolution128 = 128, Resolution256 = 256, Resolution512 = 512, Resolution1024 = 1024, Resolution2048 = 2048, Resolution4096 = 4096, Resolution8192 = 8192, }


className: EBakeTextureSamplesPerPixel

code: enum EBakeTextureSamplesPerPixel { Sample1 = 1, Sample4 = 4, Sample16 = 16, Sample64 = 64, Sample256 = 256, }


code: void PushInfillRequired ( bool bInfillRequired )


code: void ComputeAndApplyInfill ( [TArray](API\Runtime\Core\Containers\TArray)< [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TImageBuilder](API\Runtime\GeometryCore\Image\TImageBuilder)< FVector4f >>> & Images )


code: void RegisterSample ( const [FVector2i](API\Runtime\GeometryCore\FVector2i) & ImageCoords, bool bSampleValid )


code: FRenderCaptureOcclusionHandler ( [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) Dimensions )


className: FRenderCaptureOcclusionHandler

code: class FRenderCaptureOcclusionHandler


className: FRenderCaptureTextures

code: struct FRenderCaptureTextures


code: bool operator== ( const [FSceneCaptureConfig](API\Plugins\ModelingComponents\Baking\FSceneCaptureConfig) & ) const


code: bool operator!= ( const [FSceneCaptureConfig](API\Plugins\ModelingComponents\Baking\FSceneCaptureConfig) & ) const


className: FSceneCaptureConfig

code: struct FSceneCaptureConfig

bAntiAliasing

type: bool

FieldOfViewDegrees

type: double

Flags

type: FRenderCaptureT...


description: Warning: Expects that Sample.BaseSample.SurfacePoint and Sample.BaseNormal are set when the function is called.

code: virtual void * ComputeCustomCorrespondence ( const [FMeshUVSampleInfo](API\Plugins\DynamicMesh\Sampling\FMeshUVSampleInfo) & SampleInfo, [FMeshMapEvaluator::FCorrespondenceSample](API\Plugins\DynamicMesh\Sampling\FMeshMapEvaluator\FCorrespondenceSample) & Sample ) const


code: virtual bool IsValidCorrespondence ( const [FMeshMapEvaluator::FCorrespondenceSample](API\Plugins\DynamicMesh\Sampling\FMeshMapEvaluator\FCorrespondenceSample) & Sample ) const


code: [FSceneCapturePhotoSetSampler](API\Plugins\ModelingComponents\Baking\FSceneCapturePhotoSetSampler) & operator= ( const [FSceneCapturePhotoSetSampler](API\Plugins\ModelingComponents\Baking\FSceneCapturePhotoSetSampler) & )


code: [FSceneCapturePhotoSetSampler](API\Plugins\ModelingComponents\Baking\FSceneCapturePhotoSetSampler) & operator= ( [FSceneCapturePhotoSetSampler](API\Plugins\ModelingComponents\Baking\FSceneCapturePhotoSetSampler) && )


description: true if a user-defined correspondence test is supported

code: virtual bool SupportsCustomCorrespondence() const


code: FSceneCapturePhotoSetSampler ( [FSceneCapturePhotoSetSampler](API\Plugins\ModelingComponents\Baking\FSceneCapturePhotoSetSampler) && )


code: FSceneCapturePhotoSetSampler ( const [FSceneCapturePhotoSetSampler](API\Plugins\ModelingComponents\Baking\FSceneCapturePhotoSetSampler) & )


code: FSceneCapturePhotoSetSampler ( [FSceneCapturePhotoSet](API\Plugins\ModelingComponents\Scene\FSceneCapturePhotoSet) * SceneCapture, float ValidSampleDepthThreshold, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [FDynamicMeshAABBTree3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshAABBTree3) * Spatial, const [FMeshTangentsd](API\Runtime\GeometryCore\DynamicMesh\FMeshTangentsd) * Tangents )


className: FSceneCapturePhotoSetSampler

code: class FSceneCapturePhotoSetSampler : public [UE::Geometry::FMeshBakerDynamicMeshSampler](API\Plugins\DynamicMesh\Sampling\FMeshBakerDynamicMeshSampler)


description: This function computes the SceneCapture for the first time

code: namespace UE { namespace Geometry { MODELINGCOMPONENTS_API [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FSceneCapturePhotoSet](API\Plugins\ModelingComponents\Scene\FSceneCapturePhotoSet) > UE::Geometry::CapturePhotoSet ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [AActor](API\Runtime\Engine\GameFramework\AActor) >> & Actors, const FRenderCaptureOptions & Options, FRenderCaptureUpdate & Update, bool bAllowCancel ) } }


description: Note: The source data in the textures isnotupdated by this function.

code: namespace UE { namespace Geometry { MODELINGCOMPONENTS_API void UE::Geometry::GetTexturesFromRenderCaptureBaker ( const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshMapBaker](API\Plugins\DynamicMesh\Sampling\FMeshMapBaker) > & Baker, [FRenderCaptureTextures](API\Plugins\ModelingComponents\Baking\FRenderCaptureTextures) & TexturesOut ) } }


code: namespace UE { namespace Geometry { MODELINGCOMPONENTS_API void UE::Geometry::ConfigureSceneCapture ( const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FSceneCapturePhotoSet](API\Plugins\ModelingComponents\Scene\FSceneCapturePhotoSet) > & SceneCapture, const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [AActor](API\Runtime\Engine\GameFramework\AActor) >> & Actors, const [FSceneCaptureConfig](API\Plugins\ModelingComponents\Baking\FSceneCaptureConfig) & Config, bool bAllowCancel ) } }


description: Deprecated* Please use GetSceneCaptureConfig instead.

code: namespace UE { namespace Geometry { MODELINGCOMPONENTS_API FRenderCaptureOptions UE::Geometry::GetComputedPhotoSetOptions ( const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FSceneCapturePhotoSet](API\Plugins\ModelingComponents\Scene\FSceneCapturePhotoSet) > & SceneCapture ) } }


code: namespace UE { namespace Geometry { MODELINGCOMPONENTS_API [FSceneCaptureConfig](API\Plugins\ModelingComponents\Baking\FSceneCaptureConfig) UE::Geometry::GetSceneCaptureConfig ( const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FSceneCapturePhotoSet](API\Plugins\ModelingComponents\Scene\FSceneCapturePhotoSet) > & SceneCapture, [FSceneCapturePhotoSet::ECaptureTypeStatus](API\Plugins\ModelingComponents\Scene\FSceneCapturePhotoSet\ECaptureTypeStatus) QueryStatus ) } }


description: Return a render capture baker, note the lifetime of all arguments such match the lifetime of the returned baker

code: namespace UE { namespace Geometry { MODELINGCOMPONENTS_API [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshMapBaker](API\Plugins\DynamicMesh\Sampling\FMeshMapBaker) > UE::Geometry::MakeRenderCaptureBaker ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * BaseMesh, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FMeshTangentsd](API\Runtime\GeometryCore\DynamicMesh\FMeshTangentsd), ESPMode::ThreadSafe > BaseMeshTangents, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >, ESPMode::ThreadSafe > BaseMeshUVCharts, [FSceneCapturePhotoSet](API\Plugins\ModelingComponents\Scene\FSceneCapturePhotoSet) * SceneCapture, [FSceneCapturePhotoSetSampler](API\Plugins\ModelingComponents\Baking\FSceneCapturePhotoSetSampler) * Sampler, FRenderCaptureOptions PendingBake, int32 TargetUVLayer, [EBakeTextureResolution](API\Plugins\ModelingComponents\Baking\EBakeTextureResolution) TextureImageSize, [EBakeTextureSamplesPerPixel](API\Plugins\ModelingComponents\Baking\EBakeTextureSamplesPerPixel) SamplesPerPixel, [FRenderCaptureOcclusionHandler](API\Plugins\ModelingComponents\Baking\FRenderCaptureOcclusionHandler) * OcclusionHandler ) } }


description: Return a render capture baker, note the lifetime of all arguments such match the lifetime of the returned baker.

code: namespace UE { namespace Geometry { MODELINGCOMPONENTS_API [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshMapBaker](API\Plugins\DynamicMesh\Sampling\FMeshMapBaker) > UE::Geometry::MakeRenderCaptureBaker ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * BaseMesh, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FMeshTangentsd](API\Runtime\GeometryCore\DynamicMesh\FMeshTangentsd), ESPMode::ThreadSafe > BaseMeshTangents, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >, ESPMode::ThreadSafe > BaseMeshUVCharts, [FSceneCapturePhotoSet](API\Plugins\ModelingComponents\Scene\FSceneCapturePhotoSet) * SceneCapture, [FSceneCapturePhotoSetSampler](API\Plugins\ModelingComponents\Baking\FSceneCapturePhotoSetSampler) * Sampler, [FRenderCaptureTypeFlags](API\Plugins\ModelingComponents\Scene\FRenderCaptureTypeFlags) PendingBake, int32 TargetUVLayer, [EBakeTextureResolution](API\Plugins\ModelingComponents\Baking\EBakeTextureResolution) TextureImageSize, [EBakeTextureSamplesPerPixel](API\Plugins\ModelingComponents\Baking\EBakeTextureSamplesPerPixel) SamplesPerPixel, [FRenderCaptureOcclusionHandler](API\Plugins\ModelingComponents\Baking\FRenderCaptureOcclusionHandler) * OcclusionHandler ) } }


description: This function efficiently updates the given SceneCapture and returns a struct indicating which channels were updated

code: namespace UE { namespace Geometry { MODELINGCOMPONENTS_API FRenderCaptureUpdate UE::Geometry::UpdatePhotoSets ( const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FSceneCapturePhotoSet](API\Plugins\ModelingComponents\Scene\FSceneCapturePhotoSet) > & SceneCapture, const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [AActor](API\Runtime\Engine\GameFramework\AActor) >> & Actors, const FRenderCaptureOptions & Options, bool bAllowCancel ) } }


code: namespace UE { namespace Geometry { MODELINGCOMPONENTS_API [FRenderCaptureTypeFlags](API\Plugins\ModelingComponents\Scene\FRenderCaptureTypeFlags) UE::Geometry::UpdateSceneCapture ( const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FSceneCapturePhotoSet](API\Plugins\ModelingComponents\Scene\FSceneCapturePhotoSet) > & SceneCapture, const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [AActor](API\Runtime\Engine\GameFramework\AActor) >> & Actors, const [FSceneCaptureConfig](API\Plugins\ModelingComponents\Baking\FSceneCaptureConfig) & DesiredConfig, bool bAllowCancel ) } }


className: EBaseCreateFromSelectedTargetType

code: enum EBaseCreateFromSelectedTargetType { NewObject, FirstInputObject, LastInputObject, }


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


description: UBaseCreateFromSelectedToolAPI - subclasses typically implement these functions After preview is created, this is called to convert inputs and set preview materials (grouped together because materials may come from inputs) Subclasses should always implement this.

code: virtual void ConvertInputsAndSetPreviewMaterials ( bool bSetPreviewMesh )


EditCondition

description: Base name of the newly generated object to which the output is written to.

OutputExistingName

type: NoResetToDefaul...

OutputWriteTo

type: EBaseCreateFrom...

description: Defines the object the tool output is written to.


description: Return the name of the action to be used in the Undo stack

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


description: Helper to generate assets when a result is accepted; typically does not need to be overloaded.

code: virtual void GenerateAsset ( const [FDynamicMeshOpResult](API\Plugins\ModelingComponents\FDynamicMeshOpResult) & Result )


description: Return the name to be used for generated assets. Note: Asset name will be prefixed by source actor name if only actor was selected.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetCreatedAssetName() const


description: Which of the transform gizmos to hide, or -1 if all gizmos can be shown.

code: virtual int32 GetHiddenGizmoIndex() const


description: Return the materials to be used on the output mesh on tool accept; defaults to the materials set on the preview

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > GetOutputMaterials() const


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: IDynamicMeshOperatorFactory implementation that subclass must override and implement


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


description: Helper to build asset names

code: [FString](API\Runtime\Core\Containers\FString) PrefixWithSourceNameIfSingleSelection ( const [FString](API\Runtime\Core\Containers\FString) & AssetName ) const


description: Overload to save any added properties in the subclasses; called on shutdown

code: virtual void SaveProperties()


description: Optional overload to set callbacks on preview, e.g. to visualize results; called after preview is created.

code: virtual void SetPreviewCallbacks()


code: virtual void SetTransformGizmos()


description: InteractiveTool API - generally does not need to be modified by subclasses

code: virtual void Setup()


description: Overload to initialize any added properties in subclasses; called during setup

code: virtual void SetupProperties()


code: virtual void TransformChanged ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * Proxy, FTransform Transform )


description: Helpers for managing transform gizoms; typically do not need to be overloaded.

code: virtual void UpdateGizmoVisibility()


code: virtual void UpdateAsset ( const [FDynamicMeshOpResult](API\Plugins\ModelingComponents\FDynamicMeshOpResult) & Result, [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target )


code: UBaseCreateFromSelectedTool()


className: UBaseCreateFromSelectedTool

description: UBaseCreateFromSelectedToolis a base Tool (must be subclassed) that provides support for common functionality in tools that create a new mesh from a selection of one or more existing meshes

HandleSourcesProperties

type: TObjectPtr<UBa...

OutputTypeProperties

type: TObjectPtr<UCr...

Preview

type: TObjectPtr<UMe...

TransformGizmos

type: TArray<TObject...

TransformProperties

type: TObjectPtr<UTr...


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if mesh sources can be found in the active selection

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [UMultiSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\UMultiSelectionMeshEditingTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


code: virtual [TOptional](API\Runtime\Core\IO\TOptional)< int32 > MaxComponentsSupported() const


code: virtual int32 MinComponentsSupported() const


className: UBaseCreateFromSelectedToolBuilder

description: ToolBuilder forUBaseCreateFromSelectedTool


description: Optional Property Set API - subclasses can use this to manage property sets with configurable visibility that invalidate the precompute Register an optional property set with the given VisibilityFunc

code: template<class PropSetType> PropSetType * AddOptionalPropertySet ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool()> VisibilityFunc, bool bChangeInvalidatesResult )


description: Register an optional property set with the given VisibilityFunc, and call OnModifiedFunc if any of the properties change

code: template<class PropSetType> PropSetType * AddOptionalPropertySet ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool()> VisibilityFunc, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void()> OnModifiedFunc, bool bChangeInvalidatesResult )


code: virtual void AddOptionalPropertySet ( [UInteractiveToolPropertySet](API\Runtime\InteractiveToolsFramework\UInteractiveToolPropertySet) * PropSet, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool()> VisibilityFunc, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void()> OnModifiedFunc, bool bChangeInvalidatesResult )


description: Optional weight map support Weight map will only be enabled if base class registers a weight map property set

code: template<class PropSetType> PropSetType * AddWeightMapPropertySet ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool()> VisibilityFunc )


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


className: FOptionalPropertySet

code: struct FOptionalPropertySet

IsVisible

type: TUniqueFunction...

PropertySet

type: TWeakObjectPtr<...


description: text string shown to user for Accept Transaction that updates input mesh. Subclass should override.

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


description: calculated base normals. This pointer does not change for the lifetime of the Tool.

code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FMeshBoundaryLoops](API\Runtime\GeometryCore\FMeshBoundaryLoops) > & GetInitialBoundaryLoops()


description: duplciate of initial mesh (possibly with optional size normalization)

code: const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & GetInitialMesh() const


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FMeshNormals](API\Runtime\GeometryCore\DynamicMesh\FMeshNormals) > & GetInitialVtxNormals()


code: const FTransform & GetPreviewTransform() const


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FIndexedWeightMap1f](API\Runtime\GeometryCore\FIndexedWeightMap1f) > & GetActiveWeightMap()


description:
UBaseMeshProcessingToolOPTIONAL API - subclasses may implement these functions
text string shown to user for Accept Transaction that updates input mesh. Subclass should override.

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


code: [UPreviewMesh](API\Plugins\ModelingComponents\UPreviewMesh) * GetUPreviewMesh() const


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


code: bool HasActiveWeightMap() const


description: Called when Tool is Accepted to determine whether it is safe to only update vertex positions, or if entire target mesh must be replaced.

code: virtual bool HasMeshTopologyChanged() const


description: This function is called duringSetup()to allow subclass to register property sets, before kicking off initial computation

code: virtual void InitializeProperties()


code: virtual void InvalidateResult()


description: UBaseMeshProcessingToolREQUIRED API - subclasses must implement these functions IDynamicMeshOperatorFactory implementation that subclass must override and implement


code: virtual void OnOptionalPropSetModified ( int32 Index )


description: This function is called during Shutdown so that subclass may perform final processing and save property sets

code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


description: Allow the Tool to do any custom drawing (ie via PDI/RHI)

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


description: Optional base mesh boundary loops. Default enabled. These are computed at Tool startup if required, and then not modified, so can be passed to multithreaded operators/etc If this function returns true, InitialBoundaryLoops will be initialized in ToolSetup(). This has some cost and should be disabled if not necessary.

code: virtual bool RequiresInitialBoundaryLoops() const


description: Optional base mesh per-vertex normals. Default enabled. These are computed at Tool startup if required, and then not modified, so can be passed to multithreaded operators/etc If this function returns true, BaseNormals will be initialized in ToolSetup(). This has some cost and should be disabled if not necessary.

code: virtual bool RequiresInitialVtxNormals() const


description: Optional uniform scale applied to mesh. Enabled by default If this function returns true, input mesh will be scaled to normalized dimension inSetup()before any processing begins. This scaling will be undone on Accept()

code: virtual bool RequiresScaleNormalization() const


code: virtual void SavePropertySets()


description: InteractiveTool API - generally does not need to be modified by subclasses

code: virtual void Setup()


code: virtual void SetWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


code: virtual void SetupWeightMapPropertySet ( [UWeightMapSetProperties](API\Plugins\ModelingComponents\PropertySets\UWeightMapSetProperties) * Properties )


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


description: Call this function to update optional property sets visibility. Should call base implementation


code: virtual void UpdateResult()


code: UBaseMeshProcessingTool()


className: UBaseMeshProcessingTool

description: RequiresScaleNormalization(): return true (default=true) to apply an initial scale to the input mesh so that it has consistent size before being sent into the computation. Scaling factor (eg for scaling UI constants) can be accessed viaGetScaleNormalizationFactor()

OptionalProperties

type: TArray<FOption...

Preview

description: Preview object holds temporary Actor with preview mesh component.

TargetWorld

type: UWorld*


description:
Create a new instance of this builder's Tool
a new instance of the Tool, or nullptr on error/failure

code: virtual [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * BuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a new Tool instance can be created

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: Gives the target requirements of the associated tool. Usually, it is the tool builder will use this function in CanBuildTool and BuildTool to find and create any necessary targets.

code: virtual const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & GetTargetRequirements() const


className: UBaseMeshProcessingToolBuilder

description: ToolBuilder forUBaseMeshProcessingTool


description: Sets the output material to the default "world grid" material

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > GetOutputMaterials() const


description: Subclass must override!

code: virtual [UBaseMeshProcessingTool](API\Plugins\ModelingComponents\BaseTools\UBaseMeshProcessingTool) * MakeNewToolInstance ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer ) const


description: Sets up the default preview and converted inputs for voxel tools; Typically do not need to overload

code: virtual void ConvertInputsAndSetPreviewMaterials ( bool bSetPreviewMesh )


description: Test whether any of the OriginalDynamicMeshes has any open boundary edges.


description: Sets up VoxProperties; typically need to overload and call "Super::SetupProperties();"

code: virtual void SetupProperties()


description: Saves VoxProperties; typically need to overload and call "Super::SaveProperties();"

code: virtual void SaveProperties()


className: UBaseVoxelTool

description: Base for Voxel tools

OriginalDynamicMeshes

type: TArray<TShared...

VoxProperties

type: TObjectPtr<UVo...


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UMeshSurfacePointMeshEditingToolBuilder

description: Base tool builder class for UMeshSurfacePointTools with mesh editing requirements.


description:
Helper to find which targets share source data. RequiresUAssetBackedTargetas a tool target requirement.
Array of indices, 1:1 with Targets, indicating the first index where a component target sharing the same source data appeared.

code: bool GetMapToSharedSourceData ( [TArray](API\Runtime\Core\Containers\TArray)< int32 > & MapToFirstOccurrences )


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


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Tool


code: virtual void SetWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


className: UMultiSelectionMeshEditingTool

description: Multi Selection Mesh Editing tool base class.


description:
Create a new instance of this builder's Tool
new Tool instance initialized with selected mesh source(s)


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if mesh sources can be found in the active selection


code: virtual [UMultiSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\UMultiSelectionMeshEditingTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: Called by BuildTool to configure the Tool with the input mesh source(s) based on the SceneState

code: virtual void InitializeNewTool ( [UMultiSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\UMultiSelectionMeshEditingTool) * Tool, const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UMultiSelectionMeshEditingToolBuilder

description: UMultiSelectionMeshEditingToolBuilderis a base tool builder for multi selection tools that define a common set of ToolTarget interfaces required for editing meshes.


description: the input Selection, or nullptr if one was not configured

code: virtual const [UDEPRECATED_PersistentMeshSelection](API\Plugins\ModelingComponents\Selection\UDEPRECATED_PersistentMeshSelect-) * GetInputSelection() const


description: true if an InputSelection is available

code: virtual bool HasInputSelection() const


description: Mesh Selection support Set a Selection for the Tool to use. This should be called before toolSetup()(ie in the ToolBuilder) to allow the Tool to configure it's behavior based on the Selection (which may or may-not exist). If the Tool requires a Selection, this needs to be handled at the Builder level.

code: virtual void SetInputSelection ( const [UDEPRECATED_PersistentMeshSelection](API\Plugins\ModelingComponents\Selection\UDEPRECATED_PersistentMeshSelect-) * SelectionIn )


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


className: USingleSelectionMeshEditingTool

description: Single Selection Mesh Editing tool base class.


description:
Create a new instance of this builder's Tool
new Tool instance initialized with selected mesh source

code: virtual [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * BuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a single mesh source can be found in the active selection

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


code: virtual [USingleSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\USingleSelectionMeshEditingTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: Gives the target requirements of the associated tool. Usually, it is the tool builder will use this function in CanBuildTool and BuildTool to find and create any necessary targets.

code: virtual const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & GetTargetRequirements() const


description: Called by BuildTool to configure the Tool with the input MeshSource based on the SceneState

code: virtual void InitializeNewTool ( [USingleSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\USingleSelectionMeshEditingTool) * Tool, const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: true if this Tool would like access to an available Input Selection object

code: virtual bool WantsInputSelectionIfAvailable() const


className: USingleSelectionMeshEditingToolBuilder

description: USingleSelectionMeshEditingToolBuilderis a base tool builder for single selection tools that define a common set of ToolTarget interfaces required for editing meshes.


description: the input Selection

code: virtual const [UE::Geometry::FGeometrySelection](API\Plugins\DynamicMesh\Selections\FGeometrySelection) & GetGeometrySelection() const


description: true if a Selection is available

code: virtual bool HasGeometrySelection() const


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


code: virtual void SetGeometrySelection ( const [UE::Geometry::FGeometrySelection](API\Plugins\DynamicMesh\Selections\FGeometrySelection) & SelectionIn )


code: virtual void SetGeometrySelection ( [UE::Geometry::FGeometrySelection](API\Plugins\DynamicMesh\Selections\FGeometrySelection) && SelectionIn )


code: virtual void SetTargetWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


className: USingleTargetWithSelectionTool

GeometrySelectionViz

type: TObjectPtr<UPr...

GeometrySelectionVizProperties

type: TObjectPtr<UGe...


code: virtual void InitializeNewTool ( [USingleTargetWithSelectionTool](API\Plugins\ModelingComponents\BaseTools\USingleTargetWithSelectionTool) * Tool, const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [USingleTargetWithSelectionTool](API\Plugins\ModelingComponents\BaseTools\USingleTargetWithSelectionTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: true if this Tool requires an input selection

code: virtual bool RequiresInputSelection() const


className: USingleTargetWithSelectionToolBuilder


className: UTransformInputsToolProperties

description: Properties of UI to adjust input meshes

bShowTransformGizmo

type: bool

description: Show transform gizmo in the viewport to allow changing translation, rotation and scale of input meshes.


code: virtual void ApplyToMesh ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, bool bRevert )


code: virtual ~FDynamicMeshGroupEdit()


className: FDynamicMeshGroupEdit

description: FDynamicMeshGroupEditstores a modification of polygroup IDs on a set of triangles

code: class FDynamicMeshGroupEdit

GroupLayerIndex

description: GroupLayerIndex indicates which AttributeSet PolyGroup layer to apply the change to, or if -1, apply to the default on the Mesh

NewGroups

type: TArray< int32 >

description: New PolygroupID for each triangle

OldGroups

description: Old PolygroupID for each triangle

Triangles

description: IDs of triangles that are modified


code: void SaveTriangle ( int32 TriangleID )


code: void SaveTriangle ( int32 TriangleID, int32 OldGroup, int32 NewGroup )


code: template<typename EnumerableType> void SaveTriangles ( EnumerableType Enumerable )


code: FDynamicMeshGroupEditBuilder ( FDynamicMesh3 * Mesh )


code: FDynamicMeshGroupEditBuilder ( [UE::Geometry::FPolygroupSet](API\Plugins\DynamicMesh\Polygroups\FPolygroupSet) * PolygroupSet )


code: FDynamicMeshGroupEditBuilder ( FDynamicMesh3 * Mesh, int32 GroupLayer )


className: FDynamicMeshGroupEditBuilder

description: FDynamicMeshGroupEditBuilderbuilds up aFDynamicMeshGroupEditincrementally.

code: class FDynamicMeshGroupEditBuilder

Edit

type: TUniquePtr<FDy...

SavedIndexMap

type: TMap< int32, in...


code: virtual void ApplyChangeToMesh ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, bool bRevert ) const


code: FMeshPolygroupChange ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FDynamicMeshGroupEdit](API\Plugins\ModelingComponents\Changes\FDynamicMeshGroupEdit) > && GroupEditIn )


className: FMeshPolygroupChange

description: FMeshPolygroupChangestores a change to Polygroup IDs on a set of triangles, as aFDynamicMeshGroupEdit.

code: class FMeshPolygroupChange : public [FMeshChange](API\Runtime\GeometryFramework\Changes\FMeshChange)


description: Makes the change to the object

code: virtual void Apply ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


description: Reverts change to the object

code: virtual void Revert ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


description: Describes this change (for debugging)

code: virtual [FString](API\Runtime\Core\Containers\FString) ToString() const


className: FMeshSelectionChange

description: FMeshSelectionChangerepresents an reversible change to aUMeshSelectionSet

code: class FMeshSelectionChange : public [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange)

ElementType

type: EMeshSelectionE...


description: Add ElementID to list of changed elements (which may then be added or removed, depending on bAdding parameter to constructor)

code: void Add ( int32 ElementID )


description: Add Array of elements

code: void Add ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Elements )


description: Add Set of elements

code: void Add ( const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & Elements )


description: Initialize of a selection change of given type.

code: FMeshSelectionChangeBuilder ( EMeshSelectionElementType ElementType, bool bAdding )


className: FMeshSelectionChangeBuilder

description: FMeshSelectionChangeBuildercan be used to construct aFMeshSelectionChange.

code: class FMeshSelectionChangeBuilder

Change

type: TUniquePtr<FMe...


className: BaseType

code: typedef [TIndexedValuesChange](API\Plugins\ModelingComponents\Changes\TIndexedValuesChange)< ValueType > BaseType


className: TCustomIndexedValuesChange

description: TCustomIndexedValuesChangeis an implementation ofTIndexedValuesChangethat allows you to provide theApply()AndRevert()implementations via lambdas, as well as specify a custom data element to be stored with the Change. For example if this is a change to an attribute array, you could store the attribute identifier in the CustomData.

code: template<typename ValueType, typename CustomDataType> class TCustomIndexedValuesChange : public [TIndexedValuesChange< ValueType >](API\Plugins\ModelingComponents\Changes\TIndexedValuesChange)

CustomData

type: CustomDataType


description: Makes the change to the object

code: void Apply ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


description: Reverts change to the object

code: void Revert ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


className: TIndexedValuesChange

description: This is an abstract base class, you must provide suitable Apply/Revert implementations. TheTCustomIndexedValuesChangesubclass will allow you to do this with lambdas.

code: template<typename ValueType> class TIndexedValuesChange : public [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange)

NewValues

type: TArray< ValueTy...


description: Allocate a new change and start tracking

code: void BeginNewChange()


description: Complete the change construction and return it

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


description: Modify the value at anIndex. Changes will be tracked as necessary.

code: void UpdateValue ( int32 Index, const ValueType & OldValue, const ValueType & NewValue )


description: Modify a set of values

code: void UpdateValues ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Indices, const [TArray](API\Runtime\Core\Containers\TArray)< ValueType > & OldValues, const [TArray](API\Runtime\Core\Containers\TArray)< ValueType > & NewValues )


code: TIndexedValuesChangeBuilder()


description: Makes the change to the object

code: virtual void Apply ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


className: TIndexedValuesChangeBuilder

description: TIndexedValuesChangeBuilderincrementally builds up aTIndexedValuesChangeinstance/subclass. The ChangeClassType template parameter should be the name of the TIndexedValuesChange-derived class.

code: template<typename ValueType, typename ChangeClassType> class TIndexedValuesChangeBuilder

Change

type: TUniquePtr< Cha...


description: Reverts change to the object

code: virtual void Revert ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


className: TSimpleValueLambdaChange

description: TSimpleValueLambdaChangeis a genericFToolCommandChangethat swaps between two (template-type) Values. The swap is applied via a lambda provided by the creator.

code: template<typename ValueType> class TSimpleValueLambdaChange : public [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange)

FromValue

type: ValueType

ValueChangeFunc

type: TUniqueFunction...


code: void Initialize ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< ValueType(void)> GetValueFuncIn, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(ValueType)> OnValueChangedFuncIn, ValueType InitialValue )


description: Update known value without calling OnValueChangedFunc. Sometimes necessary during undo/redo.

code: void SilentUpdate()


className: TValueWatcher

description: TValueWatcheris used to implement a common Tool pattern where it is necessary to essentially poll a value to see if it has changed, and if it has, call a function. For exampleUObjectUProperties are frequently directly modified by (eg) DetailsView/etc, this results in PropertyChange events that can be used in the editor to respond to changes. However at Runtime no such events are generated and so the Tool has no way of knowing when UProperties change except by polling and comparing with a cached value. The purpose of this class is simply to encapsulate this common pattern/logic.

code: template<typename ValueType> class TValueWatcher


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 )


code: const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const FDynamicMesh3, ESPMode::ThreadSafe > & GetMesh() const


description: Update the mesh and return a correspondingFChangeDoes not emit the change. Does not fire OnMeshChanged.

code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshReplacementChange](API\Runtime\GeometryFramework\Changes\FMeshReplacementChange) > ReplaceMesh ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3), ESPMode::ThreadSafe > & UpdateMesh )


code: virtual void SetMesh ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const FDynamicMesh3, ESPMode::ThreadSafe > MeshIn )


code: UDynamicMeshReplacementChangeTarget()


code: UDynamicMeshReplacementChangeTarget ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const FDynamicMesh3, ESPMode::ThreadSafe > Mesh )


className: UDynamicMeshReplacementChangeTarget

description: Bare bones wrapper of FDynamicMesh3 that supports MeshReplacementChange-based updates. Shares the mesh ptr with the MeshReplacementChange objects, so it must not be changed directly TODO: also support other MeshChange objects (by making a copy of the mesh when applying these changes)

Mesh

type: TSharedPtr< con...

OnMeshChanged

type: FSimpleMulticas...

description: This delegate fires when aFCommandChangeis applied to this component, so that parent objects know the mesh has changed.


description: Apply a vertex deformation change to the internal mesh

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


description: Apply a general mesh change to the internal mesh

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


description: Apply a general mesh replacement change to the internal mesh


description: Apply transform to internal mesh. Invalidates RenderProxy.

code: virtual void ApplyTransform ( const FTransform3d & Transform, bool bInvert )


description: the childUDynamicMesh

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


description:
Avoid usage of this function, access viaGetDynamicMesh()instead
pointer to internal mesh

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


description: pointer to internal mesh

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


description: This is called to tell our RenderProxy about modifications to the material set. We need to pass this on for things like material validation in the Editor.

code: virtual void NotifyMaterialSetUpdated()


description: Change tracking/etc Call this if you update the mesh viaGetMesh()

code: virtual void NotifyMeshUpdated()


description: Allow external code to read the internal mesh.

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


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="DynamicMesh") void SetDynamicMesh ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * NewMesh )


description: Initialize the internal mesh from a DynamicMesh

code: virtual void SetMesh ( [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) && MoveMesh )


code: UOctreeDynamicMeshComponent ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UOctreeDynamicMeshComponent

description: (So, if you don't need this capability, and don't want to update an Octree, use UDynamicMeshComponent!)

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(HideCategories=(LOD, Physics, Collision), EditInlineNew, ClassGroup=Rendering) class UOctreeDynamicMeshComponent : public [UBaseDynamicMeshComponent](API\Runtime\GeometryFramework\Components\UBaseDynamicMeshComponent)

TriangleColorFunc

type: TFunction<FCol...

description: If this function is set, we will use these colors instead of vertex colors


className: FVolumeToMeshOptions

code: struct FVolumeToMeshOptions


code: namespace UE { namespace Geometry { void UE::Geometry::CommitDynamicMeshViaMeshDescription ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) && CurrentMeshDescription, [IMeshDescriptionCommitter](API\Runtime\InteractiveToolsFramework\TargetInterfaces\IMeshDescriptionCommitter) & MeshDescriptionCommitter, const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, const [IDynamicMeshCommitter::FDynamicMeshCommitInfo](API\Plugins\ModelingComponents\TargetInterfaces\IDynamicMeshCommitter\FDynamicMeshComm-) & CommitInfo ) } }


code: namespace UE { namespace Geometry { [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) UE::Geometry::GetDynamicMeshViaMeshDescription ( [IMeshDescriptionProvider](API\Runtime\InteractiveToolsFramework\TargetInterfaces\IMeshDescriptionProvider) & MeshDescriptionProvider ) } }


className: APreviewGeometryActor

description: No constructors are accessible with public or protected access.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Transient, NotPlaceable, Hidden, NotBlueprintable, NotBlueprintType) class APreviewGeometryActor : public [AInternalToolFrameworkActor](API\Runtime\InteractiveToolsFramework\AInternalToolFrameworkActor)


className: EUVLayoutPreviewSide

description: Where should in-viewport UVLayoutPreview be shown, relative to target object

code: enum EUVLayoutPreviewSide { Left, Right, }


code: FRenderableLine ( const FVector & InStart, const FVector & InEnd, const [FColor](API\Runtime\Core\Math\FColor) & InColor, const float InThickness, const float InDepthBias )


className: FRenderableLine

code: struct FRenderableLine

Color

type: FColor

DepthBias

type: float

End

type: FVector


code: FRenderablePoint ( const FVector & InPosition, const [FColor](API\Runtime\Core\Math\FColor) & InColor, const float InSize, const float InDepthBias )


className: FRenderablePoint

code: struct FRenderablePoint


code: FRenderableTriangle ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * InMaterial, const [FRenderableTriangleVertex](API\Plugins\ModelingComponents\Drawing\FRenderableTriangleVertex) & InVertex0, const [FRenderableTriangleVertex](API\Plugins\ModelingComponents\Drawing\FRenderableTriangleVertex) & InVertex1, const [FRenderableTriangleVertex](API\Plugins\ModelingComponents\Drawing\FRenderableTriangleVertex) & InVertex2 )


className: FRenderableTriangle

Material

type: TObjectPtr<UMa...

type: FRenderableTria...


code: FRenderableTriangleVertex()


code: FRenderableTriangleVertex ( const FVector & InPosition, const FVector2D & InUV, const FVector & InNormal, const [FColor](API\Runtime\Core\Math\FColor) & InColor )


className: FRenderableTriangleVertex


className: EMeshEdgeType

code: enum EMeshEdgeType { Regular = 1, MeshBoundary = 1 << 2, UVSeam = 1 << 3, NormalSeam = 1 << 4, GroupBoundary = 1 << 5, ColorSeam = 1 << 6, TangentSeam = 1 << 7, }


description: bounds of all possible edges

code: FBoxSphereBounds GetBounds() const


description: vertex indices and type for a given edge index

code: void GetEdge ( int32 Index, int32 & VertexAOut, int32 & VertexBOut, [EMeshEdgeType](API\Plugins\ModelingComponents\Drawing\IMeshWireframeSource\EMeshEdgeType) & TypeOut ) const


description: number of valid edge indices

code: int32 GetEdgeCount() const


description: maximum edge index (may be greater than count, if some indices are invalid)

code: int32 GetMaxEdgeIndex() const


description: position of vertex at given index

code: FVector GetVertex ( int32 Index ) const


description: true if edge index is valid, ie refers to valid edge

code: bool IsEdge ( int32 Index ) const


description: true if this source is valid

code: bool IsValid() const


code: virtual ~IMeshWireframeSource()


className: IMeshWireframeSource

description: The class is not specific to mesh wireframes, and could be used to draw any edge set, but the EdgeType is based on triangle/polygon mesh edges.

code: class IMeshWireframeSource


description: Request that the given function ProcessingFunc be called with anIMeshWireframeSourceimplementation. TheIMeshWireframeSourceimplementation may be invalid, ie IsValid() == false, ProcessingFunc must handle this case. The AccessMesh implementation may choose to not call the lambda in such cases, as well

code: void AccessMesh ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(const [IMeshWireframeSource](API\Plugins\ModelingComponents\Drawing\IMeshWireframeSource) &)> ProcessingFunc )


code: virtual ~IMeshWireframeSourceProvider()


className: IMeshWireframeSourceProvider

description: IMeshWireframeSourceProvideris an abstract interface to some implementation that can provide anIMeshWireframeSourceimplementation on demand. This is used to populate/update aUMeshWireframeComponentwhen necessary.

code: class IMeshWireframeSourceProvider


description: Draw a basic 2D grid with a given number of lines that covers roughly a constant area of the screen

code: namespace MeshDebugDraw { void MeshDebugDraw::DrawSimpleFixedScreenAreaGrid ( const [FViewCameraState](API\Runtime\InteractiveToolsFramework\FViewCameraState) & CameraState, const [FFrame3d](API\Runtime\GeometryCore\FFrame3d_1) & LocalFrame, int32 NumGridLines, double VisualAngleSpan, float LineWidth, [FColor](API\Runtime\Core\Math\FColor) Color, bool bDepthTested, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, const FTransform & Transform ) }


description: Draw a zoomable, hierarchical grid with configurable depth and density terms

code: namespace MeshDebugDraw { void MeshDebugDraw::DrawHierarchicalGrid ( double BaseGridScale, double GridZoomFactor, int32 MaxLevelDensity, const FVector & WorldMaxBounds, const FVector & WorldMinBounds, int32 Levels, int32 Subdivisions, [TArray](API\Runtime\Core\Containers\TArray)< [FColor](API\Runtime\Core\Math\FColor) > & Colors, const [FFrame3d](API\Runtime\GeometryCore\FFrame3d_1) & LocalFrame, float LineWidth, bool bDepthTested, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, const FTransform & Transform ) }


description: Draw normals of mesh overlay as lines

code: namespace MeshDebugDraw { void MeshDebugDraw::DrawNormals ( const [FDynamicMeshNormalOverlay](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshNormalOverlay) * Overlay, float Length, [FColor](API\Runtime\Core\Math\FColor) Color, float Thickness, bool bScreenSpace, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, const FTransform & Transform ) }


description: Draw a basic 2D grid with a number of lines at given spacing

code: namespace MeshDebugDraw { void MeshDebugDraw::DrawSimpleGrid ( const [FFrame3d](API\Runtime\GeometryCore\FFrame3d_1) & LocalFrame, int GridLines, double GridLineSpacing, float LineWidth, [FColor](API\Runtime\Core\Math\FColor) Color, bool bDepthTested, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, const FTransform & Transform ) }


description: Draw mesh triangle centroids as points

code: namespace MeshDebugDraw { void MeshDebugDraw::DrawTriCentroids ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< int > & Indices, float PointSize, [FColor](API\Runtime\Core\Math\FColor) Color, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, const FTransform & Transform ) }


description: Draw vertices of mesh as points

code: namespace MeshDebugDraw { void MeshDebugDraw::DrawVertices ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< int > & Indices, float PointSize, [FColor](API\Runtime\Core\Math\FColor) Color, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, const FTransform & Transform ) }


code: namespace MeshDebugDraw { void MeshDebugDraw::DrawVertices ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TSet](API\Runtime\Core\Containers\TSet)< int > & Indices, float PointSize, [FColor](API\Runtime\Core\Math\FColor) Color, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, const FTransform & Transform ) }


description: Add a line to be rendered using the component.

code: int32 AddLine ( const [FRenderableLine](API\Plugins\ModelingComponents\Drawing\FRenderableLine) & OverlayLine )


description: Create and add a line to be rendered using the component.

code: int32 AddLine ( const FVector & InStart, const FVector & InEnd, const [FColor](API\Runtime\Core\Math\FColor) & InColor, const float InThickness, const float InDepthBias )


description: Add a set of lines for each index in a sequence

code: void AddLines ( int32 NumIndices, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32[Index](API\Runtime\Chaos\Chaos\Index), [TArray](API\Runtime\Core\Containers\TArray)< [FRenderableLine](API\Plugins\ModelingComponents\Drawing\FRenderableLine) > &LinesOut)> LineGenFunc, int32 LinesPerIndexHint, bool bDeferRenderStateDirty )


description: Clear the line set

code: void Clear()


description: Insert a line with the given ID to the overlay

code: void InsertLine ( const int32 ID, const [FRenderableLine](API\Plugins\ModelingComponents\Drawing\FRenderableLine) & OverlayLine )


description: Queries whether a line with the given ID exists

code: bool IsLineValid ( const int32 ID ) const


description: Remove a line from the set

code: void RemoveLine ( const int32 ID )


description: Reserve enough memory for up to the given ID (for inserting via ID)

code: void ReserveLines ( const int32 MaxID )


description: Sets the color of all existing lines

code: void SetAllLinesColor ( const [FColor](API\Runtime\Core\Math\FColor) & NewColor )


description: Sets the depth bias of all existing lines

code: void SetAllLinesDepthBias ( const float NewDepthBias )


description: Rescales each line assuming that vertex 0 is the origin

code: void SetAllLinesLength ( const float NewLength, bool bUpdateBounds )


description: Sets the thickness of all existing lines

code: void SetAllLinesThickness ( const float NewThickness )


description: Sets the color of a line

code: void SetLineColor ( const int32 ID, const [FColor](API\Runtime\Core\Math\FColor) & NewColor )


description: Changes the end coordinates of a line

code: void SetLineEnd ( const int32 ID, const FVector & NewPostion )


description: Specify material which handles lines

code: void SetLineMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * InLineMaterial )


description: Changes the start coordinates of a line

code: void SetLineStart ( const int32 ID, const FVector & NewPostion )


description: Sets the thickness of a line

code: void SetLineThickness ( const int32 ID, const float NewThickness )


className: ULineSetComponent

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class ULineSetComponent : public [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent)


description: Call if mesh provided by MeshAccessFunction has been modified, will cause a full recomputation of all rendering data structures.

code: NotifyMeshChanged()


description: Called at the end ofCreateInWorld()to allow subclasses to add additional setup

code: virtual OnCreated()


description: Client must call this every frame for changes to .Settings to be reflected in rendered result.

code: OnTick()


className: ProcessDynamicMeshFunc

description: A reference to a function that can be called with a const FDynamicMesh3 to do some computation on it.

code: typedef [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) &Mesh)> ProcessDynamicMeshFunc


description: So for example usage with a Tool that has a DynamicMeshComponent could be as follows: MeshElementsVisualizer->SetMeshAccessFunction(this{ DynamicMeshComponent->ProcessMesh(ProcessFunc); }); And for usage with a mesh that a Tool class owns: MeshElementsVisualizer->SetMeshAccessFunction(this{ ProcessFunc(MyInternalMesh); });

code: SetMeshAccessFunction()


code: UpdateLineDepthBiasScale()


className: UMeshElementsVisualizer

description: Mesh is accessed via lambda callback provided by creator/client. SeeSetMeshAccessFunction()comments


className: UMeshElementsVisualizerProperties

description: Visualization settingsUMeshElementsVisualizer


description: Set the wireframe source

code: void SetWireframeSourceProvider ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IMeshWireframeSourceProvider](API\Plugins\ModelingComponents\Drawing\IMeshWireframeSourceProvider) > Provider )


description: Causes the rendered wireframe to be updated from its source.

code: void UpdateWireframe()


code: UMeshWireframeComponent()


className: UMeshWireframeComponent

description: Client must provide aIMeshWireframeSourceProviderimplementation that provides the edge set, vertices, and edge type

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UMeshWireframeComponent : public [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent)

bEnableBoundaryEdges

type: bool

LineDepthBias

description: Depth bias of the lines, used to offset in depth to avoid z-fighting

LineDepthBiasSizeScale

description: Target-size depth bias scale.

ThicknessScale

description: Scaling factor applied to the per-edge-type thicknesses defined below


description: Add a point to be rendered using the component.

code: int32 AddPoint ( const [FRenderablePoint](API\Plugins\ModelingComponents\Drawing\FRenderablePoint) & OverlayPoint )


description: Create and add a point to be rendered using the component.

code: int32 AddPoint ( const FVector & InPosition, const [FColor](API\Runtime\Core\Math\FColor) & InColor, const float InSize, const float InDepthBias )


description: Add a set of points for each index in a sequence

code: void AddPoints ( int32 NumIndices, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32[Index](API\Runtime\Chaos\Chaos\Index), [TArray](API\Runtime\Core\Containers\TArray)< [FRenderablePoint](API\Plugins\ModelingComponents\Drawing\FRenderablePoint) > &PointsOut)> PointGenFunc, int32 PointsPerIndexHint, bool bDeferRenderStateDirty )


description: Clear all primitives

code: void Clear()


description: Retrieve a point with the given id.

code: const [FRenderablePoint](API\Plugins\ModelingComponents\Drawing\FRenderablePoint) & GetPoint ( const int32 ID )


description: Insert a point with the given ID into the set.

code: void InsertPoint ( const int32 ID, const [FRenderablePoint](API\Plugins\ModelingComponents\Drawing\FRenderablePoint) & OverlayPoint )


description: Queries whether a point with the given ID exists

code: bool IsPointValid ( const int32 ID ) const


description: Remove a point from the set.

code: void RemovePoint ( const int32 ID )


description: Reserve enough memory for up to the given ID

code: void ReservePoints ( const int32 MaxID )


description: Sets the color of all points currently in the set.

code: void SetAllPointsColor ( const [FColor](API\Runtime\Core\Math\FColor) & NewColor )


description: Sets the depth bias of all points currently in the set.

code: void SetAllPointsDepthBias ( float NewDepthBias )


description: Sets the size of all points currently in the set.

code: void SetAllPointsSize ( float NewSize )


description: Sets the color of a point

code: void SetPointColor ( const int32 ID, const [FColor](API\Runtime\Core\Math\FColor) & NewColor )


description: Specify material which handles points

code: void SetPointMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * InPointMaterial )


description: Sets the position of a point (assumes its existence).

code: void SetPointPosition ( const int32 ID, const FVector & NewPosition )


description: Sets the size of a point

code: void SetPointSize ( const int32 ID, const float NewSize )


code: void ApplyTranslationToPreview ( const FTransform & TransformIn, FTransform & TranslationOut, FTransform & RotateScaleOut )


className: UPointSetComponent

description: The points are drawn as two triangles (ie a square) orthogonal to the view direction. The actual point size is calculated in the shader, and so a custom material must be used.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UPointSetComponent : public [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent)


description: Must be non-const because query functions are non-const


description: Deprecated* We are removing this accessor because it was unused.

code: const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & GetInitialPatchMesh() const


code: void InitializeExtrudeType ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) && BaseMesh, const FVector3d & TransformedOffsetDirection, const FTransform3d * MeshTransform, bool bDeleteExtrudeBaseFaces )


description: "Extrude Type" duplicates the input faces, offsets them using FExtrudeMesh, and stitches them together

code: void InitializeExtrudeType ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * SourceMesh, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Triangles, const FVector3d & TransformedOffsetDirection, const FTransform3d * MeshTransform, bool bDeleteExtrudeBaseFaces )


description: "Inset Type" duplicates the input faces and insets them using FInsetMeshRegion

code: void InitializeInsetType ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * SourceMesh, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Triangles, const FTransform3d * MeshTransform )


description: "Static Type" is just a static mesh

code: void InitializeStaticType ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * SourceMesh, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Triangles, const FTransform3d * MeshTransform )


description: Make a hit-target mesh that is an infinite extrusion along extrude direction. If bUseNormalDirection, use per-vertex normals instead

code: void MakeExtrudeTypeHitTargetMesh ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & TargetMesh, bool bUseNormalDirection )


code: void MakeInsetTypeTargetMesh ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & TargetMeshOut )


code: void MakeStaticTypeTargetMesh ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & TargetMesh )


description: Update extrude-type preview mesh by moving existing offset vertices along their connected triangle normals and then averaging positions

code: void UpdateExtrudeType_FaceNormalAvg ( double NewOffset )


description: Update extrude-type preview mesh by moving existing offset vertices

code: void UpdateExtrudeType ( double NewOffset, bool bUseNormalDirection )


description: Update extrude-type preview mesh using external function. if bFullRecalculate, mesh is re-initialized w/ initial extrusion patch SourceMesh before calling function

code: void UpdateExtrudeType ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void([FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) &)> UpdateMeshFunc, bool bFullRecalculate )


code: void UpdateInsetType ( double NewOffset, bool bReproject, double Softness, double AreaScaleT, bool bBoundaryOnly )


code: void UpdateStaticType ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void([FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) &)> UpdateMeshFunc, bool bFullRecalculate )


className: UPolyEditPreviewMesh

description: UPolyEditPreviewMeshis a variant ofUPreviewMeshintended for use as a 'live preview' of a mesh creation/editing operation. The class supports initializing the preview mesh in various ways, generally as a submesh of a base mesh.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Transient) class UPolyEditPreviewMesh : public [UPreviewMesh](API\Plugins\ModelingComponents\UPreviewMesh)

EditVertices

type: TArray< int32 >

ExtrudeToInitialVerts

type: TMap< int32, in...

InitialNormals

type: TArray< FVector...


description: Line SetsCreate a new line set with the given LineSetIdentifier and return it

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() [ULineSetComponent](API\Plugins\ModelingComponents\Drawing\ULineSetComponent) * AddLineSet ( const [FString](API\Runtime\Core\Containers\FString) & LineSetIdentifier )


description: Point SetsCreate a new point set with the given PointSetIdentifier and return it

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() [UPointSetComponent](API\Plugins\ModelingComponents\Drawing\UPointSetComponent) * AddPointSet ( const [FString](API\Runtime\Core\Containers\FString) & PointSetIdentifier )


description: Triangle SetsCreate a new triangle set with the given TriangleSetIdentifier and return it

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() [UTriangleSetComponent](API\Plugins\ModelingComponents\Drawing\UTriangleSetComponent) * AddTriangleSet ( const [FString](API\Runtime\Core\Containers\FString) & TriangleSetIdentifier )


description: Create preview mesh in the World with the given transform

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() void CreateInWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, const FTransform & WithTransform )


description: Add a set of lines produced by calling LineGenFunc for each index in range [0,NumIndices)

code: void CreateOrUpdateLineSet ( const [FString](API\Runtime\Core\Containers\FString) & LineSetIdentifier, int32 NumIndices, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32[Index](API\Runtime\Chaos\Chaos\Index), [TArray](API\Runtime\Core\Containers\TArray)< [FRenderableLine](API\Plugins\ModelingComponents\Drawing\FRenderableLine) > &LinesOut)> LineGenFunc, int32 LinesPerIndexHint )


description: Add a set of points produced by calling PointGenFunc for each index in range [0,NumIndices)

code: void CreateOrUpdatePointSet ( const [FString](API\Runtime\Core\Containers\FString) & PointSetIdentifier, int32 NumIndices, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32[Index](API\Runtime\Chaos\Chaos\Index), [TArray](API\Runtime\Core\Containers\TArray)< [FRenderablePoint](API\Plugins\ModelingComponents\Drawing\FRenderablePoint) > &PointsOut)> PointGenFunc, int32 PointsPerIndexHint )


description: Add a set of triangles produced by calling TriangleGenFunc for each index in range [0,NumIndices)

code: void CreateOrUpdateTriangleSet ( const [FString](API\Runtime\Core\Containers\FString) & TriangleSetIdentifier, int32 NumIndices, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32[Index](API\Runtime\Chaos\Chaos\Index), [TArray](API\Runtime\Core\Containers\TArray)< [FRenderableTriangle](API\Plugins\ModelingComponents\Drawing\FRenderableTriangle) > &TrianglesOut)> TriangleGenFunc, int32 TrianglesPerIndexHint )


description: Remove and destroy preview mesh


description: the LineSetComponent with the given LineSetIdentifier, or nullptr if not found

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() [ULineSetComponent](API\Plugins\ModelingComponents\Drawing\ULineSetComponent) * FindLineSet ( const [FString](API\Runtime\Core\Containers\FString) & LineSetIdentifier )


description: the PointSetComponent with the given PointSetIdentifier, or nullptr if not found

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() [UPointSetComponent](API\Plugins\ModelingComponents\Drawing\UPointSetComponent) * FindPointSet ( const [FString](API\Runtime\Core\Containers\FString) & PointSetIdentifier )


description: the TriangleSetComponent with the given TriangleSetIdentifier, or nullptr if not found

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() [UTriangleSetComponent](API\Plugins\ModelingComponents\Drawing\UTriangleSetComponent) * FindTriangleSet ( const [FString](API\Runtime\Core\Containers\FString) & TriangleSetIdentifier )


description: the preview geometry actor created by this class


description: Get the current transform on the preview

code: FTransform GetTransform() const


description: Called at the end ofCreateInWorld()to allow subclasses to add additional setup

code: virtual void OnCreated()


description: Called at the beginning ofDisconnect()to allow subclasses to perform additional cleanup

code: virtual void OnDisconnected()


description: Remove all LineSetComponents

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() void RemoveAllLineSets ( bool bDestroy )


description: Remove all PointSetComponents

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() void RemoveAllPointSets ( bool bDestroy )


description:
Remove the LineSetComponent with the given LineSetIdentifier
true if the LineSetComponent was found and removed

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() bool RemoveLineSet ( const [FString](API\Runtime\Core\Containers\FString) & LineSetIdentifier, bool bDestroy )


description:
Remove the PointSetComponent with the given PointSetIdentifier
true if the PointSetComponent was found and removed

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() bool RemovePointSet ( const [FString](API\Runtime\Core\Containers\FString) & PointSetIdentifier, bool bDestroy )


description: Set the Material of all LineSetComponents

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() void SetAllLineSetsMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * Material )


description: Set the Material of all PointSetComponents

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() void SetAllPointSetsMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * Material )


description: Set visibility state of the preview mesh

code: void SetAllVisible ( bool bVisible )


description:
Set the Material of the LineSetComponent with the given LineSetIdentifier
true if the LineSetComponent was found and updated

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() bool SetLineSetMaterial ( const [FString](API\Runtime\Core\Containers\FString) & LineSetIdentifier, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * NewMaterial )


description:
Set the visibility of the LineSetComponent with the given LineSetIdentifier
true if the LineSetComponent was found and updated

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() bool SetLineSetVisibility ( const [FString](API\Runtime\Core\Containers\FString) & LineSetIdentifier, bool bVisible )


description:
Set the Material of the PointSetComponent with the given PointSetIdentifier
true if the PointSetComponent was found and updated

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() bool SetPointSetMaterial ( const [FString](API\Runtime\Core\Containers\FString) & PointSetIdentifier, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * NewMaterial )


description:
Set the visibility of the PointSetComponent with the given PointSetIdentifier
true if the PointSetComponent was found and updated

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() bool SetPointSetVisibility ( const [FString](API\Runtime\Core\Containers\FString) & PointSetIdentifier, bool bVisible )


description: Set the transform on the preview mesh

code: void SetTransform ( const FTransform & UseTransform )


description: Call UpdateFuncType(ULineSetComponent*) for all existing Line Sets

code: template<typename UpdateFuncType> void UpdateAllLineSets ( UpdateFuncType UpdateFunc )


description: Call UpdateFuncType(UPointSetComponent*) for all existing Point Sets

code: template<typename UpdateFuncType> void UpdateAllPointSets ( UpdateFuncType UpdateFunc )


description: Line Set Utilities Find the identified line set and call UpdateFuncType(ULineSetComponent*)

code: template<typename UpdateFuncType> void UpdateLineSet ( const [FString](API\Runtime\Core\Containers\FString) & LineSetIdentifier, UpdateFuncType UpdateFunc )


description: Point Set Utilities Find the identified point set and call UpdateFuncType(UPointSetComponent*)

code: template<typename UpdateFuncType> void UpdatePointSet ( const [FString](API\Runtime\Core\Containers\FString) & PointSetIdentifier, UpdateFuncType UpdateFunc )


description: Triangle Set Utilities Find the identified triangle set and call UpdateFuncType(UTriangleSetComponent*)

code: template<typename UpdateFuncType> void UpdateTriangleSet ( const [FString](API\Runtime\Core\Containers\FString) & TriangleSetIdentifier, UpdateFuncType UpdateFunc )


code: virtual ~UPreviewGeometry()


className: UPreviewGeometry

description: UPreviewGeometrycreates and manages anAPreviewGeometryActorand a set of preview geometry Components. Preview geometry Components are identified by strings.

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

LineSets

type: TMap<FString, ...

description: LineSetComponents created and owned by theUPreviewGeometry, and added as child components of the ParentActor

ParentActor

type: TObjectPtr<APr...

description: Actor created and managed by theUPreviewGeometry

PointSets

description: PointSetComponents created and owned by theUPreviewGeometry, and added as child components of the ParentActor

TriangleSets

description: TriangleSetComponents created and owned by theUPreviewGeometry, and added as child components of the ParentActor


description:
Add a Quad (two triangles) with the given vertices, normal, Color, and Material
ID of the two triangles created

code: [UE::Geometry::FIndex2i](API\Runtime\GeometryCore\FIndex2i) AddQuad ( const FVector & A, const FVector & B, const FVector & C, const FVector & D, const FVector & Normal, const [FColor](API\Runtime\Core\Math\FColor) & Color, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * Material )


description: Add a triangle to be rendered using the component.

code: int32 AddTriangle ( const [FRenderableTriangle](API\Plugins\ModelingComponents\Drawing\FRenderableTriangle) & OverlayTriangle )


description:
Add a triangle with the given vertices, normal, Color, and Material
ID of the triangle created

code: int32 AddTriangle ( const FVector & A, const FVector & B, const FVector & C, const FVector & Normal, const [FColor](API\Runtime\Core\Math\FColor) & Color, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * Material )


description: Add a set of triangles for each index in a sequence

code: void AddTriangles ( int32 NumIndices, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32[Index](API\Runtime\Chaos\Chaos\Index), [TArray](API\Runtime\Core\Containers\TArray)< [FRenderableTriangle](API\Plugins\ModelingComponents\Drawing\FRenderableTriangle) > &TrianglesOut)> TriangleGenFunc, int32 TrianglesPerIndexHint, bool bDeferRenderStateDirty )


description: Clear the triangle set

code: void Clear()


description: Insert a triangle with the given ID to be rendered using the component.

code: void InsertTriangle ( const int32 ID, const [FRenderableTriangle](API\Plugins\ModelingComponents\Drawing\FRenderableTriangle) & OverlayTriangle )


description: Queries whether a triangle with the given ID exists in the component.

code: bool IsTriangleValid ( const int32 ID ) const


description: Remove a triangle from the component.

code: void RemoveTriangle ( const int32 ID )


description: Reserve enough memory for up to the given ID (for inserting via ID)

code: void ReserveTriangles ( const int32 MaxID )


description: Sets the color of all existing triangles

code: void SetAllTrianglesColor ( const [FColor](API\Runtime\Core\Math\FColor) & NewColor )


description: Sets the materials of all existing triangles

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


code: UTriangleSetComponent()


className: UTriangleSetComponent

description: A component for rendering an arbitrary assortment of triangles. Suitable, for instance, for rendering highlighted faces.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UTriangleSetComponent : public [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent)


description: Create preview mesh in the World with the given transform

code: void CreateInWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


description: Remove and destroy preview mesh

code: void Disconnect()


code: float GetCurrentScale()


description: Tick the UV Layout Preview, allowing it to update various settings

code: void OnTick ( float DeltaTime )


code: void RecalculatePosition()


description: Render the UV Layout Preview, allowing it to update various settings

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


description: Update the current camera state, used to auto-position the UV layout preview

code: void SetCurrentCameraState ( const [FViewCameraState](API\Runtime\InteractiveToolsFramework\FViewCameraState) & CameraState )


description: Configure material set for UV-space preview mesh

code: void SetSourceMaterials ( const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSet )


description: Specify the current world transform/bounds for the target object. UV layout preview is positioned relative to this box

code: void SetSourceWorldPosition ( FTransform WorldTransform, FBox WorldBounds )


description: Set the transform on the UV Layout preview mesh

code: void SetTransform ( const FTransform & UseTransform )


description: Set the visibility of the UV Layout preview mesh

code: void SetVisible ( bool bVisible )


code: virtual ~UUVLayoutPreview()


className: UUVLayoutPreview

description: UUVLayoutPreviewis a utility object that creates and manages a 3D plane on which a UV layout for a 3D mesh is rendered. The UV layout

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

BackingRectangleMaterial

description: Configure the backing rectangle material

bShowBackingRectangle

description: Configure whether the backing rectangle should be shown

CameraState

type: FViewCameraStat...

MeshElementsVisualizer

type: TObjectPtr<UMe...

description: MeshElementsVisualizer references the PreviewMesh to handle drawing the wireframes for UVs

PreviewMesh

type: TObjectPtr<UPr...

description: PreviewMesh is initialized with a copy of an input mesh with UVs mapped to position, ie such that (X,Y,Z) = (U,V,0)

Settings

type: TObjectPtr<UUV...

description: Visualization settings

SourceMaterials

type: FComponentMater...

TriangleComponent

type: TObjectPtr<UTr...

description: Set of additional triangles to draw, eg for backing rectangle, etc


className: UUVLayoutPreviewProperties

description: Visualization settings for UV layout preview

bEnabled

description: Enable the preview UV layout

bShowWireframe

description: Show wireframe mesh in the preview UV layout

meta

description: Uniform scaling factor

Offset

description: Offset relative to the center of the selected object

Side

type: EUVLayoutPrevie...

description: Which side of the selected object the preview UV layout is shown


description: Notify the UV Layout Preview that the source UVs have been modified

code: void UpdateUVMesh ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * SourceMesh, int32 SourceUVLayer )


className: ECreateMeshObjectSourceMeshType

description: Types of possible source meshes stored inFCreateMeshObjectParams

code: enum ECreateMeshObjectSourceMeshType { MeshDescription, DynamicMesh, }


className: ECreateModelingObjectResult

description: Result code returned byUModelingObjectsCreationAPIfunctions

code: enum ECreateModelingObjectResult { Ok, Cancelled, Failed_Unknown, Failed_NoAPIFound, Failed_InvalidWorld, Failed_InvalidMesh, Failed_InvalidTexture, Failed_AssetCreationFailed, Failed_ActorCreationFailed, Failed_InvalidMaterial, }


className: ECreateObjectTypeHint

description: Hint for the type of mesh object aUModelingObjectsCreationAPImight create based onFCreateMeshObjectParamsdata. This can be used by clients to try to specify the type of object to emit, however there is no guarantee that an API implementation supports creating all types.

code: enum ECreateObjectTypeHint { Undefined = 0, StaticMesh = 1, Volume = 2, DynamicMeshActor = 3, }


className: EToolActivityEndResult

code: enum EToolActivityEndResult { Completed, Cancelled, ErrorDuringEnd, }


description: Modeling Components plugin-wide plane visualization modes

code: enum EModelingComponentsPlaneVisualizationMode { SimpleGrid, HierarchicalGrid, FixedScreenAreaGrid, }


className: EToolActivityStartResult

code: enum EToolActivityStartResult { Running, FailedStart, }


className: FBackgroundDynamicMeshComputeSource

description: FBackgroundDynamicMeshComputeSource is an instantiation of the TBackgroundModelingComputeSource template for FDynamicMeshOperator / IDynamicMeshOperatorFactory


className: FCreateActorParams

description: FCreateActorParamsis a collection of input data intended to be passed toUModelingObjectsCreationAPI::CreateNewActor().

BaseName

type: FString

description: The base name of the new Actor

TargetWorld

type: TObjectPtr<UWo...

description: Base data The World/Level the new Actor should be created in (if known).

TemplateActor

type: TObjectPtr<AAc...

description: Input dataA template Actor the new Actor is based on

Transform

type: FTransform

description: The 3D local-to-world transform for the new actor


className: FCreateActorResult

description: FCreateActorResultis returned by UModelingObjectsCreationAPI::FCreateActorParams() to indicate success/failure and provide information about created actors

NewActor

description: A pointer to a newly-created Actor

ResultCode

type: ECreateModeling...

description: Success/Failure status for the requested operation


className: FCreateMaterialObjectParams

description: FCreateMaterialObjectParamsis a collection of input data intended to be passed toUModelingObjectsCreationAPI::CreateMaterialObject().

BaseName

description: The base name of the new Material object

MaterialToDuplicate

type: TObjectPtr<UMa...

description: Input data The parentUMaterialof this material will be duplicated to create the newUMaterialAsset.

StoreRelativeToObject

type: TObjectPtr<UOb...

description: An object to store the Material relative to.

TargetWorld

description: Base data The World/Level the new Material object should be created in (if known).


className: FCreateMaterialObjectResult

description: FCreateMaterialObjectResultis returned byUModelingObjectsCreationAPI::CreateMaterialObject()to indicate success/failure and provide information about created texture objects

NewAsset

description: A pointer to a newly-created Asset for the material object


code: void SetMesh ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) && MeshDescriptionIn )


code: void SetMesh ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * DynamicMeshIn )


code: void SetMesh ( [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) && DynamicMeshIn )


code: FCreateMeshObjectParams ( bool bConstructWithDefaultModelingComponentSettings )


className: FCreateMeshObjectParams

description: The definition of a "mesh object" is implementation-specific.

AssetMaterials

type: TArray<TObject...

description: Optional Materials for a newly-created Mesh Asset, if this is applicable for the created mesh object

BaseName

description: The base name of the new mesh object

bEnableCollision

type: bool

description: Collision settings, if applicable for the given mesh objectSpecify whether the new mesh object should have collision support/data

bEnableNanite

description: Specify whether Nanite should be enabled on this new mesh object

bEnableRaytracingSupport

description: Rendering Configuration Options, if this is applicable for the given mesh objectSpecify whether normals should be automatically recomputed for this new mesh object

bEnableRecomputeNormals

description: Mesh Build Options, if this is applicable for the given mesh object (Currently somewhat specific to Assets in the Editor)Specify whether normals should be automatically recomputed for this new mesh object

bEnableRecomputeTangents

description: Specify whether tangents should be automatically recomputed for this new mesh object

bGenerateLightmapUVs

description: Specify whether to auto-generate Lightmap UVs (if applicable for the output mesh type)

CollisionMode

type: TEnumAsByte< en...

description: Which Collision mode to enable on the new mesh object, if supported

CollisionShapeSet

description: Collision Shapes

Materials

description: Materials settingsMaterials for the new mesh object

MeshDescription

type: TOptional<FMes...

MeshType

type: ECreateMeshObje...

description: The Mesh Object should be created based on the mesh data structures below.

NaniteSettings

type: FMeshNaniteSett...

description: Specify the Nanite Settings for this new mesh object, only used if bEnableNanite=true

SourceComponent

description: Base dataA Source Component the new mesh is based on, if such a Component exists

TargetWorld

description: The World/Level the new mesh object should be created in (if known)

Transform

description: The 3D local-to-world transform for the new mesh object

TypeHint

type: ECreateObjectTy...

description: A suggested type for the newly-created Mesh (possibly ignored)

TypeHintClass

type: TObjectPtr<UCl...

description: A suggestedUClasstype for the newly-created Object (possibly ignored)

TypeHintExtended

description: An arbitrary integer that can be used to pass data to an API implementation


className: FCreateTextureObjectParams

description: The definition of a "texture object" is implementation-specific. In the UE Editor this is generally aUTexture2D

BaseName

description: The base name of the new mesh object

GeneratedTransientTexture

type: TObjectPtr<UTe...

description: Input data Texture source data.

StoreRelativeToObject

description: An object to store the Texture relative to.

TargetWorld

description: The World/Level the new texture object should be created in (if known).

description: Base dataAn arbitrary integer that can be used to pass data to an API implementation