description: Finalizes the source geometry by checking for invalid polygons, updating components, etc. - anything that needs to be done before the engine will accept the resulting brushes/polygons as valid.

code: bool FinalizeSourceData()


description: Allows manual setting of the last selection index. This is dangerous and should only be called by theFEdModeGeometry::PostUndo()function.

module: GeometryMode

code: void ForceLastSelectionIndex ( int32 InLastSelectionIndex )


code: const [ABrush](API\Runtime\Engine\Engine\ABrush) * GetActualBrush() const


description: Removes all geometry data and reconstructs it from the source brushes.

code: virtual void GetFromSource()


description: Returns a location that represents the middle of the object

code: virtual FVector GetMidPoint() const


code: int32 GetNewSelectionIndex()


description: Overload this method to report a name for your referencer

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


description: Returns a valid position for the widget to be drawn at for this object

code: virtual FVector GetWidgetLocation()


description: Sends the vertex data that we have back to the source vertices.

code: virtual void SendToSource()


description:
Set the pivot position based on the 'highest' selected object (vertex/edge/poly) in the given selection array
The index of the array entry used for setting the pivot. Returns INDEX_NONE if pivot not set

code: int32 SetPivotFromSelectionArray ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FGeomSelection](API\Runtime\Engine\Engine\FGeomSelection) > & SelectionArray )


description: Update the selection state based on the passed in array

code: void UpdateFromSelectionArray ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FGeomSelection](API\Runtime\Engine\Engine\FGeomSelection) > & SelectionArray )


className: FGeomObjectPtr

code: typedef [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< class [FGeomObject](API\Plugins\GeometryMode\FGeomObject) > FGeomObjectPtr


className: FGeomObject

description: A group of polygons forming an individual object.

code: class FGeomObject : public [FGeomBase](API\Plugins\GeometryMode\FGeomBase), public [FGCObject](API\Runtime\CoreUObject\UObject\FGCObject)

ActualBrush

type: TObjectPtr<ABr...

description: Indexto theABrushactor this object represents.

bSelectionOrderDirty

type: bool

description: If 1, the selection order array needs to be compiled before being accessed.

EdgePool

type: TArray<FGeomEd...

PolyPool

type: TArray<FGeomPo...

SelectionOrder

type: TArray<FGeomBa...

description: Used for tracking the order of selections within this object.

VertexPool

type: TArray<FGeomVe...

description: Main lists. All lower data types refer to the contents of these pools through indices.


code: bool operator== ( const [FGeomPoly](API\Plugins\GeometryMode\FGeomPoly) & In ) const


className: FGeomPoly

description: An individual polygon.

code: class FGeomPoly : public [FGeomBase](API\Plugins\GeometryMode\FGeomBase)

ActualPolyIndex

description: The polygon this poly represents.

EdgeIndices

type: TArray< int >

description: Array of indices into the parent objects edge pool.


code: FVector3f * GetActualVertex ( [FPolyVertexIndex](API\Plugins\GeometryMode\FPolyVertexIndex) & InPVI )


description: Gets the local rotation to use when transforming this object

code: virtual FRotator GetWidgetRotation() const


description: Returns true if this geometry objects is a vertex.

code: virtual bool IsVertex() const


description: Assignment simply copies off the vertex position.

code: [FGeomVertex](API\Plugins\GeometryMode\FGeomVertex) & operator= ( const FVector3f & In )


className: FGeomVertex

description: A 3D position.

code: class FGeomVertex : public [FGeomBase](API\Plugins\GeometryMode\FGeomBase), public [UE::Math::TVector< float >](API\Runtime\Core\Math\TVector)

ActualVertexIndices

type: TArray<FPolyVe...

description: The list of vertices that this vertex represents.

ParentPolyIndices

type: TArray< int32 >

description: Indices into the parent poly pool.


description: true if something was selected/deselected, false otherwise.

code: virtual bool BoxSelect ( FBox & InBox, bool InSelect )


code: virtual void DrawHUD ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FCanvas](API\Runtime\Engine\FCanvas) * Canvas )


code: [UGeomModifier](API\Plugins\GeometryMode\UGeomModifier) * GetCurrentModifier() const


code: virtual bool FrustumSelect ( const [FConvexVolume](API\Runtime\Engine\FConvexVolume) & InFrustum, [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * InViewportClient, bool InSelect )


code: [UGeomModifier](API\Plugins\GeometryMode\UGeomModifier) * GetModifier ( int32 Index )


code: const [UGeomModifier](API\Plugins\GeometryMode\UGeomModifier) * GetModifier ( int32 Index ) const


description: Returns the name that gets reported to the editor.

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


code: int32 GetNumModifiers() const


description: true if the delta was handled by this editor mode tool.

code: virtual bool InputDelta ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * InViewportClient, [FViewport](API\Runtime\Engine\FViewport) * InViewport, FVector & InDrag, FRotator & InRot, FVector & InScale )


description: true if the key was handled by this editor mode tool.

code: virtual bool InputKey ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, [FKey](API\Runtime\InputCore\FKey) Key, EInputEvent Event )


code: virtual void Render ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FViewport](API\Runtime\Engine\FViewport) * Viewport, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI )


code: void SetCurrentModifier ( [UGeomModifier](API\Plugins\GeometryMode\UGeomModifier) * InModifier )


description: Store the current geom selections for all geom objects

code: void StoreAllCurrentGeomSelections()


description: Tick.

code: virtual void Tick ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, float DeltaTime )


className: TModifierConstIterator

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UGeomModifier](API\Plugins\GeometryMode\UGeomModifier) > >::TConstIterator TModifierConstIterator


className: TModifierIterator

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UGeomModifier](API\Plugins\GeometryMode\UGeomModifier) > >::TIterator TModifierIterator


description: Widget manipulation of geometry.

code: class FModeTool_GeometryModify : public [FModeTool](API\Editor\UnrealEd\FModeTool)

bGeomModified

description: Used to track when actualy modification takes place

CurrentModifier

type: UGeomModifier&...

description: The current modifier.

Modifiers

type: TArray<TObject...

description: All available modifiers.


code: bool operator== ( const [FPolyVertexIndex](API\Plugins\GeometryMode\FPolyVertexIndex) & In ) const


code: FPolyVertexIndex ( int32 InPolyIndex, int32 InVertexIndex )


className: FPolyVertexIndex

description: An index pair denoting a polygon and vertex within the parent objectsABrush.

code: struct FPolyVertexIndex


description:
Method that specifies whether the hit proxyalwaysallows translucent primitives to be associated with it or not, regardless of any other engine/editor setting. For example, if translucent selection was disabled, any hit proxies returning true would still allow translucent selection. In this specific case, true is always returned because geometry mode hit proxies always need to be selectable or geometry mode will not function correctly.
true if translucent primitives are always allowed with this hit proxy; false otherwise

code: virtual bool AlwaysAllowsTranslucentPrimitives() const


description: Override to change the mouse based on what it is hovering over.


code: virtual [HHitProxyType](API\Runtime\Engine\HHitProxyType) * GetType() const


code: HGeomEdgeProxy ( [FGeomObjectPtr](API\Plugins\GeometryMode\FGeomObjectPtr) InGeomObject, int32 InEdgeIndex )


code: static [HHitProxyType](API\Runtime\Engine\HHitProxyType) * StaticGetType()


className: HGeomEdgeProxy

description: Hit proxy for edges.

code: struct HGeomEdgeProxy : public [HHitProxy](API\Runtime\Engine\HHitProxy)

GeomObjectWeakPtr

type: TWeakPtr<FGeom...

description: Kept around for backwards compat.


code: HGeomPolyProxy ( [FGeomObjectPtr](API\Plugins\GeometryMode\FGeomObjectPtr) InGeomObject, int32 InPolyIndex )


className: HGeomPolyProxy

description: Hit proxy for polygons.

code: struct HGeomPolyProxy : public [HHitProxy](API\Runtime\Engine\HHitProxy)


code: HGeomVertexProxy ( [FGeomObjectPtr](API\Plugins\GeometryMode\FGeomObjectPtr) InGeomObject, int32 InVertexIndex )


className: HGeomVertexProxy

description: Hit proxy for vertices.

code: struct HGeomVertexProxy : public [HHitProxy](API\Runtime\Engine\HHitProxy)


description:
Applies the modifier. Does nothing if the editor is not in geometry mode.
true if something happened.

code: bool Apply()


description: Stores the current state of the brush so that upon faulty operations, the brush may be restored to its previous state

code: void CacheBrushState()


description: true if two edges in the shape overlap not at a vertex

code: bool DoEdgesOverlap()


code: virtual void DrawHUD ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FCanvas](API\Runtime\Engine\FCanvas) * Canvas )


description: Ends the modification of geometry data.

code: bool EndModify()


description: Handles the stopping of transactions against the selected ABrushes.

code: void EndTrans()


description: Interface for displaying error messages.

code: void GeomError ( const [FString](API\Runtime\Core\Containers\FString) & InErrorMsg )


description: The modifier's tooltip string.

code: const [FText](API\Runtime\Core\Internationalization\FText) & GetModifierTooltip() const


description: Gives the individual modifiers a chance to do something the first time they are activated.

code: virtual void Initialize()


description: The modifier's description string.

code: const [FText](API\Runtime\Core\Internationalization\FText) & GetModifierDescription() const


code: virtual bool InputDelta ( class [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * InViewportClient, [FViewport](API\Runtime\Engine\FViewport) * InViewport, FVector & InDrag, FRotator & InRot, FVector & InScale )


code: virtual bool InputKey ( class [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, [FKey](API\Runtime\InputCore\FKey) Key, EInputEvent Event )


description: Implements the modifier application.

code: virtual bool OnApply()


description: Drawing functions to allow modifiers to have better control over the screen.

code: virtual void Render ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FViewport](API\Runtime\Engine\FViewport) * Viewport, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI )


description: Restores the brush to its cached state

code: void RestoreBrushState()


description: Starts the modification of geometry data.

code: bool StartModify()


description: Handles the starting of transactions against the selected ABrushes.

code: void StartTrans()


code: void StoreAllCurrentGeomSelections()


description: Store the current geom selections (Edge, Vert and Poly)

code: void StoreCurrentGeomSelections ( [TArray](API\Runtime\Core\Containers\TArray)< struct [FGeomSelection](API\Runtime\Engine\Engine\FGeomSelection) > & SelectionArray, [FGeomObjectPtr](API\Plugins\GeometryMode\FGeomObjectPtr) go )


description: true if this modifier will work on the currently selected sub objects.

code: virtual bool SupportsCurrentSelection()


code: virtual void Tick ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, float DeltaTime )


description: Updates the pivot offset of the selected brushes based on the current vertex positions

code: virtual void UpdatePivotOffset()


description: Gives the modifier a chance to initialize it's internal state when activated.

code: virtual void WasActivated()


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


className: UGeomModifier

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, HideCategories=(Object, GeomModifier)) class UGeomModifier : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

bAppearsInToolbar

type: uint32:  1

bInitialized

type: uint32: 1

description: True if the modifier has been initialized.

bPendingPivotOffsetUpdate

description: If true, the pivot offset should be updated when the modification ends

bPushButton

description: If true, this modifier should be displayed as a push button instead of a radio button

Description

type: FText

description: A human readable name for this modifier (appears on buttons, menus, etc)

ToolbarIconName

type: FName

description: Icon name for showing this modifier in a toolbar

Tooltip

description: The tooltip to be displayed for this modifier


description: Gives the modifier a chance to clean up when the user is switching away from it.

code: virtual void WasDeactivated()


description: Deprecated* Supports has been deprected. Use SupportsCurrentSelection instead

code: virtual bool Supports()


code: virtual void DrawHUD ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FCanvas](API\Runtime\Engine\FCanvas) * Canvas )


description: true if the key was handled by this editor mode tool.

code: virtual bool InputKey ( class [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, [FKey](API\Runtime\InputCore\FKey) Key, EInputEvent Event )


description: Implements the modifier application.

code: virtual bool OnApply()


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Clip : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)

ClipMarkers

type: TArray< FVector...

description: The clip markers that the user has dropped down in the world so far.

SnappedMouseWorldSpacePos

type: FVector

description: The mouse position, in world space, where the user currently is hovering.


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


description: Creates selected objects.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Create : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)


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


description: Deletes selected objects.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Delete : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)


description: true if the delta was handled by this editor mode tool.

code: virtual bool InputDelta ( class [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * InViewportClient, [FViewport](API\Runtime\Engine\FViewport) * InViewport, FVector & InDrag, FRotator & InRot, FVector & InScale )


code: virtual bool SupportsCurrentSelection()


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(AutoExpandCategories=Settings) class UGeomModifier_Edit : public [UGeomModifier](API\Plugins\GeometryMode\UGeomModifier)


description: Check the coordinates mode is local and warn the user with a suppressible dialog if it is not

code: void CheckCoordinatesMode()


description: Gives the individual modifiers a chance to do something the first time they are activated.

code: virtual void Initialize()


code: virtual void WasActivated()


code: virtual void WasDeactivated()


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Extrude : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)


description: Implements the modifier application.

code: virtual bool OnApply()


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


description: Flips selected objects.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Flip : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)


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


description: Revolves selected polygons around the pivot point.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Lathe : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)

Axis

type: TEnumAsByte<EA...

description: The axis of rotation to use when creating the brush.


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


description: Optimizes selected objects by attempting to merge their polygons back together.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Optimize : public [UGeomModifier_Triangulate](API\Plugins\GeometryMode\UGeomModifier_Triangulate)


code: virtual void DrawHUD ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FCanvas](API\Runtime\Engine\FCanvas) * Canvas )


code: virtual bool InputKey ( class [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, [FKey](API\Runtime\InputCore\FKey) Key, EInputEvent Event )


description: Drawing functions to allow modifiers to have better control over the screen.

code: virtual void Render ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FViewport](API\Runtime\Engine\FViewport) * Viewport, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI )


description: Pen can work always

code: virtual bool SupportsCurrentSelection()


code: virtual void Tick ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, float DeltaTime )


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Pen : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)

bAutoExtrude

description: If true, the shape will be automatically extruded into a brush upon completion.

bCreateBrushShape

description: If true, the resulting shape will be turned into anABrushShapeactor.

bCreateConvexPolygons

description: If true, the tool will try and optimize the resulting triangles into convex polygons before creating the brush.

ExtrudeDepth

description: How far to extrude the newly created brush if bAutoExtrude is set to true.

MouseWorldSpacePos

description: The mouse position, in world space, where the user currently is hovering (snapped to grid if that setting is enabled).

ShapeVertices

description: The vertices that the user has dropped down in the world so far.

UsingViewportClient

type: FEditorViewport...


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


description: true if this modifier will work on the currently selected sub objects.


description: Splits selected objects.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Split : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)


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


description: Implements the modifier application.


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


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


description: Turns selected objects.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Turn : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)


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


description: Welds selected objects.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Weld : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)


description: Triangulates selected objects.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UGeomModifier_Triangulate : public [UGeomModifier_Edit](API\Plugins\GeometryMode\UGeomModifier_Edit)


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

module: GeometryProcessingAdapters

code: virtual void ShutdownModule()


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


className: FGeometryProcessingAdaptersModule

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


description: Top-level driver function that clients call to generate the approximation for a set of input Actors.

code: virtual void ApproximateActors ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & Actors, const [FOptions](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-\FOptions) & Options, [FResults](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-\FResults) & ResultsOut )


description: Construct an FOptions from the providedFMeshApproximationSettings.

code: virtual [FOptions](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-\FOptions) ConstructOptions ( const [FMeshApproximationSettings](API\Runtime\Engine\Engine\FMeshApproximationSettings) & MeshApproximationSettings )


code: virtual [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * EmitGeneratedMeshAsset ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & Actors, const [FOptions](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-\FOptions) & Options, [FResults](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-\FResults) & ResultsOut, [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * FinalMesh, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * Material, [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * DebugMesh )


code: virtual void GenerateApproximationForActorSet ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & Actors, const [FOptions](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-\FOptions) & Options, [FResults](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-\FResults) & ResultsOut )


className: FApproximateActorsImpl

description: Implementation ofIGeometryProcessing_ApproximateActors


code: virtual void CombineMeshInstances ( const [FSourceInstanceList](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-_1\FSourceInstanceL-) & MeshInstances, const [FOptions](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-_1\FOptions) & Options, [FResults](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-_1\FResults) & ResultsOut )


className: FCombineMeshInstancesImpl

description: Implementation ofIGeometryProcessing_CombineMeshInstances


code: virtual void GenerateUVs ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & InOutMesh, const [FOptions](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-_2\FOptions) & Options, [FResults](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-_2\FResults) & ResultsOut )


className: FMeshAutoUVImpl

description: Implementation ofIGeometryProcessing_MeshAutoUV

code: class FMeshAutoUVImpl : public [IGeometryProcessing_MeshAutoUV](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IGeometryProcess-_2)


module: GeometryScriptingCore


className: FGeometryScriptingCoreModule

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


className: EGeometryScriptAxis

code: enum EGeometryScriptAxis { X = 0, Y = 1, Z = 2, }


description: IModuleInterfaceimplementation


className: EGeometryScriptBakeSamplesPerPixel

code: enum EGeometryScriptBakeSamplesPerPixel { Sample1, Sample4, Sample16, Sample64, Samples256, }


className: EGeometryScriptBakeCurvatureTypeMode

code: enum EGeometryScriptBakeCurvatureTypeMode { Mean, Max, Min, Gaussian, }


className: EGeometryScriptBakeCurvatureColorMode

code: enum EGeometryScriptBakeCurvatureColorMode { Grayscale, RedBlue, RedGreenBlue, }


className: EGeometryScriptBakeBitDepth

code: enum EGeometryScriptBakeBitDepth { ChannelBits8, ChannelBits16, }


className: EGeometryScriptBakeCurvatureClampMode

code: enum EGeometryScriptBakeCurvatureClampMode { None, OnlyPositive, OnlyNegative, }


className: EGeometryScriptBakeFilteringType

code: enum EGeometryScriptBakeFilteringType { BSpline, Box, }


className: EGeometryScriptBakeNormalSpace

code: enum EGeometryScriptBakeNormalSpace { Tangent, Object, }


className: EGeometryScriptBakeOutputMode

code: enum EGeometryScriptBakeOutputMode { RGBA, PerChannel, }


className: EGeometryScriptBakeTypes

code: enum EGeometryScriptBakeTypes { TangentSpaceNormal, ObjectSpaceNormal, FaceNormal, BentNormal, Position, Curvature, AmbientOcclusion, Texture, MultiTexture, VertexColor, MaterialID, }


className: EGeometryScriptBakeResolution

code: enum EGeometryScriptBakeResolution { Resolution16, Resolution32, Resolution64, Resolution128, Resolution256, Resolution512, Resolution1024, Resolution2048, Resolution4096, Resolution8192, }


className: EGeometryScriptBlurColorMode

code: enum EGeometryScriptBlurColorMode { Uniform = 0, EdgeLength = 1, CotanWeights = 2, }


className: EGeometryScriptBooleanOperation

code: enum EGeometryScriptBooleanOperation { Union, Intersection, Subtract, }


code: enum EGeometryScriptCollisionGenerationMethod { AlignedBoxes = 0, OrientedBoxes = 1, MinimalSpheres = 2, Capsules = 3, ConvexHulls = 4, SweptHulls = 5, MinVolumeShapes = 6, }


className: EGeometryScriptContainmentOutcomePins

code: enum EGeometryScriptContainmentOutcomePins { Inside, Outside, }


className: EGeometryScriptCombineSelectionMode

description: Type of Combine operation to use when combining multipleFGeometryScriptMeshSelection

code: enum EGeometryScriptCombineSelectionMode { Add, Subtract, Intersection, }


className: EGeometryScriptCombineAttributesMode

description: Options for how attributes from a source and target mesh are combined into the target mesh.

code: enum EGeometryScriptCombineAttributesMode { EnableAllMatching, UseTarget, UseSource, }


className: EGeometryScriptDebugMessageType

description: Errors/Debugging

code: enum EGeometryScriptDebugMessageType { ErrorMessage, WarningMessage, }


className: EGeometryScriptEmptySelectionBehavior

description: Behavior of operations when a MeshSelection is empty

code: enum EGeometryScriptEmptySelectionBehavior { FullMeshSelection = 0, EmptySelection = 1, }


className: EGeometryScriptErrorType

code: enum EGeometryScriptErrorType { NoError, UnknownError, InvalidInputs, OperationFailed, }


className: EGeometryScriptFillHolesMethod

code: enum EGeometryScriptFillHolesMethod { Automatic = 0, MinimalFill = 1, PolygonTriangulation = 2, TriangleFan = 3, PlanarProjection = 4, }


className: EGeometryScriptFlareType

code: enum EGeometryScriptFlareType { SinMode = 0, SinSquaredMode = 1, TriangleMode = 2, }


className: EGeometryScriptGridSizingMethod

code: enum EGeometryScriptGridSizingMethod { GridCellSize = 0, GridResolution = 1, }


className: EGeometryScriptIndexType

description: List TypesBy default structs exposed to Python will use a per-UPROPERTY comparison. When this doesn't give correct results (e.g., for structs with no properties, which will compare equal in all cases because there are no properties to compare), it is necessary to define explicit equality operators and add the following WithIdenticalViaEquality trait. Note that users can write blueprints/python scripts which pass these lists to many function calls so we would like to avoid copying them (very slow if they have millions of elements) so we defined the equality operations using pointer equality but this is potentially confusing if users expect that different lists with the same elements compare equal.

code: enum EGeometryScriptIndexType { Any, Triangle, Vertex, MaterialID, PolygroupID, }


className: EGeometryScriptLinearExtrudeDirection

code: enum EGeometryScriptLinearExtrudeDirection { FixedDirection = 0, AverageFaceNormal = 1, }


className: EGeometryScriptLODType

code: enum EGeometryScriptLODType { MaxAvailable, HiResSourceModel, SourceModel, RenderData, }


description: Type of Conversion to apply to aFGeometryScriptMeshSelection

code: enum EGeometryScriptMeshSelectionConversionType { NoConversion = 0, ToVertices = 1, ToTriangles = 2, ToPolygroups = 3, }


className: EGeometryScriptMeshEditPolygroupMode

code: enum EGeometryScriptMeshEditPolygroupMode { PreserveExisting = 0, AutoGenerateNew = 1, SetConstant = 2, }


className: EGeometryScriptMeshBevelSelectionMode

description: Mode passed to ApplyMeshBevelSelection to control how the input Selection should be interpreted as selecting an area of the mesh to Bevel

code: enum EGeometryScriptMeshBevelSelectionMode { TriangleArea = 0, AllPolygroupEdges = 1, SharedPolygroupEdges = 2, }


className: EGeometryScriptMorphologicalOpType

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


className: EGeometryScriptMathWarpType

code: enum EGeometryScriptMathWarpType { SinWave1D = 0, SinWave2D = 1, SinWave3D = 2, }


className: EGeometryScriptMeshSelectionType

description: Type of index stored in aFGeometryScriptMeshSelection

code: enum EGeometryScriptMeshSelectionType { Vertices = 0, Triangles = 1, Polygroups = 2, }


className: EGeometryScriptOffsetFacesType

code: enum EGeometryScriptOffsetFacesType { VertexNormal = 0, FaceNormal = 1, ParallelFaceOffset = 2, }


className: EGeometryScriptOutcomePins

code: enum EGeometryScriptOutcomePins { Failure, Success, }


className: EGeometryScriptPrimitiveOriginMode

code: enum EGeometryScriptPrimitiveOriginMode { Center = 0, Base = 1, }


className: EGeometryScriptPolyOffsetJoinType

description: Join types to define the shape of corners between polygon and polypath edges.

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


className: EGeometryScriptPixelSamplingMethod

code: enum EGeometryScriptPixelSamplingMethod { Bilinear = 0, Nearest = 1, }


className: EGeometryScriptPathOffsetEndType

description: End types to apply when offsetting open paths.

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


className: EGeometryScriptPolygonFillMode

code: enum EGeometryScriptPolygonFillMode { All = 0, Solid = 1, PositiveWinding = 2, NonZeroWinding = 3, NegativeWinding = 4, OddWinding = 5, }


className: EGeometryScriptPolyOperationArea

code: enum EGeometryScriptPolyOperationArea { EntireSelection = 0, PerPolygroup = 1, PerTriangle = 2, }


className: EGeometryScriptPrimitivePolygroupMode

code: enum EGeometryScriptPrimitivePolygroupMode { SingleGroup = 0, PerFace = 1, PerQuad = 2, }


className: EGeometryScriptRemeshEdgeConstraintType

description: Types of edge constraints, specified for different mesh attributes

code: enum EGeometryScriptRemeshEdgeConstraintType { Fixed = 0, Refine = 1, Free = 2, Ignore = 3, }


className: EGeometryScriptPrimitiveUVMode

code: enum EGeometryScriptPrimitiveUVMode { Uniform = 0, ScaleToFill = 1, }


className: EGeometryScriptRemeshSmoothingType

description: The Vertex Smoothing strategy used in a Remeshing operation

code: enum EGeometryScriptRemeshSmoothingType { Uniform = 0, UVPreserving = 1, Mixed = 2, }


code: enum EGeometryScriptRemoveHiddenTrianglesMethod { FastWindingNumber = 0, RaycastOcclusionTest = 1, }


code: enum EGeometryScriptRemoveMeshSimplificationType { StandardQEM = 0, VolumePreserving = 1, AttributeAware = 2, }


className: EGeometryScriptSamplingWeightMode

description: Control how active Weights are used to affect point radius

code: enum EGeometryScriptSamplingWeightMode { WeightToRadius = 0, FilledWeightToRadius = 1, WeightedRandom = 2, }


className: EGeometryScriptRepairMeshMode

code: enum EGeometryScriptRepairMeshMode { DeleteOnly = 0, RepairOrDelete = 1, RepairOrSkip = 2, }


className: EGeometryScriptSmoothBoneWeightsType

