UOctreeDynamicMeshComponent

[UOctreeDynamicMeshComponent](API\Plugins\ModelingComponents\UOctreeDynamicMeshComponent) is a mesh component similar to [UProceduralMeshComponent](API\Plugins\ProceduralMeshComponent\UProceduralMeshComponent), except it bases the renderable geometry off an internal [FDynamicMesh3](API\Plugins\DynamicMesh\FDynamicMesh3) instance.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

ModelingComponents

Header

/Engine/Plugins/Experimental/MeshModelingToolset/Source/ModelingComponents/Public/OctreeDynamicMeshComponent.h

Include

#include "OctreeDynamicMeshComponent.h"

Syntax

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

Remarks

UOctreeDynamicMeshComponent is a mesh component similar to UProceduralMeshComponent, except it bases the renderable geometry off an internal FDynamicMesh3 instance. The class generally has the same capabilities as USimpleDynamicMeshComponent.

A FDynamicMeshOctree3 is available to dynamically track the triangles of the mesh (however the client is responsible for updating this octree). Based on the Octree, the mesh is partitioned into chunks that are stored in separate RenderBuffers in the FOctreeDynamicMeshSceneProxy. Calling NotifyMeshUpdated() will result in only the "dirty" chunks being updated, rather than the entire mesh.

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

Variables

Name Description

Public variable UProperty

bool

 

bExplicitShowWireframe

If true, we always show the wireframe on top of the shaded mesh, even when not in wireframe mode

Public variable

FSimpleMulticas...

 

OnMeshChanged

This delegate fires when a FCommandChange is applied to this component, so that parent objects know the mesh has changed.

Public variable

TFunction< FCol...

 

TriangleColorFunc

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

Constructors

Name Description

Public function

UOctreeDynamicMeshComponent

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function

void

 

Bake

(
    FMeshDescription* MeshDescript...,
    bool bHaveModifiedTopology
)

Write the internal mesh to a MeshDescription with default conversion options

Public function

TUniquePtr< ...

 

ExtractMesh

(
    bool bNotifyUpdate
)

Public function

FDynamicMesh...

 

GetOctree()

Overridden from UBaseDynamicMeshComponent

Name Description

Public function Virtual

void

 

ApplyTransform

(
    const FTransform3d& Transform,
    bool bInvert
)

Apply transform to internal mesh. Invalidates RenderProxy.

Public function Virtual

void

 

Bake

(
    FMeshDescription* MeshDescript...,
    bool bHaveModifiedTopology,
    const FConversionToMeshDescriptionO...
)

Write the internal mesh to a MeshDescription

Public function Virtual Const

bool

 

EnableWireframeRenderPass()

Public function Virtual

FDynamicMesh...

 

GetMesh()

Public function Virtual Const

const FDynam...

 

GetMesh()

Public function Virtual

void

 

InitializeMesh

(
    FMeshDescription* MeshDescript...
)

Initialize the internal mesh from a MeshDescription

Protected function Virtual

void

 

NotifyMaterialSetUpdated()

This is called to tell our RenderProxy about modifications to the material set.

Public function Virtual

void

 

NotifyMeshUpdated()

Change tracking/etc Call this if you update the mesh via GetMesh()

Public function Virtual

void

 

SetEnableWireframeRenderPass

(
    bool bEnable
)

Configure whether wireframe rendering is enabled or not

Overridden from IMeshVertexCommandChangeTarget

Name Description

Public function Virtual

void

 

ApplyChange

(
    const FMeshVertexChange* Chang...,
    bool bRevert
)

Apply a vertex deformation change to the internal mesh

Overridden from IMeshCommandChangeTarget

Name Description

Public function Virtual

void

 

ApplyChange

(
    const FMeshChange* Change,
    bool bRevert
)

Apply a general mesh change to the internal mesh

Overridden from IMeshReplacementCommandChangeTarget

Name Description

Public function Virtual

void

 

ApplyChange

(
    const FMeshReplacementChange* ...,
    bool bRevert
)

Apply a general mesh replacement change to the internal mesh

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss