FDynamicMeshAttributeSet

[FDynamicMeshAttributeSet](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshAttributeSet) manages a set of extended attributes for a [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3).

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

TDynamicAttributeSetBase

FDynamicMeshAttributeSet

References

Module

GeometryCore

Header

/Engine/Source/Runtime/GeometryCore/Public/DynamicMesh/DynamicMeshAttributeSet.h

Include

#include "DynamicMesh/DynamicMeshAttributeSet.h"

Syntax

class FDynamicMeshAttributeSet : public UE::Geometry::TDynamicAttributeSetBase< FDynamicMesh3 >

Remarks

FDynamicMeshAttributeSet manages a set of extended attributes for a FDynamicMesh3. This includes UV and Normal overlays, etc.

Currently the default is to always have one UV layer and one Normal layer, but the number of layers can be requested on construction.

Variables

Constructors

Name Description

Public function

FDynamicMeshAttributeSet

(
    FDynamicMesh3* Mesh
)

Public function

FDynamicMeshAttributeSet

(
    FDynamicMesh3* Mesh,
    int32 NumUVLayers,
    int32 NumNormalLayers
)

Destructors

Name Description

Public function Virtual

~FDynamicMeshAttributeSet()

Functions

Name Description

Public function

void

 

AttachAttribute

(
    FName AttribName,
    FDynamicMeshAttributeBase* Att...
)

Attach a new attribute (and transfer ownership of it to the attribute set)

Public function

void

 

AttachSkinWeightsAttribute

(
    FName InProfileName,
    FDynamicMeshVertexSkinWeightsAttrib...
)

Skin weights Create a new skin weights attribute with a given skin weights profile name.

Public function

void

 

CompactCopy

(
    const FCompactMaps& CompactMaps,
    const FDynamicMeshAttributeSet& Co...
)

Performs a CompactCopy of the attached overlays/attributes.

Public function

void

 

CompactInPlace

(
    const FCompactMaps& CompactMaps
)

Compacts the attribute set in place Called by the parent mesh CompactInPlace function

Public function

void

 

Copy

(
    const FDynamicMeshAttributeSet& Co...
)

Public function

void

 

DisableMaterialID()

Public function

void

 

DisablePrimaryColors()

Public function

void

 

DisableTangents()

Disable Tangents overlays

Public function

void

 

EnableMatchingAttributes

(
    const FDynamicMeshAttributeSet& To...
)

Enable the matching attributes and overlay layers as the reference Copy set, but do not copy any data across

Public function

void

 

EnableMaterialID()

Public function

void

 

EnablePrimaryColors()

Public function

void

 

EnableTangents()

Enable Tangents overlays (Tangent = Normal layer 1, Bitangent = Normal layer 2)

Public function Const

FDynamicMesh...

 

GetAttachedAttribute

(
    FName AttribName
)

Public function Const

const TMap< ...

 

GetAttachedAttributes()

Public function

FDynamicMesh...

 

GetMaterialID()

Public function Const

const FDynam...

 

GetMaterialID()

Public function Const

const FDynam...

 

GetNormalLayer

(
    int Index
)

Public function

FDynamicMesh...

 

GetNormalLayer

(
    int Index
)

Public function

FDynamicMesh...

 

GetParentMesh()

Public function Const

const FDynam...

 

GetParentMesh()

Public function Const

const FDynam...

 

GetPolygroupLayer

(
    int Index
)

Public function

FDynamicMesh...

 

GetPolygroupLayer

(
    int Index
)

Public function Const

FDynamicMesh...

 

GetSkinWeightsAttribute

(
    FName InProfileName
)

Returns a pointer to a skin weight attribute of the given profile name.

Public function Const

const TMap< ...

 

GetSkinWeightsAttributes()

Returns a map of all skin weight attributes.

Public function

FDynamicMesh...

 

GetUVLayer

(
    int Index
)

Public function Const

const FDynam...

 

GetUVLayer

(
    int Index
)

Public function Const

bool

 

HasAttachedAttribute

(
    FName AttribName
)

Public function Const

bool

 

HasMaterialID()

Per-Triangle Material ID

Public function Const

bool

 

HasPrimaryColors()

Public function Const

bool

 

HasSkinWeightsAttribute

(
    FName InProfileName
)

Returns true if the list of skin weight attributes includes the given profile name.

Public function Const

bool

 

HasTangentSpace()

Protected function

void

 

Initialize

(
    int MaxVertexID,
    int MaxTriangleID
)

Initialize the existing attribute layers with the given vertex and triangle sizes

Public function

bool

 

IsCompact()

Returns true if the attached overlays/attributes are compact

Public function Virtual Const

bool

 

IsMaterialBoundaryEdge

(
    int EdgeID
)

Public function Const

bool

 

IsSameAs

(
    const FDynamicMeshAttributeSet& Ot...,
    bool bIgnoreDataLayout
)

Returns true if this AttributeSet is the same as Other.

Public function Virtual Const

bool

 

IsSeamEdge

(
    int EdgeID
)

Public function Virtual Const

bool

 

IsSeamEdge

(
    int EdgeID,
    bool& bIsUVSeamOut,
    bool& bIsNormalSeamOut,
    bool& bIsColorSeamOut
)

Public function Virtual Const

bool

 

IsSeamEndEdge

(
    int EdgeID
)

Public function Virtual Const

bool

 

IsSeamVertex

(
    int VertexID,
    bool bBoundaryIsSeam
)

Public function Const

int

 

NumAttachedAttributes()

Public function Virtual Const

int

 

NumNormalLayers()

Normal Layers

Public function Virtual Const

int32

 

NumPolygroupLayers()

Polygroup layers

Public function Virtual Const

int

 

NumUVLayers()

UV Layers

Public function Const

const FDynam...

 

PrimaryBiTangents()

Public function

FDynamicMesh...

 

PrimaryBiTangents()

Public function Const

const FDynam...

 

PrimaryColors()

Public function

FDynamicMesh...

 

PrimaryColors()

Public function Const

const FDynam...

 

PrimaryNormals()

Public function

FDynamicMesh...

 

PrimaryNormals()

Public function Const

const FDynam...

 

PrimaryTangents()

Public function

FDynamicMesh...

 

PrimaryTangents()

Public function Const

const FDynam...

 

PrimaryUV()

Public function

FDynamicMesh...

 

PrimaryUV()

Public function

void

 

RemoveAttribute

(
    FName AttribName
)

Public function

void

 

RemoveSkinWeightsAttribute

(
    FName InProfileName
)

Remove a skin weights attribute matching the given profile name.

Public function

void

 

Serialize

(
    FArchive& Ar,
    const FCompactMaps* CompactMap...,
    bool bUseCompression
)

Serialize to and from an archive.

Public function Virtual

void

 

SetNumNormalLayers

(
    int Num
)

Set number of Normals (3-vector float overlay) layers

Public function Virtual

void

 

SetNumPolygroupLayers

(
    int32 Num
)

Set the number of Polygroup layers

Public function Virtual

void

 

SetNumUVLayers

(
    int Num
)

Set number of UV (2-vector float overlay) layers

Public function

void

 

SplitAllBowties

(
    bool bParallel
)

Split all bowtie vertices in all layers

Overridden from TDynamicAttributeSetBase

Name Description

Protected function Virtual Const

bool

 

CheckValidity

(
    bool bAllowNonmanifold,
    EValidityCheckFailMode FailMode
)

Check validity of attributes

Protected function Virtual

void

 

OnCollapseEdge

(
    const DynamicMeshInfo::FEdgeCollaps...
)

Protected function Virtual

void

 

OnFlipEdge

(
    const DynamicMeshInfo::FEdgeFlipInf...
)

Protected function Virtual

void

 

OnMergeEdges

(
    const DynamicMeshInfo::FMergeEdgesI...
)

Protected function Virtual

void

 

OnNewTriangle

(
    int TriangleID,
    bool bInserted
)

These functions are called by the FDynamicMesh3 to update the various attributes when the parent mesh topology has been modified.

Protected function Virtual

void

 

OnNewVertex

(
    int VertexID,
    bool bInserted
)

Protected function Virtual

void

 

OnPokeTriangle

(
    const DynamicMeshInfo::FPokeTriangl...
)

Protected function Virtual

void

 

OnRemoveTriangle

(
    int TriangleID
)

Protected function Virtual

void

 

OnRemoveVertex

(
    int VertexID
)

Protected function Virtual

void

 

OnReverseTriOrientation

(
    int TriangleID
)

Protected function Virtual

void

 

OnSplitEdge

(
    const DynamicMeshInfo::FEdgeSplitIn...
)

Mesh-specific on* functions; may be split out

Protected function Virtual

void

 

OnSplitVertex

(
    const DynamicMeshInfo::FVertexSplit...,
    const TArrayView< const int >& Tri...
)

Typedefs