code: enum EGeometryScriptSmoothBoneWeightsType { DirectDistance = 0, GeodesicVoxel = 1, }


className: EGeometryScriptSearchOutcomePins

code: enum EGeometryScriptSearchOutcomePins { Found, NotFound, }


className: EGeometryScriptSamplingDistributionMode

description: Controls the distribution of sample radii

code: enum EGeometryScriptSamplingDistributionMode { Uniform = 0, Smaller = 1, Larger = 2, }


className: EGeometryScriptSampleSpacing

code: enum EGeometryScriptSampleSpacing { UniformDistance, UniformTime, ErrorTolerance, }


className: EGeometryScriptSweptHullAxis

code: enum EGeometryScriptSweptHullAxis { X = 0, Y = 1, Z = 2, SmallestBoxDimension = 3, SmallestVolume = 4, }


className: EGeometryScriptTopologyConnectionType

description: Types of connection between adjacent Mesh Elements (vertices/triangles/polygoups)

code: enum EGeometryScriptTopologyConnectionType { Geometric, Polygroup, MaterialID, }


className: EGeometryScriptUniformRemeshTargetType

description: Goal types for Uniform Remeshing

code: enum EGeometryScriptUniformRemeshTargetType { TriangleCount = 0, TargetEdgeLength = 1, }


className: EGeometryScriptTangentTypes

code: enum EGeometryScriptTangentTypes { FastMikkT = 0, PerTriangle = 1, }


className: EGeometryScriptUVFlattenMethod

code: enum EGeometryScriptUVFlattenMethod { ExpMap = 0, Conformal = 1, SpectralConformal = 2, }


className: EGeometryScriptUVIslandSource

code: enum EGeometryScriptUVIslandSource { PolyGroups = 0, UVIslands = 1, }


className: EOutputTargetMeshBones

code: enum EOutputTargetMeshBones { SourceBones = 0, TargetBones = 1, }


className: ESelectiveTessellatePatternType

description: Selective Tessellate options

code: enum ESelectiveTessellatePatternType { ConcentricRings = 0, }


className: ETransferBoneWeightsMethod

code: enum ETransferBoneWeightsMethod { ClosestPointOnSurface = 0, InpaintWeights = 1, }


GridCellSize

type: float

description: Use a specific grid cell size, and construct a grid with dimensions large enough to contain the target object

GridResolution

type: int

description: Use a specific grid resolution, with the grid cell size derived form the target object bounds such that this is the number of cells along the longest box dimension

SizeMethod

type: EGeometryScript...

description: SizeMethod determines how the parameters below will be interpreted to define the size of a 3D sampling/voxel grid


code: void UpdateAttributesForCombineMode ( [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Target, const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Source )


className: FGeometryScriptAppendMeshOptions

description: Control how details like mesh attributes are handled when one mesh is appended to another

CombineMode

description: How attributes from each mesh are combined into the result.


className: FGeometryScriptBakeRenderCaptureOptions

bBaseColorMap

type: bool

bNormalMap

description: World space normal map

bPackedMRSMap

description: Packed Metallic/Roughness/Specular Map. If this is true the separated channel booleans are ignored

bRenderCaptureAntiAliasing

description: Whether to use anti-aliasing in the render captures, this may introduce artefacts if pixels at different scene depths get blended

CleanupTolerance

description: This threshold is used to detect occlusion artefacts (e.g., silhouettes/blotches in the base color) so that texels exhibiting them can be cleaned up i.e., rejected and filled in using the values of nearby valid texels instead.

FieldOfViewDegrees

type: double

description: These are hidden in the UI right now, we might want to expose them if they turn out to be useful for very large or very small objects (not tested yet) TODO Figure out if we want to expose these options

RenderCaptureResolution

description: The pixel resolution of render capture photo set

Resolution

description: The pixel resolution of the generated textures

SamplesPerPixel

description: Number of samples per pixel


className: FGeometryScriptBakeSourceMeshOptions

SourceNormalMap

type: TObjectPtr<UTe...


className: FGeometryScriptBakeTextureOptions

BitDepth

description: The bit depth for each channel of the generated textures

bProjectionInWorldSpace

description: If true, uses the world space positions for the projection from target mesh to source mesh, otherwise it uses their object space positions.

FilteringType

description: Filtering Type to perform on samples

ProjectionDistance

description: Maximum allowed distance for the projection from target mesh to source mesh for the sample to be considered valid.

SampleFilterMask

description: Mask texture for filtering out samples/pixels from the output texture

SamplesPerPixel

description: Number of samples per pixel


className: FGeometryScriptBakeTargetMeshOptions


code: struct FGeometryScriptBakeType_Curvature : public [FGeometryScriptBakeTypes](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptBakeTypes)

Clamping

description: Clamping applied to curvature values before color mapping

ColorMapping

description: How to map calculated curvature values to colors

ColorRangeMultiplier

description: Multiplier for how the curvature values fill the available range in the selected Color Mapping; a larger value means that higher curvature is required to achieve the maximum color value.

CurvatureType

description: Type of curvature

MinRangeMultiplier

description: Minimum for the curvature values to not be clamped to zero relative to the curvature for the maximum color value; a larger value means that higher curvature is required to not be considered as no curvature.


code: struct FGeometryScriptBakeType_MultiTexture : public [FGeometryScriptBakeTypes](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptBakeTypes)

MaterialIDSourceTextures

description: For each material ID, the source texture that will be resampled in that material's region

SourceUVLayer

description: UV channel to use for the source mesh texture


code: struct FGeometryScriptBakeType_Occlusion : public [FGeometryScriptBakeTypes](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptBakeTypes)

BiasAngle

description: Angle in degrees from the horizon for occlusion rays for which the contribution is attenuated to reduce faceting artifacts.

MaxDistance

description: Maximum distance for occlusion rays to test for intersections; a value of 0 means infinity

OcclusionRays

description: Number of occlusion rays per sample

SpreadAngle

description: Maximum spread angle in degrees for occlusion rays; for example, 180 degrees will cover the entire hemisphere whereas 90 degrees will only cover the center of the hemisphere down to 45 degrees from the horizon.


className: FGeometryScriptBakeOutputType

A

type: FGeometryScript...

OutputMode

description: The bake output mode


Alpha

description: Blur alpha channel.

Blue

description: Blur blue channel.

Green

description: Blur green channel.

Red

description: Blur red channel.


className: FGeometryScriptBakeTypeOptions

description: Opaque struct for storing bake type options.

BakeType

description: The bake output type to generate

Options

type: TSharedPtr<FGe...


className: FGeometryScriptBakeTypes

code: struct FGeometryScriptBakeTypes


code: struct FGeometryScriptBakeType_Texture : public [FGeometryScriptBakeTypes](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptBakeTypes)

SourceTexture

description: Source mesh texture that is to be resampled into a new texture


className: FGeometryScriptBakeVertexOptions

bSplitAtNormalSeams

description: If true, compute a separate vertex color for each unique normal on a vertex

bSplitAtUVSeams

description: If true, compute a separate vertex color for each unique UV on a vertex.


className: FGeometryScriptBoneInfo


className: FGeometryScriptBendWarpOptions

bBidirectional

description: If true, the Bend is "centered" at the Origin, ie the regions on either side of the extents are rigidly transformed.

bSymmetricExtents

description: Symmetric extents are [-BendExtent,BendExtent], if disabled, then [-LowerExtent,BendExtent] is used

LowerExtent

description: Lower extent used when bSymmetricExtents = false


className: FGeometryScriptBoneWeight


code: GetProfileName() const


className: FGeometryScriptCalculateNormalsOptions


className: FGeometryScriptCollisionFromMeshOptions


bRemoveDuplicateVertices

description: Whether to remove duplicate vertices from the output.

bValidateEdgesInResult

description: Whether the triangulation should be considered a failure if it doesn't include the requested Constrained Edges.

ConstrainedEdgesFillMode

description: How to decide which parts of the shape defined by constrained edges should be filled with triangles


ErrorTolerance

description: Error tolerance to guide convex decomposition (in cm); we stop adding new parts if the volume error is below the threshold.

MinPartThickness

description: Minimum part thickness for convex decomposition (in cm); hulls thinner than this will be merged into adjacent hulls, if possible.

NumHulls

description: How many convex pieces to target per mesh when creating convex decompositions.

SearchFactor

description: How much additional decomposition decomposition + merging to do, as a fraction of max pieces.

SimplifyToFaceCount

description: Try to simplify each convex hull to this triangle count. If 0, no simplification


className: FGeometryScriptCopyMeshToAssetOptions

bApplyNaniteSettings

description: If enabled, NaniteSettings will be applied to the target Asset if possible

NaniteSettings

description: ReplacedFGeometryScriptNaniteOptionswith usage of EngineFMeshNaniteSettings

NewMaterials

type: TArray<TObject...

NewMaterialSlotNames

type: TArray<FName>

NewNaniteSettings

type: FMeshNaniteSett...

description: Nanite Settings applied to the target Asset, if bApplyNaniteSettings = true


className: FGeometryScriptCopyMeshFromAssetOptions


code: bool AllSet() const


className: FGeometryScriptColorFlags

description: Colors


code: bool operator== ( const [FGeometryScriptColorList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptColorList) & Other ) const


code: bool operator!= ( const [FGeometryScriptColorList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptColorList) & Other ) const


className: FGeometryScriptBoneWeightProfile


className: FGeometryScriptColorList

List

type: TSharedPtr<TAr...


className: FGeometryScriptConvexHullOptions


EmptyBehavior

description: EmptyBehavior Defines how an empty input selection should be interpreted


className: FGeometryScriptDebugMessage

Message

type: FText


code: bool operator== ( const [FGeometryScriptDynamicMeshBVH](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptDynamicMeshBVH) & Other ) const


code: bool operator!= ( const [FGeometryScriptDynamicMeshBVH](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptDynamicMeshBVH) & Other ) const


className: FGeometryScriptDynamicMeshBVH

description: Spatial data structures


className: FGeometryScriptFillHolesOptions

bDeleteIsolatedTriangles

description: Delete floating, disconnected triangles, as they produce a "hole" that cannot be filled


className: FGeometryScriptExpMapUVOptions


code: bool operator== ( const [FGeometryScriptGeneralPolygonList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptG-) & Other ) const


className: FGeometryScriptFlareWarpOptions

FlareType

description: Determines the profile used as a displacement


code: bool operator!= ( const [FGeometryScriptGeneralPolygonList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptG-) & Other ) const


className: FGeometryScriptGeneralPolygonList

description: A list of general polygons, which may have holes.


className: FGeometryScriptGroupLayer

description: PolyGroupsFGeometryScriptGroupLayeridentifies a PolyGroup Layer of a Mesh. The Default Layer always exists, Extended layers may or may not exist.

bDefaultLayer

description: If true,the default/standard PolyGroup Layer is used

ExtendedLayerIndex

description: Indexof an extended PolyGroup Layer (which may or may not exist on any given Mesh)


code: bool IsCompatibleWith ( [EGeometryScriptIndexType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptIndexType) OtherType ) const


code: bool operator== ( const [FGeometryScriptIndexList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptIndexList) & Other ) const


code: void Reset ( [EGeometryScriptIndexType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptIndexType) TargetIndexType )


className: FGeometryScriptIsSameMeshOptions


className: FGeometryScriptIndexList


code: bool operator!= ( const [FGeometryScriptIndexList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptIndexList) & Other ) const


className: FGeometryScriptMeshPointSamplingOptions

MaxNumSamples

description: Maximum number of samples requested. If 0 or default value, mesh will be maximally sampled

RandomSeed

description: Random Seed used to initialize sampling strategies

SamplingRadius

description: Desired "radius" of sample points. Spacing between samples is at least 2x this value.

SubSampleDensity

description: Density of subsampling used in Poisson strategy.


className: FGeometryScriptMeshSelfUnionOptions


className: FGeometryScriptMeshBooleanOptions


className: FGeometryScriptMeshEditPolygroupOptions


className: FGeometryScriptMeshExtrudeOptions


className: FGeometryScriptMeshOffsetFacesOptions


className: FGeometryScriptMeshLinearExtrudeOptions


className: FGeometryScriptMeshPlaneCutOptions


className: FGeometryScriptMeshPlaneSliceOptions


className: FGeometryScriptMathWarpOptions


className: FGeometryScriptMeshBevelOptions

bApplyFilterBox

description: If true the set of beveled PolyGroup edges is limited to those that are fully or partially contained within the (transformed) FilterBox

bFullyContained

description: If true, then only PolyGroup edges that are fully contained within the filter box will be beveled, otherwise the edge will be beveled if any vertex is within the filter box.

FilterBox

type: FBox

description: Bounding Box used for edge filtering

FilterBoxTransform

type: FTransform

description: Transform applied to the FilterBox


className: FGeometryScriptMeshMirrorOptions


className: FGeometryScriptMeshOffsetOptions


className: FGeometryScriptMeshReadLOD


code: void ClearSelection()


description: Combine SelectionB with current selection, updating current selection, using CombineMode to control how combining happens

code: void CombineSelectionInPlace ( const [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) & SelectionB, [EGeometryScriptCombineSelectionMode](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptC-_1) CombineMode )


description: Convert the current selection to aTArray, optionally converting to ConvertToType. For (Tri|Group)=>Vtx, all triangle vertices (in triangles or PolyGroups) are included. For Vtx=>Tri, all one-ring vertices are included. For Group=>Tri, all Triangles are found via enumerating over mesh. (Tri|Vtx)=>Group, all GroupIDs of all triangles/one-ring triangles are included

code: [EGeometryScriptIndexType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptIndexType) ConvertToMeshIndexArray ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & IndexListOut, [EGeometryScriptIndexType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptIndexType) ConvertToType ) const


