FDynamicMeshAttributeSet

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

Windows
MacOS
Linux

Inheritance Hierarchy

TDynamicAttributeSetBase

FDynamicMeshAttributeSet

References

Module

DynamicMesh

Header

/Engine/Plugins/Experimental/GeometryProcessing/Source/DynamicMesh/Public/DynamicMeshAttributeSet.h

Include

#include "DynamicMeshAttributeSet.h"

Syntax

class FDynamicMeshAttributeSet : public 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

Name Description

Protected variable

TMap< FName, TU...

 

GenericAttributes

Protected variable

TUniquePtr< FDy...

 

MaterialIDAttrib

Protected variable

TIndirectArray<...

 

NormalLayers

Protected variable

FDynamicMesh3 &...

 

ParentMesh

Parent mesh of this attribute set

Protected variable

TIndirectArray<...

 

PolygroupLayers

Protected variable

TIndirectArray<...

 

UVLayers

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

 

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

 

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

 

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

FDynamicMesh...

 

GetPolygroupLayer

(
    int Index
)

Public function Const

const FDynam...

 

GetPolygroupLayer

(
    int Index
)

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

 

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 Virtual Const

bool

 

IsSeamEdge

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

Public function Virtual Const

bool

 

IsSeamEdge

(
    int EdgeID
)

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

FDynamicMesh...

 

PrimaryBiTangents()

Public function Const

const FDynam...

 

PrimaryBiTangents()

Public function Const

const FDynam...

 

PrimaryNormals()

Public function

FDynamicMesh...

 

PrimaryNormals()

Public function Const

const FDynam...

 

PrimaryTangents()

Public function

FDynamicMesh...

 

PrimaryTangents()

Public function

FDynamicMesh...

 

PrimaryUV()

Public function Const

const FDynam...

 

PrimaryUV()

Public function

void

 

RemoveAttribute

(
    FName AttribName
)

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...
)

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