code: void DebugPrint() const


code: int32 GetNumSelected() const


code: bool IsEmpty() const


code: bool operator== ( const [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) & Other ) const


code: bool operator!= ( const [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) & Other ) const


description: Call PerTriangleFunc for each TriangleID in the Selection. For Vertex Selections, Vertex one-rings are enumerated and accumulated in aTSet. For PolyGroup Selections, a full mesh iteration is used to find all Triangles in the groups.

code: void ProcessByTriangleID ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32)> PerTriangleFunc, bool bProcessAllTrisIfSelectionEmpty ) const


description: Call PerVertexFunc for each VertexID in the Selection. For Triangle Selections, Triangles Vertex tuples are enumerated and accumulated in aTSet. For PolyGroup Selections, a full mesh iteration is used to find all Triangle Vertices in the groups (accumulated in aTSet)

code: void ProcessByVertexID ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32)> PerVertexFunc, bool bProcessAllVertsIfSelectionEmpty ) const


code: void SetSelection ( const [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) & Selection )


code: void SetSelection ( const [UE::Geometry::FGeometrySelection](API\Plugins\DynamicMesh\Selections\FGeometrySelection) & Selection )


code: void SetSelection ( [UE::Geometry::FGeometrySelection](API\Plugins\DynamicMesh\Selections\FGeometrySelection) && Selection )


code: FGeometryScriptMeshSelection()


className: FGeometryScriptMeshSelection

description: Note that the Selection storage is not aUProperty, and is not serialized.FGeometryScriptMeshSelectioninstancescannotbe serialized, they are only transient data structures, that can be created and used Blueprint instances.


className: FGeometryScriptMeshWriteLOD


className: FGeometryScriptMorphologyOptions


className: FGeometryScriptNaniteOptions

description: Configuration settings for Nanite Rendering on StaticMesh Assets

bEnabled

description: Set Nanite to Enabled/Disabled

FallbackPercentTriangles

description: Percentage of triangles to maintain in Fallback Mesh used when Nanite is unavailable

FallbackRelativeError

description: Relative Error to maintain in Fallback Mesh used when Nanite is unavailable.


bInvertWeights

description: If true, weight values are inverted

SizeDistribution

description: SizeDistribution setting controls the distribution of sample radii

SizeDistributionPower

description: SizeDistributionPower is used to control how extreme the Size Distribution shift is.

WeightMode

description: WeightMode controls how any active Weight scheme is used to affect sample radius


className: FGeometryScriptOpenPathOffsetOptions

EndType

description: How the ends of a path should be closed off.

JoinType

description: How to join / extend corners between two edges.

MiterLimit

description: If JoinType is Miter, limits how far the miter can extend

StepsPerRadianScale

description: Scales the default number of vertices (per radian) used for round joins and ends.


className: FGeometryScriptPatchBuilderOptions


className: FGeometryScriptPerlinNoiseLayerOptions

FrequencyShift

type: FVector


className: FGeometryScriptPerlinNoiseOptions

EmptyBehavior

description: EmptyBehavior Defines how an empty input selection should be interpreted


className: FGeometryScriptPlanarSimplifyOptions

bAutoCompact

description: If enabled, the simplified mesh is automatically compacted to remove gaps in the index space.


className: FGeometryScriptPNTessellateOptions

description: PN Tessellate options


bStillAppendOnTriangulationError

description: Whether to still append the triangulation in error cases  typically, cases where the input contained intersecting edges.


className: FGeometryScriptPolygonOffsetOptions

bOffsetBothSides

description: Whether to apply the offset to both sides of the polygon, i.e. adding an inner hole to any polygon. If false, the offset is only applied to one side.

StepsPerRadianScale

description: Scales the default number of vertices (per radian) used for round joins.


className: FGeometryScriptPolygroupSimplifyOptions


code: bool operator== ( const [FGeometryScriptPolyPath](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptPolyPath) & Other ) const


code: bool operator!= ( const [FGeometryScriptPolyPath](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptPolyPath) & Other ) const


className: FGeometryScriptPrimitiveOptions


className: FGeometryScriptPolyPath


className: FGeometryScriptRecomputeUVsOptions


NormalOffset

description: Nudge sample points out by this amount to try to counteract numerical issues

RaysPerSample

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

SamplesPerTriangle

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

ShrinkSelection

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

WindingIsoValue

description: Use this as winding isovalue for WindingNumber mode


className: FGeometryScriptRenderCaptureTextures


className: FGeometryScriptResolveTJunctionOptions


className: FGeometryScriptRayHitResult


className: FGeometryScriptRemeshOptions

description: Standard Remeshing Options

bAllowCollapses

description: Enable/Disable Edge Collapses during Remeshing.

bAllowFlips

description: Enable/Disable Edge Flips during Remeshing.

bAllowSplits

description: Enable/Disable Edge Splits during Remeshing.

bAutoCompact

description: If enabled, the output mesh is automatically compacted to remove gaps in the index space.

bDiscardAttributes

description: When enabled, all mesh attributes are discarded, so UV and Normal Seams can be ignored.

bPreventNormalFlips

description: When Enabled, Flips and Collapses will be skipped if they would flip any triangle face normals

bPreventTinyTriangles

description: When Enabled, Flips and Collapses will be skipped if they would create tiny degenerate triangles

bReprojectToInputMesh

description: When enabled, mesh vertices are projected back onto the input mesh surface during Remeshing, preserving the shape

bUseFullRemeshPasses

description: Bydefault, remeshing is accelerated by tracking a queue of edges that need to be processed.

GroupBoundaryConstraint

description: Constraints on the mesh boundary/border edges between different PolyGroups of the Mesh

MaterialBoundaryConstraint

description: Constraints on the mesh boundary/border edges between different Material Results of the Mesh

MeshBoundaryConstraint

description: Constraints on the open mesh boundary/border edges

RemeshIterations

description: Maximum Number of iterations of the Remeshing Strategy to apply to the Mesh.

SmoothingRate

description: Smoothing Rate/Speed.

SmoothingType

description: Type of 3D Mesh Smoothing to apply during Remeshing. Disable by setting SmoothingRate = 0


className: FGeometryScriptRepackUVsOptions


className: FGeometryScriptRevolveOptions


className: FGeometryScriptSampleTextureOptions


EmptyBehavior

description: EmptyBehavior Defines how an empty input selection should be interpreted


className: FGeometryScriptSimplifyMeshOptions

bAutoCompact

description: If enabled, the simplified mesh is automatically compacted to remove gaps in the index space.


className: FGeometryScriptSmoothBoneWeightsOptions


className: FGeometryScriptSpatialQueryOptions

bAllowUnsafeModifiedQueries

description: When true, allows the provided BHV to be used even if the mesh has been updated


className: FGeometryScriptSplitNormalsOptions


className: FGeometryScriptSplineSamplingOptions

CoordinateSpace

type: TEnumAsByte<ES...


code: bool operator== ( const [FGeometryScriptScalarList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptScalarList) & Other ) const


code: bool operator!= ( const [FGeometryScriptScalarList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptScalarList) & Other ) const


className: FGeometryScriptScalarList


className: FGeometryScriptSimpleMeshBuffers

Normals

type: TArray< FVector...

Triangles

type: TArray< FIntVec...

TriGroupIDs

type: TArray< int >

VertexColors

type: TArray<FLinear...


code: bool operator== ( const [FGeometryScriptSimplePolygon](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptSimplePolygon) & Other ) const


code: bool operator!= ( const [FGeometryScriptSimplePolygon](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptSimplePolygon) & Other ) const


className: FGeometryScriptSolidifyOptions

bSolidAtBoundaries

type: bool

bThickenShells

description: When enabled, regions of the input mesh that have open boundaries (ie "shells") are thickened by extruding them into closed solids.

ExtendBounds

type: float

ShellThickness

type: double

description: Open Shells are Thickened by offsetting vertices along their averaged vertex normals by this amount.

SurfaceSearchSteps

type: int


className: FGeometryScriptSimplePolygon

description: A simple 2D Polygon with no holes.


className: FGeometryScriptSweptHullOptions


className: FGeometryScriptTangentsOptions

Type

type: EGeometryScript...


className: FGeometryScriptTriangle

description: Triangles


code: bool operator== ( const [FGeometryScriptTriangleList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptTriangleList) & Other ) const


code: bool operator!= ( const [FGeometryScriptTriangleList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptTriangleList) & Other ) const


className: FGeometryScriptTriangleList


className: FGeometryScriptTrianglePoint


className: FGeometryScriptTwistWarpOptions

bBidirectional

description: If true, the Twist is "centered" at the Origin, ie the regions on either side of the extents are rigidly transformed.

bSymmetricExtents

description: Symmetric extents are [-BendExtent,BendExtent], if disabled, then [-LowerExtent,BendExtent] is used

LowerExtent

description: Lower extent used when bSymmetricExtents = false


className: FGeometryScriptUniformRemeshOptions

description: Uniform Remeshing Options

TargetEdgeLength

description: Explicit Target Edge Length that is desired in the output uniform mesh

TargetTriangleCount

description: Approximate Target Triangle Count, combined with mesh surface area to derive a TargetEdgeLength

TargetType

description: Method used to define target/goal of Uniform Remeshing


code: bool operator== ( const [FGeometryScriptUVList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptUVList) & Other ) const


code: bool operator!= ( const [FGeometryScriptUVList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptUVList) & Other ) const


className: FGeometryScriptUVList


className: FGeometryScriptUVTriangle


code: bool operator== ( const [FGeometryScriptVectorList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptVectorList) & Other ) const


className: FGeometryScriptVectorList


code: bool operator!= ( const [FGeometryScriptVectorList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptVectorList) & Other ) const


className: FGeometryScriptVoronoiOptions

bIncludeBoundary

description: Whether to include the bordering Voronoi cells (which extend 'infinitely' to any boundary)

CreateCells

type: TArray< int32 >

description: Optional list of cells to create meshes for. If empty, create all cells.


className: FGeometryScriptWeldEdgesOptions

bOnlyUniquePairs

description: Only merge unambiguous pairs that have unique duplicate-edge matches

Tolerance

description: Edges are coincident if both pairs of endpoint vertices, and their midpoint, are closer than this distance


className: FGeometryScriptXAtlasOptions


className: WithIdenticalViaEquality

code: enum &123; WithIdenticalViaEquality = true &125;


code: template<> struct TStructOpsTypeTraits< FGeometryScriptColorList > : public [TStructOpsTypeTraitsBase2< FGeometryScriptColorList >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FGeometryScriptDynamicMeshBVH > : public [TStructOpsTypeTraitsBase2< FGeometryScriptDynamicMeshBVH >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FGeometryScriptGeneralPolygonList > : public [TStructOpsTypeTraitsBase2< FGeometryScriptGeneralPolygonList >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FGeometryScriptMeshSelection > : public [TStructOpsTypeTraitsBase2< FGeometryScriptMeshSelection >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FGeometryScriptPolyPath > : public [TStructOpsTypeTraitsBase2< FGeometryScriptPolyPath >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FGeometryScriptIndexList > : public [TStructOpsTypeTraitsBase2< FGeometryScriptIndexList >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FGeometryScriptScalarList > : public [TStructOpsTypeTraitsBase2< FGeometryScriptScalarList >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FGeometryScriptTriangleList > : public [TStructOpsTypeTraitsBase2< FGeometryScriptTriangleList >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FGeometryScriptUVList > : public [TStructOpsTypeTraitsBase2< FGeometryScriptUVList >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: template<> struct TStructOpsTypeTraits< FGeometryScriptVectorList > : public [TStructOpsTypeTraitsBase2< FGeometryScriptVectorList >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


code: namespace UE { namespace Geometry { void UE::Geometry::AppendError ( [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug, [EGeometryScriptErrorType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptErrorType) ErrorTypeIn, const [FText](API\Runtime\Core\Internationalization\FText) & MessageIn ) } }


description: These variants of AppendError/Warning are for direct write to a debug message array. This may be useful in cases where a function is async and needs to accumulate debug messages for later collation on a game thread.

code: namespace UE { namespace Geometry { void UE::Geometry::AppendError ( [TArray](API\Runtime\Core\Containers\TArray)< [FGeometryScriptDebugMessage](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptDebugMessage) > * DebugMessages, [EGeometryScriptErrorType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptErrorType) ErrorTypeIn, const [FText](API\Runtime\Core\Internationalization\FText) & MessageIn ) } }


code: namespace UE { namespace Geometry { void UE::Geometry::AppendWarning ( [TArray](API\Runtime\Core\Containers\TArray)< [FGeometryScriptDebugMessage](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptDebugMessage) > * DebugMessages, [EGeometryScriptErrorType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptErrorType) WarningTypeIn, const [FText](API\Runtime\Core\Internationalization\FText) & MessageIn ) } }


code: namespace UE { namespace Geometry { void UE::Geometry::AppendWarning ( [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug, [EGeometryScriptErrorType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptErrorType) WarningTypeIn, const [FText](API\Runtime\Core\Internationalization\FText) & MessageIn ) } }


code: namespace UE { namespace Geometry { [FGeometryScriptDebugMessage](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptDebugMessage) UE::Geometry::MakeScriptError ( [EGeometryScriptErrorType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptErrorType) ErrorTypeIn, const [FText](API\Runtime\Core\Internationalization\FText) & MessageIn ) } }


code: namespace UE { namespace Geometry { [FGeometryScriptDebugMessage](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptDebugMessage) UE::Geometry::MakeScriptWarning ( [EGeometryScriptErrorType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptErrorType) WarningTypeIn, const [FText](API\Runtime\Core\Internationalization\FText) & MessageIn ) } }


code: void Append ( const [FGeometryScriptDebugMessage](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptDebugMessage) & MessageIn )


className: UGeometryScriptDebug

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType, Meta=(TestMetadata)) class UGeometryScriptDebug : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

Messages

type: TArray<FGeomet...


description: Find the Box formed by the intersection of Box1 and Box2

code: static FBox FindBoxBoxIntersection ( FBox Box1, FBox Box2, bool & bIsIntersecting )


description: Calculate the minimum distance between Box1 and Box2

code: static double GetBoxBoxDistance ( FBox Box1, FBox Box2 )


description: Get the Center point and X/Y/Z Dimensions of a Box (full dimensions, not Extents)

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="GeometryScript|Shapes|Box", Meta=(ScriptMethod)) static void GetBoxCenterSize ( FBox Box, FVector & Center, FVector & Dimensions )


description: Find the point on the faces of the Box that is closest to the input Point. If the Point is inside the Box, it is returned, ie points Inside do not project to the Box Faces

code: static FVector FindClosestPointOnBox ( FBox Box, FVector Point, bool & bIsInside )


description: Get the position of a corner of the Box. Corners are indexed from 0 to 7, using an ordering where 0 is the Min corner, 1/2/3 are +Z/+Y/+X from the Min corner, 7 is the Max corner, and 4/5/6 are -Z/-Y/-X from the Max corner.

code: static FVector GetBoxCorner ( FBox Box, int CornerIndex )


description: Get the position of the center of a face of the Box. Faces are indexed from 0 to 5, using an ordering where 0/1 are the MinZ/MaxZ faces, 2/3 are MinY/MaxY, and 4/5 are MinX/MaxX

code: static FVector GetBoxFaceCenter ( FBox Box, int FaceIndex, FVector & FaceNormal )


description: Calculate the minimum distance between the Box and the Point

code: static double GetBoxPointDistance ( FBox Box, FVector Point )


description: Get the Volume and Surface Area of a Box

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="GeometryScript|Shapes|Box", Meta=(ScriptMethod)) static void GetBoxVolumeArea ( FBox Box, double & Volume, double & SurfaceArea )


description: Get the input Box expanded by adding the ExpandBy parameter to both the Min and Max. Dimensions will be clamped to the center point if any of ExpandBy are larger than half the box size

code: static FBox GetExpandedBox ( FBox Box, FVector ExpandBy )


description: Create a Box from a Center point and X/Y/Z Dimensions (notExtents, which are half-dimensions)

code: static FBox MakeBoxFromCenterSize ( FVector Center, FVector Dimensions )


description: Apply the input Transform to the corners of the input Box, and return the new Box containing those points

code: static FBox GetTransformedBox ( FBox Box, FTransform Transform )


description: Create a Box from a Center point and X/Y/Z Extents (Extents are half-dimensions)

code: static FBox MakeBoxFromCenterExtents ( FVector Center, FVector Extents )


description: Test if Box1 and Box2 intersect

code: static bool TestBoxBoxIntersection ( FBox Box1, FBox Box2 )


description: Check if the Box intersects a Sphere defined by the SphereCenter and SphereRadius

code: static bool TestBoxSphereIntersection ( FBox Box, FVector SphereCenter, double SphereRadius )


description: Test if a Point is inside the Box, returning true if so, otherwise false

code: static bool TestPointInsideBox ( FBox Box, FVector Point, bool bConsiderOnBoxAsInside )


description: Clears Simple Collisions from the Dynamic Mesh Component.

code: static void ResetDynamicMeshCollision ( [UDynamicMeshComponent](API\Runtime\GeometryFramework\Components\UDynamicMeshComponent) * Component, bool bEmitTransaction, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Generate Simple Collision shapes for a Dynamic Mesh Component based on the input Dynamic Mesh.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * SetDynamicMeshCollisionFromMesh ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * FromDynamicMesh, [UDynamicMeshComponent](API\Runtime\GeometryFramework\Components\UDynamicMeshComponent) * ToDynamicMeshComponent, [FGeometryScriptCollisionFromMeshOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptC-_1) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Generates Simple Collision shapes for a Static Mesh Asset based on the input Dynamic Mesh.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * SetStaticMeshCollisionFromMesh ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * FromDynamicMesh, [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * ToStaticMeshAsset, [FGeometryScriptCollisionFromMeshOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptC-_1) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Copy the Simple Collision Geometry from the Source Component to the Static Mesh Asset.

code: static void SetStaticMeshCollisionFromComponent ( [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMeshAsset, [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * SourceComponent, [FGeometryScriptSetSimpleCollisionOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptS-_2) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Applies a displacement to a Dynamic Mesh based on a Texture2D and a UV Channel.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyDisplaceFromTextureMap ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * Texture, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, [FGeometryScriptDisplaceFromTextureOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptD-_1) Options, int32 UVLayer, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Applies a Bend Warp around an axis defined by the Bend Orientation transform. The extents of the affected region can be controlled by the Options.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyBendWarpToMesh ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptBendWarpOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptBendWarpOptions) Options, FTransform BendOrientation, float BendAngle, float BendExtent, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Add the vectors in VectorList, scaled by Magnitude, to the vertex positions in Target Mesh. VectorList Length must be >= the MaxVertexID of the Target Mesh.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyDisplaceFromPerVertexVectors ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, const [FGeometryScriptVectorList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptVectorList) & VectorList, float Magnitude, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Applies a Flare/Bulge warp around an axis defined by the Flare Orientation transform. The amount of flare in the perpendicular directions can be controlled by FlarePercentX and FlarePercentY and the extents of the affected region can be controlled by the Options.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyFlareWarpToMesh ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptFlareWarpOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptFlareWarpOptions) Options, FTransform FlareOrientation, float FlarePercentX, float FlarePercentY, float FlareExtent, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Applies various simple math-function-based warps around an axis defined by the Warp Orientation transform, currently a 1D or 2D sine-wave with arbitrary orientation may be selected by WarpType.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMathWarpToMesh ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, FTransform WarpOrientation, [EGeometryScriptMathWarpType](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptMathWarpType) WarpType, [FGeometryScriptMathWarpOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMathWarpOptions) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Applies a number of iterations of mesh smoothing to a Dynamic Mesh.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyIterativeSmoothingToMesh ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, [FGeometryScriptIterativeMeshSmoothingOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptI-) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Applies a twist warp around an axis defined by the Twist Orientation transform. The extents of the affected region can be controlled by the Options.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyTwistWarpToMesh ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptTwistWarpOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptTwistWarpOptions) Options, FTransform TwistOrientation, float TwistAngle, float TwistExtent, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Applies 3D Perlin noise displacement to the Target Mesh.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyPerlinNoiseToMesh ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, [FGeometryScriptPerlinNoiseOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptP-_2) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Computes a PolyPath that represents a "straight" surface path starting at the prescribed point on the mesh, and continuing in the indicated direction until reaching the requested path length or encountering a mesh boundary, whichever comes first.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * CreateSurfacePath ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, FVector Direction, int32 StartTriangleID, FVector StartBaryCoords, float MaxPathLength, [FGeometryScriptPolyPath](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptPolyPath) & SurfacePath, bool & bFoundErrors, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Computes a PolyPath that represents the shortest mesh surface path between two prescribed points on the provided mesh. This can fail if the Start and End points are within separate connected components of the mesh.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * GetShortestSurfacePath ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, int32 StartTriangleID, FVector StartBaryCoords, int32 EndTriangleID, FVector EndBaryCoords, [FGeometryScriptPolyPath](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptPolyPath) & ShortestPath, bool & bFoundErrors, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Computes a vertex list that represents the shortest path constrained to travel along mesh triangle edges between the prescribed start and end vertex. This can fail if the Start and End points are within separate connected components of the mesh.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * GetShortestVertexPath ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, int32 StartVertexID, int32 EndVertexID, [FGeometryScriptIndexList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptIndexList) & VertexIDList, bool & bFoundErrors, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Resets all Material IDs on a mesh to the given ClearValue, or 0 if no ClearValue is provided. If Material IDs are not already enabled on the Target Mesh, this function will first enable them and then set the value.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ClearMaterialIDs ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, int ClearValue, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Compact the MaterialIDs of the TargetMesh, ie remove any un-used MaterialIDs and remap the remaining N in-use MaterialIDs to the range [0,N-1]. Optionally compute a Compacted list of Materials.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * CompactMaterialIDs ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > SourceMaterialList, [TArray](API\Runtime\Core\Containers\TArray)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * > & CompactedMaterialList, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Delete all triangles in TargetMesh with the given MaterialID

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * DeleteTrianglesByMaterialID ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, int MaterialID, int & NumDeleted, bool bDeferChangeNotifications, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: if the mesh is not Triangle-Compact (eg GetHasTriangleIDGaps == false) then the returned list will also have the same gaps where the number -1 will be recorded for any missing Triangle IDs.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * GetAllTriangleMaterialIDs ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptIndexList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptIndexList) & MaterialIDList, bool & bHasMaterialIDs )


description: Enables per-triangle Material IDs on a mesh and initializes the values to 0. If Target Mesh already has Material IDs, this function will do nothing.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * EnableMaterialIDs ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: This populates the MaterialIDList with Material IDs for each triangle in the TriangleIDList. If a triangle is not present in the Target Mesh the number -1 will be used for the corresponding Material ID. If Material IDs are not enabled on the TargetMesh no Material IDs will be added to the result list.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * GetMaterialIDsOfTriangles ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptIndexList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptIndexList) TriangleIDList, [FGeometryScriptIndexList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptIndexList) & MaterialIDList, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="GeometryScript|MeshQueries", Meta=(ScriptMethod)) static int GetMaxMaterialID ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, bool & bHasMaterialIDs )


description: Returns the current Material ID for a Triangle. If the mesh does not have Material IDs enabled or if the Triangle ID is not an element of the mesh, the value 0 will be returned and bIsValidTriangle will be false.

code: static int32 GetTriangleMaterialID ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, int TriangleID, bool & bIsValidTriangle )


description: Populates Triangle ID List with the Triangle IDs of triangles that share the specified Material ID in the Target Mesh.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * GetTrianglesByMaterialID ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, int MaterialID, [FGeometryScriptIndexList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptIndexList) & TriangleIDList, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: For all triangles with a Material ID matching the given value (From Material ID), update the Material ID to the new value (To Material ID).

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * RemapMaterialIDs ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, int FromMaterialID, int ToMaterialID, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Sets the Material ID of all triangles in a mesh to the values in an inputIndexList.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * SetAllTriangleMaterialIDs ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptIndexList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptIndexList) TriangleMaterialIDList, bool bDeferChangeNotifications, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Set a new MaterialID on all the triangles of the given Selection.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * SetMaterialIDForMeshSelection ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, int MaterialID, bool bDeferChangeNotifications, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Assigns the Material ID to all the triangles specified by the Triangle ID List.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * SetMaterialIDOnTriangles ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptIndexList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptIndexList) TriangleIDList, int MaterialID, bool bDeferChangeNotifications, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Set a new MaterialID on all the triangles of TargetMesh with the given PolyGroup.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * SetPolygroupMaterialID ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptGroupLayer](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptGroupLayer) GroupLayer, int PolygroupID, int MaterialID, bool & bIsValidPolygroupID, bool bDeferChangeNotifications, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Assigns the specified triangle the given Material ID. If the Target Mesh does not have Material IDs enabled, or if the Triangle ID is not an element of the Target Mesh then bIsValidTriangle will be set to false.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * SetTriangleMaterialID ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, int TriangleID, int MaterialID, bool & bIsValidTriangle, bool bDeferChangeNotifications )


description: Apply a Mesh Bevel operation to parts of TargetMesh using the BevelOptions settings.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMeshBevelSelection ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, [EGeometryScriptMeshBevelSelectionMode](API\Plugins\GeometryScriptingCore\GeometryScript\EGeometryScriptM-_2) BevelMode, [FGeometryScriptMeshBevelSelectionOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptM-_1) BevelOptions, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Disconnect the triangles of TargetMesh identified by the Selection. The input Selection will still identify the same geometric elements after Disconnecting.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMeshDisconnectFaces ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, bool bAllowBowtiesInOutput, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Duplicate the triangles of TargetMesh identified by the Selection

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMeshDuplicateFaces ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) & NewTriangles, [FGeometryScriptMeshEditPolygroupOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptM-_3) GroupOptions, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: These functions may be deprecated in future UE releases.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMeshExtrude_Compatibility_5p0 ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshExtrudeOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptM-_4) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Apply an Inset or Outset to the faces of TargetMesh identified by the Selection, or all faces if the Selection is empty.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMeshInsetOutsetFaces ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshInsetOutsetFacesOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptM-_5) Options, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Apply Linear Extrusion (ie extrusion in a single direction) to the triangles of TargetMesh identified by the Selection. The input Selection will still identify the same geometric elements after the Extrusion

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMeshLinearExtrudeFaces ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshLinearExtrudeOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptM-_6) Options, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Offset the vertices of TargetMesh from their initial positions based on averaged vertex normals. This function is intended for high-res meshes, for polymodeling-style offsets, ApplyMeshOffsetFaces will produce better results.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMeshOffset ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshOffsetOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshOffsetOptions) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Apply an Offset to the faces of TargetMesh identified by the Selection, or all faces if the Selection is empty. The Offset direction at each vertex can be derived from the averaged vertex normals or per-triangle normals.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMeshOffsetFaces ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshOffsetFacesOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptM-_7) Options, [FGeometryScriptMeshSelection](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshSelection) Selection, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Apply a Mesh Bevel operation to all PolyGroup Edges.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMeshPolygroupBevel ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshBevelOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshBevelOptions) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Create a thickened shell from TargetMesh by offsetting the vertex positions along averaged vertex normals, inwards or outwards. Similar to ApplyMeshOffset but also includes the initial mesh (possibly flipped, if the offset is positive)

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ApplyMeshShell ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptMeshOffsetOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptMeshOffsetOptions) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Attempt to repair inconsistent normals in TargetMesh. Currently this is done in two passes. In the first pass, triangles with reversed orientation from their neighours are incrementally flipped until each connected component has a consistent orientation, if this is possible (note that this is not always globally possible, eg for a mobius-strip topology there is no consistent orientation). In the second pass, the "global" orientation is detected by casting rays from outside the mesh. This may produce incorrect results for meshes that are not closed.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * AutoRepairNormals ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Recompute hard edges / split-normals for TargetMesh based on the provided SplitOptions, and then recompute the new shared triangle-vertex normals using the given CalculateOptions. The normal recomputation is identical to calling RecomputeNormals.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ComputeSplitNormals ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptSplitNormalsOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptS-_8) SplitOptions, [FGeometryScriptCalculateNormalsOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptC-) CalculateOptions, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: If recomputing Tangents for use with a DynamicMeshComponent, it is also necessary to set the Tangents Type on the Component to "Externally Provided"

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * ComputeTangents ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptTangentsOptions](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptTangentsOptions) Options, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Remove any existing Tangents Attribute Layer from the TargetMesh

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * DiscardTangents ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Flip/Invert the normal vectors of TargetMesh by multiplying them by -1, as well as reversing the mesh triangle orientations, ie triangle (a,b,c) becomes (b,a,c)

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * FlipNormals ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Check if the TargetMesh has a Tangents Attribute Layer enabled

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * GetMeshHasTangents ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, bool & bHasTangents, [UGeometryScriptDebug](API\Plugins\GeometryScriptingCore\GeometryScript\UGeometryScriptDebug) * Debug )


description: Get a list of single normal vectors for each mesh vertex in the TargetMesh, derived from the Normals Overlay. The Normals Overlay may store multiple normals for a single vertex (ie split normals) In such cases the normals can either be averaged, or the last normal seen will be used, depending on the bAverageSplitVertexValues parameter.

code: static [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * GetMeshPerVertexNormals ( [UDynamicMesh](API\Runtime\GeometryFramework\UDynamicMesh) * TargetMesh, [FGeometryScriptVectorList](API\Plugins\GeometryScriptingCore\GeometryScript\FGeometryScriptVectorList) & NormalList, bool & bIsValidNormalSet, bool & bHasVertexIDGaps, bool bAverageSplitVertexValues )